One place for hosting & domains

      Machine

      Настройка многоузловых развертываний с Rancher 2.1, Kubernetes и Docker Machine в Ubuntu 18.04


      Автор выбрал Code Org для получения пожертвования в рамках программы Write for DOnations.

      Введение

      Rancher — это популярная платформа управления контейнерами с открытым исходным кодом. Выпущенная в начале 2018 года версия Rancher 2.X работает на Kubernetes и включает новые инструменты, такие как управление несколькими кластерами и встроенные CI конвейеры. Помимо повышенной безопасности, масштабируемости и простых инструментов развертывания, уже имеющихся в Kubernetes, Rancher предлагает графический пользовательский интерфейс, упрощающий управление контейнерами. Благодаря графическому интерфейсу Rancher пользователи смогут управлять секретами, безопасно обрабатывать роли и разрешения, масштабировать узлы и поды, а также выполнять настройку средств распределения нагрузки и томов без необходимости использования инструментов командной строки или сложных файлов YAML.

      В этом руководстве мы будем разворачивать многоузловой сервер Rancher 2.1 с помощью Docker Machine в Ubuntu 18.04. По окончании руководства вы сможете предоставить новые дроплеты DigitalOcean и поды контейнеров через пользовательский интерфейс Rancher для быстрого расширения или сокращения вашей среды хостинга.

      Предварительные требования

      Перед прохождением этого обучающего руководства вам потребуется учетная запись DigitalOcean, а также следующее:

      • Маркер персонального доступа DigitalOcean, который вы можете создать в соответствии с указаниями этого руководства. Этот маркер позволит Rancher получить через API доступ к учетной записи DigitalOcean.

      • Полное зарегистрированное доменное имя с записью A, которая указывает на IP-адрес дроплета, создаваемый на шаге 1. Вы можете узнать, как привязывать домены к дроплетам DigitalOcean, ознакомившись с документацией по доменам и DNS DigitalOcean. В данном руководстве замените example.com на ваш домен.

      Шаг 1 — Создание дроплета с установленным Docker

      Чтобы запустить и настроить Rancher, вам нужно будет создать новый дроплет с установленным Docker. Для этого нужно использовать образ Docker DigitalOcean.

      Войдите в учетную запись DigitalOcean и выберите Create Droplet (Создать дроплет). Затем в разделе Choose an Image (Выбрать образ) выберите вкладку Marketplace (Магазин). Выберите Docker 18.06.1~ce~3 on 18.04.

      Выберите образ Docker 18.06 в меню доступных одним нажатием приложений

      Далее выберите дроплет размером не менее 2 ГБ и укажите регион центра обработки данных для вашего дроплета.

      После этого добавьте ключи SSH, укажите имя хоста для дроплета и нажмите Create (Создать).

      Может потребоваться несколько минут для организации работы сервера и загрузки Docker. После успешного развертывания дроплета вы можете запустить Rancher в новом контейнере Docker.

      Шаг 2 — Запуск и настройка Rancher

      Дроплет, созданный на шаге 1, будет запускать Rancher в контейнере Docker. На этом шаге вы запустите контейнер Rancher и убедитесь, что у него есть сертификат SSL от Let’s Encrypt для получения защищенного доступа к панели администратора Rancher. Let’s Encrypt — это автоматизированный издатель сертификатов с открытым исходным кодом, позволяющий разработчикам получать действующие в течение 90 дней сертификаты SSL бесплатно.

      Выполните вход в новый дроплет:

      Чтобы убедиться, что Docker запущен, введите:

      Проверьте, что указанная версия Docker соответствует вашим ожиданиям. Вы можете запустить Rancher с уже установленным сертификатом Let’s Encrypt с помощью следующей команды:

      • docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v /host/rancher:/var/lib/rancher rancher/rancher --acme-domain example.com

      Параметр --acme-domain устанавливает сертификат SSL от Let’s Encrypt для обеспечения того, что администратор Rancher обслуживается через HTTPS. Этот скрипт также указывает дроплету выполнить выборку образа Docker rancher/rancher и запускать экземпляр Rancher в контейнере, который автоматически перезапускается в случае аварийного завершения работы. Для облегчения восстановления в случае потери данных скрипт монтирует том на компьютер хоста (в /host/rancher), который содержит данные Rancher.

      Для просмотра всех запущенных контейнеров введите:

      Вы увидите примерно следующий вывод (с уникальным идентификатором и именем контейнера):

      Output

      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7b2afed0a599 rancher/rancher "entrypoint.sh" 12 seconds ago Up 11 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp wizardly_fermat

      Если контейнер не запущен, вы можете снова запустить команду docker run.

      Прежде чем вы сможете получить доступ к панели администратора Rancher, вам нужно будет задать пароль администратора и URL-адрес сервера Rancher. Интерфейс администратора Rancher позволит вам получить доступ ко всем запущенным узлам, подам и секретам, поэтому важно использовать надежный пароль.

      Перейдите к доменному имени, которое указывает на ваш новый дроплет, в браузере. При первом посещении этого адреса Rancher попросит задать пароль:

      Установка пароля Rancher с помощью диалогового окна

      При запросе URL-адреса сервера Rancher используйте доменное имя, указывающее на ваш дроплет.

      Теперь, когда вы выполнили настройку сервера Rancher, вы увидите домашний экран администратора Rancher:

      Домашний экран администратора Rancher

      Вы можете перейти к настройке кластера Rancher.

      Шаг 3 — Настройка кластера с одним узлом

      Для использования Rancher вам потребуется создать кластер с как минимум одним узлом. Кластер — это группа с одним или несколькими узлами. В этом руководстве вы найдете более подробную информацию об архитектуре Kubernetes. В настоящем руководстве узлы соответствуют дроплетам, которыми управляет Rancher. Поды представляют собой группу запущенных контейнеров Docker внутри дроплета. Каждый узел может запускать множество подов. В пользовательском интерфейсе Rancher вы можете настроить кластеры и узлы в лежащей в его основе среде Kubernetes.

      К концу этого шага у вас должен быть настроенный кластер с одним узлом, готовый к запуску первого пода.

      В Rancher нажмите Add Cluster (Добавить кластер) и выберите DigitalOcean в качестве поставщика инфраструктуры.

      Выбор DigitalOcean из включенных в список поставщиков инфраструктуры

      Откройте меню Cluster Name (Имя кластера) и прокрутите до раздела Node Pools (Пулы узлов). Введите Name Prefix (Префикс имени), оставьте значение 1 для параметра Count (Счетчик) и проверьте etcd, Control Plane (Уровень управления) и Worker (Рабочее приложение).

      • etcd — это система хранения значения ключа Kubernetes для сохранения состояния вашей среды. Для обеспечения высокой доступности вам нужно запустить три или пять узлов etcd, чтобы, если один из узлов перестанет работать, ваша среда оставалась под контролем.
      • Control Plane (Уровень управления) проверяет все объекты Kubernetes, например поды, в вашей среде и поддерживает их соответствие конфигурации, которую вы задаете в интерфейсе администратора Rancher.
      • Workers (Рабочие приложения) запускают действующие рабочие нагрузки и агенты мониторинга, которые обеспечивают, что ваши контейнеры будут работать и останутся подключены к сети. Рабочие узлы — это место, где ваши поды будут запускать программное обеспечение, которое вы разворачиваете.

      Создание пула узлов с одним узлом

      Перед созданием кластера нажмите Add Template Node (Добавить шаблон узла) для настройки конкретных параметров вашего нового узла.

      Введите персональный маркер доступа DigitalOcean в поле ввода Access Token (Маркер доступа) и нажмите Next: Configure Droplet (Далее: настройка дроплета).

      Далее выберите тот же Region (Регион) и Droplet Size (Размер дроплета), что и в шаге 1. Для Image (Образ) выберите Ubuntu 16.04.5 x64, так как в настоящее время существует проблема совместимости Rancher с Ubuntu 18.04. Нажмите Create (Создать) для сохранения шаблона.

      После этого нажмите Create (Создать) на странице Add Cluster (Добавить кластера) для завершения процесса предоставления. Rancher потребуется несколько минут на выполнение этого шага, но после завершения работы вы увидите новый дроплет в панели управления дроплетов DigitalOcean.

      На этом шаге вы создали новый кластер и узел, где вы будете разворачивать рабочую нагрузку в следующем разделе.

      Шаг 4 — Развертывание рабочей нагрузки веб-приложения

      Когда новый кластер и узел будут готовы, вы можете развернуть ваш первый под в рабочей нагрузке. Под Kubernetes — это самая маленькая часть работы, доступная в Kubernetes и расширении Rancher. Рабочие нагрузки описывают одну группу подов, которые вы разворачиваете вместе. Например, вы можете запустить несколько подов вашего веб-сервера в одной рабочей нагрузке, чтобы убедиться, что, если один под замедляется при получении конкретного запроса, другие экземпляры могут обрабатывать входящие запросы. В этом разделе вы должны будете развернуть образ Nginx Hello World в одном поде.

      Наведите курсор на Global (Глобально) в заголовке и выберите Default (По умолчанию). В результате будет отображена панель проекта по умолчанию. В этом руководстве вы будете работать над развертыванием отдельного проекта, но в этой панели управления вы также можете создать несколько проектов для получения сред для изолированных контейнеров.

      Для начала настройки первого пода нажмите Deploy (Развернуть).

      Откройте Name (Имя) и введите nginxdemos/hello в поле Docker Image (Образ Docker). Затем разметьте порт 80 в контейнере для порта 30000 на узлах хоста. Это позволит гарантировать, что поды, которые вы разворачивайте, будут доступны на каждом узле порта 30000. Вы можете оставить для параметра Protocol (Протокол) значение TCP, а в следующем выпадающем списке укажите NodePort.

      Примечание. Хотя этот метод запуска узла на порте каждого узла легче использовать, Rancher также включает Ingress для распределения нагрузки и прекращения работы SSL для использования в продакшене.

      Форма ввода для развертывания рабочей нагрузки

      Для запуска пода прокрутите до самого низа и нажмите Launch (Запустить).

      Rancher вернет вас на домашнюю страницу проекта по умолчанию, а в течение нескольких секунд ваш под будет готов. Нажмите ссылку 30000/tcp под именем рабочей нагрузки, и Rancher откроет новую вкладку с информацией о среде запущенного контейнера.

      Адрес сервера, имя сервера и другие результаты работы запущенного контейнера NGINX

      Адрес сервера и порт, которые вы видите на этой странице, повторяют данные внутренней сети Docker, а не являются публичным IP-адресом, который вы видите в браузере. Это означает, что Rancher работает и перенаправляет трафик с http://first_node_ip:30000/ на рабочую нагрузку, как и ожидалось.

      В данный момент вы успешно развернули вашу первую рабочую нагрузку одного пода на отдельном узле Rancher. Далее вы узнаете, как можно расширить вашу среду Rancher.

      Шаг 5 — Масштабирование узлов и подов

      Rancher предоставляет два способа масштабирования ресурсов хостинга: увеличение числа подов в вашей рабочей нагрузке или увеличение числа узлов вашего кластера.

      Добавление подов в вашу рабочую нагрузку будет предоставлять вашему приложению большее количество запущенных процессов. Это позволит ему обрабатывать больше трафика и добиться развертываний без остановки работы приложений, но каждый узел сможет обрабатывать только ограниченное количество подов. Когда все ваши узлы достигнут лимита на количество подов, вам нужно будет увеличить количество узлов, если вы захотите продолжить масштабирование вашего приложения.

      Еще одним соображением, которое нужно учитывать, является тот факт, что, хотя увеличение количества подов выполняется бесплатно, вам придется платить за каждый узел, добавляемый в вашу среду. На этом шаге вы сможете расширить количество узлов и подов, а также добавить дополнительный узел в ваш кластер Rancher.

      Примечание. В этой части руководства будет предоставлен новый дроплет DigitalOcean автоматически через API, поэтому вы должны учитывать, что запуск второго узла будет сопровождаться дополнительными расходами.

      Перейдите на домашнюю страницу кластера установки Rancher, выбрав Cluster: your-cluster-name в верхней панели навигации. Далее нажмите Nodes (Узлы) в верхней панели навигации.

      Использование выпадающего меню верхней панели для выбора кластера

      Эта страница показывает, что у вас в кластере есть один запущенный узел. Для добавления дополнительных узлов нажмите Edit Cluster (Изменить кластер) и прокрутите до раздела Node Pools (Пулы узлов) внизу страницы. Нажмите Add Node Pool (Добавить пул узлов), введите префикс и проверьте поле Worker (Рабочее приложение). Нажмите Save (Сохранить) для обновления кластера.

      Добавление пула узла в качестве единого рабочего приложения

      В течение 2–5 минут Rancher предоставит второй дроплет и отметит узел как Active (Активный) в панели управления кластера. Этот второй узел — только рабочее приложение, что означает, что он не будет использовать etcd Rancher или контейнеры панели управления. Это предоставляет рабочему приложению больше возможностей для запуска рабочих нагрузок.

      Примечание. При наличии нечетного числа узлов etcd будет гарантировано, что всегда можно будет достичь кворума (или консенсуса). Если у вас есть только один узел etcd, вы сталкиваетесь с риском того, что ваш кластер может стать недоступным, если этот один узел прекратит работу. В продакшен-среде лучше использовать три или пять узлов etcd.

      Когда второй узел будет готов, вы сможете увидеть рабочую нагрузку, которую вы развернули на предыдущем шаге, на этом узле, если перейдете на http://send_node_ip:30000/ в браузере.

      Масштабирование узлов позволяет вам использовать больше дроплетов для распределения ваших рабочих нагрузок, но вы также можете использовать несколько экземпляров каждого пода внутри рабочей нагрузки. Для добавления дополнительных подов вернитесь на страницу проекта по умолчанию, нажмите стрелку слева от рабочей нагрузки hello-world и нажмите + два раза для добавления двух новых подов.

      Запуск трех подов Hello World в рабочую нагрузку

      Rancher автоматически развернет несколько подов и распределит запущенные контейнеры на каждом узле, в зависимости от доступности.

      Теперь вы можете масштабировать ваши узлы и поды согласно требованиям вашего приложения.

      Заключение

      Вы выполнили развертывание нескольких узлов с помощью Rancher 2.1 в Ubuntu 18.04, а также расширили вашу конфигурацию до двух запущенных узлов и нескольких подов внутри рабочей нагрузки. Вы можете использовать эту стратегию для размещения и масштабирования любых контейнеров Docker, которые вам нужно запускать в вашем приложении, и использовать панель управления и оповещения Rancher для максимального повышения производительности ваших рабочих нагрузок и узлов внутри кластера.



      Source link

      Cómo configurar implementaciones multinodo con Rancher 2.1, Kubernetes y Docker Machine en Ubuntu 18.04


      El autor seleccionó a Code Org para recibir una donación como parte del programa Write for DOnations.

      Introducción

      Rancher es una popular plataforma de administración de contenedores de código abierto. Rancher 2.X , lanzada a principios del 2018, funciona en Kubernetes y ha incorporado nuevas herramientas, como la administración multiclúster y canales de integración continua (CI) incorporados. Además de la seguridad mejorada, la escalabilidad y las herramientas de implementación fáciles de usar ya disponibles en Kubernetes, Rancher ofrece una interfaz gráfica de usuario (GUI) que facilita más la administración de los contenedores. A través dela GUI de Rancher, los usuarios pueden administrar secretos, gestionar funciones y permisos de forma segura, escalar nodos y pods, y configurar equilibradores de carga y volúmenes sin necesidad de una herramienta de línea de comandos ni de archivos YAML complejos.

      A través de este tutorial, implementará un servidor multinodo de Rancher 2.1 usando Docker Machine en Ubuntu 18.04. Al final del tutorial, podrá suministrar nuevos Droplets y pods de contenedor de DigitalOcean a través de la UI de Rancher para expandir o reducir su entorno de alojamiento.

      Requisitos previos

      Antes de comenzar este tutorial, deberá contar con una cuenta de DigitalOcean y con lo siguiente:

      • Un token de acceso personal de DigitalOcean, que puede crear siguiendo las instrucciones de este tutorial. Este token permitirá que Rancher tenga acceso de API a su cuenta de DigitalOcean.

      • Un nombre de dominio completamente registrado con un registro A que apunte a la dirección IP del Droplet que creó en el paso 1. Puede aprender a apuntar dominios a los Droplets de DigitalOcean leyendo la documentación sobre dominios y DNS de DigitalOcean. A lo largo de este tutorial, sustituya su dominio por example.com.

      Paso 1: Crear un droplet con Docker instalado

      Para iniciar y configurar Rancher, deberá crear un nuevo droplet con Docker instalado. Para conseguir esto, puede usar la imagen de Docker de DigitalOcean.

      Primero, inicie sesión en su cuenta de DigitalOcean y seleccione Crear Droplet. A continuación, en la sección Choose an image, seleccione la pestaña Marketplace. Elija Docker 18.06.1~ce~~3 en 18.04.

      Seleccione la imagen de Docker 18.06 del menú One-click Apps

      A continuación, seleccione un droplet que no tenga un tamaño inferior a 2 GB y una región de centro de datos para este.

      Finalmente, añada sus claves SSH, proporcione un hombre de host para su droplet y pulse el botón Create.

      Serán necesarios unos minutos para que el servidor se abastezca y Docker se descargue. Una vez que el droplet se implemente correctamente, estará listo para iniciar Rancher en un nuevo contenedor de Docker.

      Paso 2: Iniciar y configurar Rancher

      El droplet que creó en el paso 1 ejecutará Rancher en un contenedor de Docker. En este paso, iniciará el contenedor de Rancher y se asegurará de que cuente con un certificado SSL de Let’s Encrypt para que pueda acceder de forma segura al panel de administración de Rancher. Let´s Encrypt es una autoridad de certificación automática de código de código abierto que permite a los desarrolladores proporcionar certificados SSL por 90 días gratis.

      Inicie sesión en su nuevo droplet:

      Para asegurarse de que Docker esté en ejecución, introduzca lo siguiente:

      Compruebe que la versión de Docker listada sea la que espera. Puede iniciar Rancher con un certificado de Let’s Encrypt que ya esté instalado ejecutando el siguiente comando:

      • docker run -d --restart=unless-stopped -p 80:80 -p 443:443 -v /host/rancher:/var/lib/rancher rancher/rancher --acme-domain example.com

      La opción --acme-domain instala un certificado SSL de Let’s Encrypt para garantizar que su administrador Rancher se presente en HTTPS: Esta secuencia de comandos también indica al droplet que busque la imagen de Docker rancher/rancher e inicie una instancia de Rancher en un contenedor que se reiniciará automáticamente si se desconecta de forma accidental. Para facilitar la recuperación en caso de pérdida de datos, la secuencia de comandos monta un volumen en la máquina host (en /host/rancher) que contiene los datos de host.

      Para ver todos los contenedores en ejecución, introduzca lo siguiente:

      Verá un resultado similar al siguiente (con un ID y nombre de contenedor únicos):

      Output

      CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7b2afed0a599 rancher/rancher "entrypoint.sh" 12 seconds ago Up 11 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp wizardly_fermat

      Si el contenedor no está en ejecución, puede ejecutar el comando docker run nuevamente.

      Para poder acceder al panel de administración de Rancher, deberá configurar su contraseña de administrador y la URL del servidor de Rancher. La interfaz de administrador de Rancher le brindará acceso a todos sus nodos en ejecución, pods y secretos. Por ello, es importante que utilice una contraseña segura para ello.

      Vaya al nombre de dominio que apunta a su nuevo droplet en su navegador web. La primera vez que visite esta dirección, Rancher le permitirá establecer una contraseña:

      Establezca su contraseña de Rancher usando la línea de comandos

      Cuando se solicite su URL del servidor de Rancher, utilice el nombre de dominio orientado a su droplet.

      Con esto, habrá completado la configuración del servidor de Rancher y verá la pantalla de inicio de administración de Rancher:

      Pantalla de inicio de administración de Rancher

      Está listo para continuar con la configuración del clúster de Rancher.

      Paso 3: Configurar un clúster con un nodo único

      Para usar Rancher, deberá crear un clúster que tenga al menos un nodo. Un clúster es un grupo de uno o más nodos. Esta guía le proporcionará más información sobre la arquitectura de Kubernetes. En este tutorial, los nodos se corresponden con los droplets que Rancher administrará. Los pods representan un grupo de contenedores de Docker en ejecución en el droplet. Cada nodo puede ejecutar muchos pods. Usando la UI de Rancher, puede configurar clústeres y nodos en un entorno subyacente de Kubernetes.

      Al final de este paso, habrá configurado un clúster con un único nodo listo para ejecutar su primer pod.

      En Rancher, haga clic en Add Cluster y seleccione DigitalOcean como proveedor de infraestructura.

      Seleccione DigitalOcean en la lista de proveedores de infraestructura.

      Introduzca un nombre en Cluster Name *y desplácese hasta la sección *Node Pools. Introduzca un prefijo en Name Prefix, deje Count en el valor 1 por el momento y seleccione etcd, Control Plane y Worker.

      • etcd es un sistema de almacenamiento de valores de claves de Kubernetes pensado para mantener todo el estado del entorno. A fin de preservar una alta disponibilidad, debería ejecutar tres o cinco nodos etcd para que, si uno se desactiva, siga siendo posible administrar su entorno.
      • Control Plane verifica todos los objetos de Kubernetes, como los pods, en su entorno y los mantiene actualizados con la configuración que proporcione en la interfaz de administración de Rancher.
      • Workers ejecutará las cargas de trabajo reales y los agentes de monitorización para garantizar que sus contenedores continúen en ejecución y en red. Los nodos de trabajo se encuentran donde sus pods ejecutarán el software que implemente.

      Cree un grupo de nodos con un único nodo

      Antes de crear el clúster, haga clic en Add Node Template a fin de configurar las opciones específicas para su nuevo nodo.

      Introduzca su Token de acceso personal de DigitalOcean en el cuadro de entrada Access Token y haga clic en Next: Configure Droplet.

      A continuación, seleccione los mismos valores para Region y Droplet Size que en el paso 1. En el caso de Image, asegúrese de seleccionar Ubuntu 16.04.5 x64, ya que actualmente existe un problema de compatibilidad entre Rancher y Ubuntu 18.04. Pulse Create para guardar la plantilla.

      Finalmente, haga clic en Crear en la página Add Cluster para iniciar el proceso de aprovisionamiento. Rancher tardará unos minutos en completar este paso, pero verá un nuevo Droplet en su panel de control de droplets de DigitalOcean cuando esto suceda.

      A lo largo de este paso, creó un nuevo clúster y nodo en los cuales implementará una carga de trabajo en la siguiente sección.

      Paso 4: Implementar una carga de trabajo de aplicación web

      Una vez que el clúster y el nodo nuevos estén listos, puede implementar su primer pod en una carga de trabajo. Un pod de Kubernetes es la unidad de trabajo más pequeña disponible para Kubernetes y, por extensión, para Rancher. Las cargas de trabajo describen un grupo único de pods que implementa juntos. Por ejemplo, puede ejecutar varios pods de su servidor web en una única carga de trabajo para garantizar que si un pod se ralentiza con una solicitud concreta otras instancias puedan gestionar las solicitudes entrantes. En esta sección, implementará una imagen de Nginx Hello World en un único pod.

      Posicione el cursor sobre Global en el encabezado y seleccione Default. Con esto, accederá al panel de control de proyecto Default. Se centrará en implementar un único proyecto en este tutorial, pero desde este panel de control también puede crear varios para conseguir entornos de alojamiento de contenedores aislados.

      Para comenzar a configurar su primer pod, haga clic en Deploy.

      Introduzca un nombre en Name y nginxdemos/hello en el campo Docker Image. A continuación, asigne el puerto 80 del contenedor al puerto 30000 *de los nodos host. Esto garantizará que los pods que implemente estén disponibles en cada nodo en el puerto 30000. Puede dejar el valor *TCP para Protocol y NodePort en el siguiente elemento desplegable.

      Nota: Aunque este método para ejecutar el pod en cada puerto del nodo es más sencillo para comenzar, Rancher también incluye Ingress a fin de proporcionar equilibrio de carga y terminación SSL para el uso en producción.

      Formulario de entrada para implementar una carga de trabajo

      Para iniciar el pod, desplácese hasta la parte inferior y haga clic en Launch.

      Rancher lo direccionará a la página de inicio del proyecto predeterminado, y en unos segundos su pod estará listo. Haga clic en el enlace 30000/tcp justo debajo del nombre de la carga de trabajo. Rancher abrirá una nueva pestaña con información sobre el entorno del contenedor en ejecución.

      Dirección del servidor, nombre del servidor y otros resultados del contenedor de NGINX en ejecución

      Los** valores de Server add**ess y de puerto que ve en esta página son los de la red interna de Docker. No pertenecen a la dirección IP pública que ve en su navegador. Esto significa que Rancher funciona y dirige el tráfico de http://first_node_ip:30000/ a la carga de trabajo, como se espera.

      En este punto, habrá implementado correctamente su primera carga de trabajo de un pod en un nodo único de Rancher. A continuación, verá cómo escalar su entorno Rancher.

      Paso 5: Escalar nodos y pods

      Rancher le proporciona dos formas de escalar sus recursos de alojamiento: aumentar el número de pods de su carga de trabajo o aumentar el número de nodos de su clúster.

      Añadir pods a su carga de trabajo le proporcionará a su aplicación más procesos en ejecución. Esto le permitirá gestionar más tráfico y habilitar implementaciones sin tiempo de inactividad, pero cada nodo solo puede gestionar un número finito de pods. Una vez que todos sus nodos hayan alcanzado su límite de pods, deberá aumentar el número de nodos si desea continuar con la expansión.

      Otro aspecto que se debe tener en cuenta es que, si bien el aumento de pods es normalmente gratuito, tendrá que pagar por cada nodo que añada a su entorno. A lo largo de este paso, escalará ambos nodos y pods, y añadirá otro nodo a su clúster de Rancher.

      Nota: En esta parte del tutorial, se proporcionará un nuevo droplet de DigitalOcean automáticamente a través de la API. Por lo tanto, tenga en cuenta que deberá afrontar costos adicionales mientras el segundo nodo esté en ejecución.

      Diríjase a la página de inicio del clúster de su instalación de Rancher seleccionando Cluster: nombre-de-su-clúster en la barra de navegación superior. A continuación, haga clic en Nodes en la barra de navegación superior.

      Utilice el elemento desplegable de la barra de navegación superior para seleccionar su clúster

      En esta página se muestra que actualmente dispone de un nodo en ejecución en el clúster. Para añadir nodos, haga clic en Edit Cluster y desplácese hasta la sección Node Pools en la parte inferior de la página. Haga clic en Add Node Pool, introduzca un prefijo y seleccione la casilla Worker. Haga clic en Save para actualizar el clúster.

      Agregar un grupo de nodos únicamente como trabajador

      En un plazo de dos a cinco minutos, Rancher proporcionará un segundo droplet y marcará el nodo con la indicación Active en el panel de control del clúster. Este segundo nodo es solo un trabajador, lo cual significa que no ejecutará los contenedores de etcd o Control Plane de Rancher. Esto brinda al trabajador más capacidad para ejecutar cargas de trabajo.

      Nota: Disponer de un número desigual de nodos de etcd garantizará que estos siempre puedan alcanzar un cuórum (o consenso). Si solo dispone de un nodo de etcd, correrá el riesgo de que no sea posible alcanzar su clúster si ese nodo se desactiva. En un entorno de producción, es mejor ejecutar tres o cinco nodos de etcd.

      Cuando el segundo nodo esté listo, podrá ver la carga de trabajo que implementó en el paso anterior en este nodo visitando http://segundo_node_ip:30000/ en su navegador.

      La expansión de nodos le proporciona más droplets para distribuir sus cargas de trabajo, pero es posible que también desee ejecutar más instancias de cada pod en una carga de trabajo. Para añadir más pods, vuelva a la página del proyecto con el valor default, pulse la flecha a la izquierda de su carga de trabajo hello-world y haga clic en + dos veces para añdir dos pods más.

      Ejecutar tres pods de Hello World en una carga de trabajo

      Rancher implementará de forma automática más pods y distribuirá los contenedores en ejecución a cada nodo, según dónde haya disponibilidad.

      Ahora, podrá escalar sus nodos y pods para satisfacer los requisitos de su aplicación.

      Conclusión

      De esta manera, habrá configurado implementaciones multinodo usando Rancher 2.1 en Ubuntu 18.04 y habrá aplicado una expansión a dos nodos en ejecución y varios pods en una carga de trabajo. Puede usar esta estrategia para alojar y escalar cualquier tipo de contenedor de Docker que deba ejecutar en su aplicación, y usar el panel de control y las alertas de Rancher para maximizar el rendimiento de sus cargas de trabajo y nodos en cada clúster.



      Source link

      Python Machine Learning Projects — A DigitalOcean eBook


      Download the Complete eBook!

      Machine Learning Projects: Python eBook in EPUB format

      Machine Learning Projects: Python eBook in PDF format

      Machine Learning Projects: Python eBook in Mobi format

      Introduction to the eBook

      As machine learning is increasingly leveraged to find patterns, conduct analysis, and make decisions — sometimes without final input from humans who may be impacted by these findings — it is crucial to invest in bringing more stakeholders into the fold. This book of Python projects in machine learning tries to do just that: to equip the developers of today and tomorrow with tools they can use to better understand, evaluate, and shape machine learning to help ensure that it is serving us all.

      This book will set you up with a Python programming environment if you don’t have one already, then provide you with a conceptual understanding of machine learning in the chapter “An Introduction to Machine Learning.” What follows next are three Python machine learning projects. They will help you create a machine learning classifier, build a neural network to recognize handwritten digits, and give you a background in deep reinforcement learning through building a bot for Atari.

      These chapters originally appeared as articles on DigitalOcean Community, written by members of the international software developer community. If you are interested in contributing to this knowledge base, consider proposing a tutorial to the Write for DOnations program. DigitalOcean offers payment to authors and provides a matching donation to tech-focused nonprofits.

      Other Books in this Series

      If you are learning Python or are looking for reference material, you can download our free Python eBook, How To Code in Python 3

      For other programming languages and DevOps engineering articles, check out our knowledge base of over 2,100 tutorials.

      Download the eBook

      You can download the eBook in either the EPUB, PDF, or Mobi format by following the links below.

      Download the Complete eBook!

      Machine Learning Projects: Python eBook in EPUB format

      Machine Learning Projects: Python eBook in PDF format

      Machine Learning Projects: Python eBook in Mobi format



      Source link