По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
В этой статье мы рассмотрим процесс установки и настройки режима Docker Swarm на сервере Ubuntu 16.04.
Docker Swarm является стандартным инструментом кластеризации для Docker, преобразующий набор хостов Docker в один последовательный кластер, называемый Swarm. Docker Swarm обеспечивает доступность и высокую производительность работы, равномерно распределяя ее по хостингам Docker внутри кластера.
Установка Docker Swarm:
Перед началом обновите Ваш системный репозиторий до последней версии с помощью следующей команды:
sudo apt-get update -y && sudo apt-get upgrade -y
После обновления следует выполнить перезагрузку системы. Необходимо еще установить среду Docker. По умолчанию Docker не доступен в репозитории Ubuntu 16.04, поэтому сначала необходимо создать хранилище Docker и начать установку с помощью следующей команды:
sudo apt-get install apt-transport-https software-properties-common ca-certificates -y:
Добавляем GPG ключ для Docker:
wget https://download.docker.com/linux/ubuntu/gpg && sudo apt-key add gpg
Добавляем репозиторий Docker и обновляем с помощью команды:
sudo echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" >> /etc/apt/sources.list sudo apt-get update -y
Установка среды Docker с помощью следующей команды:
sudo apt-get install docker-ce -y
После установки запустите службу Docker во время загрузки с помощью следующей команды:
sudo systemctl start docker && sudo systemctl enable docker
Для запуска Docker необходимы root права, а для других юзеров доступ получается только с помощью sudo. При необходимости запустить docker без использования sudo, есть возможность создать Unix и включить в него необходимых пользователей за счет выполнения следующих строк кода:
sudo groupadd docker && sudo usermod -aG docker dockeruser
Затем выйдя из системы, делаем вход через dockeruser.
sudo ufw allow 2376/tcp && sudo ufw allow 7946/udp && sudo ufw allow 7946/tcp && sudo ufw allow 80/tcp && sudo ufw allow 2377/tcp && sudo ufw allow 4789/udp
Затем перезагрузите брандмауэр, включив его при загрузке
sudo ufw reload && sudo ufw enable
Выполните перезагрузку “Докера”:
sudo systemctl restart docker
Создавая Docker Swarm кластер, необходимо определиться с IP-адресом, за счет которого ваш узел будет действовать в качестве диспетчера:
docker swarm init --advertise-addr 192.168.0.103
Вы должны увидеть следующий вывод:
Swarm initialized: current node (iwjtf6u951g7rpx6ugkty3ksa) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-5p5f6p6tv1cmjzq9ntx3zmck9kpgt355qq0uaqoj2ple629dl4-5880qso8jio78djpx5mzbqcfu 192.168.0.103:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
Проверяем его состояние:
docker node ls
Если все работает правильно, вы должны увидеть следующий вывод:
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
iwjtf6u951g7rpx6ugkty3ksa * Manager-Node Ready Active Leader
Проверка статуса Docker Swarm Cluster осуществляется следующим образом:
code> docker info
Вывод должен быть следующим:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 17.09.0-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: active
NodeID: iwjtf6u951g7rpx6ugkty3ksa
Is Manager: true
ClusterID: fo24c1dvp7ent771rhrjhplnu
Managers: 1
Nodes: 1
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot Interval: 10000
Number of Old Snapshots to Retain: 0
Heartbeat Tick: 1
Election Tick: 3
Dispatcher:
Heartbeat Period: 5 seconds
CA Configuration:
Expiry Duration: 3 months
Force Rotate: 0
Autolock Managers: false
Root Rotation In Progress: false
Node Address: 192.168.0.103
Manager Addresses:
192.168.0.103:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
init version: 949e6fa
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.4.0-45-generic
Operating System: Ubuntu 16.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 992.5MiB
Name: Manager-Node
ID: R5H4:JL3F:OXVI:NLNY:76MV:5FJU:XMVM:SCJG:VIL5:ISG4:YSDZ:KUV4
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Узел теперь настроен правильно, пришло время добавить его в Swarm Cluster. Сначала скопируйте вывод команды «swarm init» из вывода результата выше, а затем вставьте этот вывод в рабочий узел для присоединения к Swarm Cluster:
docker swarm join --token SWMTKN-1-5p5f6p6tv1cmjzq9ntx3zmck9kpgt355qq0uaqoj2ple629dl4-5880qso8jio78djpx5mzbqcfu 192.168.0.103:2377
Вы должны увидеть следующий вывод:
This node joined a swarm as a worker.
Теперь выполните следующую команду для вывода списка рабочего узла:
docker node ls
Вы должны увидеть информацию следующего вида:
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
iwjtf6u951g7rpx6ugkty3ksa * Manager-Node Ready Active Leader
snrfyhi8pcleagnbs08g6nnmp Worker-Node Ready Active
Docker Swarm Cluster запущен и работает, теперь можно запустить веб-сервис в Docker Swarm Mode. За счет следующей строки кода выполнится развертывание службы веб-сервера:
docker service create --name webserver -p 80:80 httpd
Приведенная выше строка создаст контейнер веб-сервера Apache и сопоставит его с 80 портом, позволив иметь полный доступ к необходимому веб-серверу Apache из удаленной системы. Теперь запускаем проверку работающего сервиса с помощью команды:
docker service ls
Вы должны увидеть следующий вывод:
ID NAME
MODE REPLICAS IMAGE PORTS
nnt7i1lipo0h webserver replicated 0/1 apache:latest *:80->80/tcp
Запустите службу масштабирования веб-сервера с помощью строки:
docker service scale webserver = 2
А также проверьте состояние с помощью команды:
docker service ps webserver
Вы должны увидеть следующий вывод:
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
7roily9zpjvq webserver.1 httpd:latest Worker-Node Running Preparing about a minute ago
r7nzo325cu73 webserver.2 httpd:latest Manager-Node Running Preparing 58 seconds ago
Веб-сервер Apache работает. Теперь вы можете получить доступ к веб-серверу:
Служба веб-сервера Apache теперь распределена по двум узлам. Docker Swarm обеспечивает доступность вашего сервиса. Если веб-сервер отключается на рабочем узле, то новый контейнер будет запущен на узле менеджера. Для проверки доступности следует остановить службу Docker на рабочем узле:
sudo systemctl stop docker
Запустите службу веб-сервера с помощью команды:
docker service ps webserver
Вы должны увидеть следующую информацию:
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
ia2qc8a5f5n4 webserver.1 httpd:latest Manager-Node Ready Ready 1 second ago
7roily9zpjvq \_ webserver.1 httpd:latest Worker-Node Shutdown Running 15 seconds ago r7nzo325cu73 webserver.2 httpd:latest Manager-Node Running Running 23 minutes ago
С помощью данной статьи, вы смогли установить и настроить кластер Docker Swarm для ОС Ubuntu 16.04. Теперь вы можете легко масштабировать свое приложение в кластере до тысячи узлов и пятидесяти тысяч контейнеров без существенной потери производительности.
В этой статье я расскажу как за 5 минут сделать простой AUTODIAL для FreeSWITCH.
Нам потребуется текстовый файл с номерами, которые должны быть записаны построчно;
Простенький Lua-скрипт.
Начнем. Создаем текстовый файл Test.txt. В него для теста пишем внутренние номера абонентов FS:
1000
1001
1002
Сохраняем его в папку по адресу, к примеру /usr/local/freeswitch/scripts/Test.txt. Далее нужно написать Lua-скрипт с названием autodial.lua с примерно таким содержанием:
local file = io.open("/usr/local/freeswitch/scripts/Test.txt", "r");
local legB = "loopback/9174";
local timeout = "25";
for line in file:lines() do
print(line);
session1 = freeswitch.Session("{origination_caller_id_name=Call 9174, origination_caller_id_number=9174, call_timeout=".. timeout .."}user/".. line .."");
session2 = freeswitch.Session("{origination_caller_id_number=".. line .."}".. legB .."");
freeswitch.msleep(1000);
freeswitch.bridge(session1, session2);
end
На номере 9174 у нас играет музыка "Европа +" :) Вы же можете маршрутизировать куда угодно. Заходим в CLI FS командой: fs_cli -rRS и запускаем наш Lua-скрипт командой:
luarun autodial.lua
Радуемся. Автообзвон на FreeSWITCH начал прозванивать номера по списку из файла и соединять с нужным номером :)
CentOS Web Panel (CWP) поможет легко установить стек LAMP или LEMP. Это бесплатное решение и работает на CentOS.
Если вы ищете место для размещения CMS вроде WordPress, Joomla и т.д., или PHP-приложения, где вам нужен веб-сервер, база данных, электронные письма, мониторинг и безопасность, то у вас есть два варианта.
Вы приобретаете виртуальную машину у одног из публичных облачных провайдеров и устанавливаете каждое программное обеспечение вручную. Это может занять много времени, и вам нужны навыки системного администрирования.
Или же выбираете способ попроще - вы получаете облачную виртуальную машину и устанавливаете CWP. Затем вы устанавливаете необходимое программное обеспечение через графический интерфейс пользователя. Это займет гораздо меньше времени, чем делать это вручную.
CWP позволяет установить более 50 программ/компонентов, самые популярные из которых указаны ниже.
Веб-стек - Apache, Nginx, Varnish
Стек приложений - PHP-FPM, MySQL, PostgreSQL, phpMyAdmin
Безопасность - сертификаты TLS, брандмауэр CSF, Mod Security с правилами OWASP
DNS и электронная почта - DNS-сервер, почтовые ящики, AntiSpam, Postfix
Мониторинг - метрики сервера, такие как CPU, файловая система, память
Диспетчер файлов
Crontab
В целом она выглядит многообещающим для размещения приложений на основе PHP. Давайте установим CWP и посмотрим, как он выглядит.
Установка CWP на CentOS
Следующая демонстрация выполняется на виртуальной машине Kamatera.
Войдите на сервер CentOS 7.x с учетной записью root-а или учетной записью с привилегией sudo
Выполните следующую команду для обновления YUM и установки CWP
yum -y install wget
yum -y update
wget http://centos-webpanel.com/cwp-el7-latest
sh cwp-el7-latest
Установка займет несколько минут. После окончания вы должны получить соответствующее уведомление.
#############################
# CWP Installed #
#############################
Go to CentOS WebPanel Admin GUI at http://SERVER_IP:2030/
http://167.71.1x1.xx:2030
SSL: https://167.71.1x1.xx:2031
Для вступления изменений в силу потребуется перезагрузка, которую можно выполнить командой:
shutdown -r now
К веб-панели CWP можно подключиться по 2030 (HTTP) и 2031 (HTTPS) портам. При первом входе в качестве имени пользователя можно использовать root и его пароль, и после входа в систему вы должны увидеть что-то подобное.
Интерфейс выглядит аккуратным и чистым. В левой части навигации можно найти все параметры, необходимые для установки, настройки и управления программным обеспечением и сервером.