По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В этой статье мы рассмотрим процесс установки и настройки режима 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. Теперь вы можете легко масштабировать свое приложение в кластере до тысячи узлов и пятидесяти тысяч контейнеров без существенной потери производительности.
img
Hyper-V - это платформа виртуализации в Windows Server. Hyper-V используется для создания виртуальных машин. Гипервизор также интегрирован в саму структуру облака Microsoft Azure. Эту роль можно включить и в некоторых выпусках Windows 10. Из этого следует, что можно переносить виртуальную машину из Windows 10 в Windows Server, в Azure и обратно без изменения формата виртуальной машины. В этой статье рассмотрим тему использования оперативной памяти машины Hyper-V. Динамическая память Имеется два варианта выделения памяти виртуальным машинам. Может назначаться статический объем памяти или установить параметр динамической памяти. Если назначается статическая величина, то этот объем памяти остается неизменным, независимо в каком состоянии находится виртуальная машина. При установке динамической памяти в Параметрах можно настроить следующие значения через Windows Admin Center или Консоль Hyper-V: Startup Memory - это тот объем памяти, который нужен для старта гостевой машины. Он может быть таким же, как минимальный объем памяти, или может быть таким же, как максимальный объем выделенной памяти. После запуска виртуальная машина вместо этого будет использовать то значение, которое указано, как минимальный объем памяти. Минимальный объем (Minimum Memory. - т.е. меньше указанного значения сервер виртуализации не выделит объем памяти при использовании динамического распределения. Если нескольким виртуальным машинам требуется больше памяти, Hyper-V может уменьшить объем другой виртуальной машины до тех пор, пока не будет достигнуто значение минимального ее объема. Вы можете уменьшить параметр минимального объема памяти во время работы виртуальной машины, но не можете увеличить его, когда виртуальная машина работает. Максимальный объем памяти (Maximum Memory) - это максимальное значение объема памяти, которое будет выделять хостом виртуализации при включении динамической памяти для виртуальной машины. Вы можете увеличить максимальный объем памяти во время работы виртуальной машины, но не можете уменьшить его, пока виртуальная машина работает. Memory Buffer - процент памяти, который хост должен выделить виртуальной машине в качестве резерва. Memory Weight - позволяет настроить способ распределения памяти для разных гостевых систем по отношению друг к другу, запускающихся на том же узле виртуализации. Как правило, когда вы настраиваете динамическую память, объем используемой памяти будет колебаться между значениями Минимум и Максимум. Следует проводить мониторинг использования памяти ВМ и настраивать эти значения так, чтобы они точно отражали фактические потребности виртуальной машины. в Случае, когда будет выделено минимальное значение памяти ниже того, что фактически необходимо для запуска виртуальной машины, эта нехватка может привести к тому, что узел виртуализации уменьшит объем памяти, выделенной для этого минимального значения памяти, что приведет к остановке работы виртуальной машины. Smart paging - это специальная технология в Hyper-V, которая работает в определенных условиях при перезагрузке виртуальной машины. Smart paging использует файл на диске для имитации ОЗУ удовлетворения требований к загрузочной памяти, когда значение параметра Startup Memory (память, выделяемая на момент запуска) превышает значение Minimum Memory. Например, вы можете выставить стартовую память на 2048 МБ и минимальную память на 512 МБ для конкретной виртуальной машины. В сценарии, когда на узле виртуализации было доступно 1024 МБ свободной памяти, интеллектуальная подкачка позволит виртуальной машине получить доступ к требуемым 2048 МБ памяти. Интеллектуальная подкачка активна только в том случае, если одновременно выполняются следующие три условия: Виртуальная машина перезагружается. На хосте виртуализации не хватает памяти для соответствия параметру Startup Memory. Память не может быть освобождена от других виртуальных машин, работающих на том же хосте. Smart paging не позволит виртуальной машине выполнять "холодный запуск", если необходимый объем памяти для запуска недоступен, но доступен минимальный объем памяти. Функционал используется только тогда, когда виртуальная машина, которая уже работала, перезагружается и выполняются два вышеуказанных условия. Расположение файла для каждой виртуальной машины можно изменять. По умолчанию они создаются в папке C:ProgramDataMicrosoftWindowsHyper-V. Файл интеллектуальной подкачки создается только при необходимости и удаляется в течение 10 минут после перезапуска виртуальной машины. Расположение файла можно изменить, используя графический интерфейс консоли Hyper-V или командлетом PowerShell, например: Set-VM "Windows 10" -SmartPagingFilePath D:SmartPaging
img
Linux обеспечивает детальный контроль над системными службами через systemd с помощью команды systemctl. Службы могут быть включены, выключены, перезапущены, перезагружены или даже включены или отключены при загрузке. Если вы используете Debian, CentOSили Ubuntu, ваша система, вероятно, использует systemd. Это руководство покажет вам, как использовать основные команды для запуска, остановки и перезапуска служб в Linux. Базовый синтаксис команды systemctl Основной синтаксис для использования команды systemctl: systemctl [command] [service_name] Как правило, вам нужно запускать это как суперпользователь поэтому команды будут начинаться с sudo. Как проверить, работает ли служба в Linux Чтобы проверить, активна ли служба или нет, выполните следующую команду: sudo systemctl status SERVICE_NAME Замените SERVICE_NAME на нужный сервис. В нашем случае мы будем брать за пример веб-сервер Apache. Интересный факт: в Ubuntu и других дистрибутивах на основе Debian служба Apache называется apache2. В CentOS и других дистрибутивах RedHat служба Apache называется httpd или httpd.service sudo systemctl status apache2 Так мы проверили состояние Apache. Выходные данные показывают, что служба активна (работает), как на рисунке ниже: Как перезапустить сервис Чтобы остановить и перезапустить службу в Linux, используйте команду: sudo systemctl restart SERVICE_NAME Где SERVICE_NAME - имя вашего сервиса. После выполнения команды ваш сервис должен снова заработать. Вы можете проверить состояние с помощью команды status Для перезапуска нашего сервера Apache используем: sudo systemctl restart apache2 Как перезагрузить конфигурационные файлы сервиса Чтобы служба перезагрузила свои файлы конфигурации, введите в терминале следующую команду: sudo systemctl reload SERVICE_NAME После перезагрузки проверьте ее состояние командой status для подтверждения. В нашем примере мы перезагрузили Apache, используя: sudo systemctl reload apache2 Как запустить сервис Чтобы запустить службу в Linux вручную, введите в терминале следующее: sudo systemctl start SERVICE_NAME Например, команда для запуска службы Apache: sudo systemctl start apache2 Как остановить сервис Чтобы остановить активную службу в Linux, используйте следующую команду: sudo systemctl stop SERVICE_NAME Для нашего апача используем команду sudo systemctl stop apache2 Проверьте, остановился ли сервис с помощью команды status. Вывод должен показать, что сервис неактивен - inactive (dead) Как включить сервис при загрузке Чтобы настроить службу для запуска при загрузке системы, используйте команду: sudo systemctl enable SERVICE_NAME Чтобы включить Apache при загрузке системы, выполните команду: sudo systemctl enable apache2 Как отключить сервис при загрузке Вы можете запретить запуск службы при загрузке с помощью команды: sudo systemctl disable SERVICE_NAME Например: sudo systemctl disable apache2
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59