Поделиться через


Развертывание сети контейнеров для автономного узла Docker Linux

Подключаемый модуль Azure CNI включает для отдельных узлов docker и кластеров Kubernetes для каждого контейнера или pod сети. В этой статье вы узнаете, как установить и настроить подключаемый модуль CNI для автономного узла Docker Linux.

Необходимые компоненты

Создание виртуальной сети и узла Бастиона Azure

Следующая процедура создает виртуальную сеть с подсетью ресурсов, подсетью Бастиона Azure и узлом Бастиона:

  1. На портале найдите и выберите "Виртуальные сети".

  2. На странице Виртуальные сети выберите команду + Создать.

  3. На вкладке Основные сведения подменю Создать виртуальную сеть введите или выберите нижеприведенную информацию:

    Параметр Значение
    Сведения о проекте
    Отток подписок Выберите свою подписку.
    Группа ресурсов Выберите Создать.
    Введите test-rg для имени.
    Нажмите кнопку ОК.
    Сведения об экземпляре
    Имя. Введите vnet-1.
    Область/регион Выберите регион Восточная часть США 2.

    Снимок экрана: вкладка

  4. Нажмите кнопку "Далее ", чтобы перейти на вкладку "Безопасность ".

  5. В разделе Бастиона Azure выберите "Включить бастион".

    Бастион использует браузер для подключения к виртуальным машинам в виртуальной сети через Secure Shell (SSH) или протокол удаленного рабочего стола (RDP) с помощью частных IP-адресов. Виртуальные машины не нуждаются в общедоступных IP-адресах, клиентском программном обеспечении или специальной конфигурации. Подробные сведения см. в статье Что такое Бастион Azure?

    Примечание.

    Почасовая цена начинается с момента развертывания Бастиона независимо от использования исходящих данных. Дополнительные сведения см. в разделе "Цены и номера SKU". Если вы развертываете Бастион в рамках руководства или теста, рекомендуется удалить этот ресурс после завершения работы с ним.

  6. В Бастионе Azure введите или выберите следующие сведения:

    Параметр Значение
    Имя узла Бастиона Azure Введите бастион.
    Общедоступный IP-адрес Бастиона Azure Выберите " Создать общедоступный IP-адрес".
    Введите public-ip-бастион в поле "Имя".
    Нажмите кнопку ОК.

    Снимок экрана: параметры включения узла Бастиона Azure в рамках создания виртуальной сети в портал Azure.

  7. Нажмите кнопку "Рядом ", чтобы перейти на вкладку IP-адресов .

  8. В поле адресного пространства в подсетях выберите подсеть по умолчанию .

  9. В разделе "Изменить подсеть" введите или выберите следующие сведения:

    Параметр Значение
    Сведения о подсети
    Шаблон подсети Оставьте значение по умолчанию по умолчанию.
    Имя. Введите подсеть-1.
    Начальный адрес Оставьте значение по умолчанию 10.0.0.0.
    Размер подсети Оставьте значение по умолчанию /24 (256 адресов).

    Снимок экрана: сведения о конфигурации для подсети.

  10. Выберите Добавить.

  11. Выберите "Проверка и создание " в нижней части окна. После завершения проверки нажмите кнопку Создать.

Развертывание узла Бастиона может занять несколько минут. Вы можете продолжить шаги во время развертывания узла Бастиона.

Создание тестовой виртуальной машины

Следующая процедура создает тестовую виртуальную машину с именем vm-1 в виртуальной сети.

  1. На портале найдите и выберите "Виртуальные машины".

  2. На виртуальных машинах нажмите кнопку +Создать, а затем виртуальную машину Azure.

  3. На вкладке Основные сведения страницы Создание виртуальной машины введите или выберите следующие значения параметров:

    Параметр Значение
    Сведения о проекте
    Отток подписок Выберите свою подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об экземпляре
    Virtual machine name Введите vm-1.
    Область/регион Выберите регион Восточная часть США 2.
    Параметры доступности Выберите Избыточность инфраструктуры не требуется.
    Тип безопасности Оставьте значение по умолчанию Стандартный.
    Изображения Выберите Ubuntu Server 22.04 LTS — x64-го поколения 2-го поколения.
    Архитектура виртуальной машины Оставьте значение по умолчанию x64.
    Размер Выберите размер.
    Учетная запись администратора
    Тип аутентификации выберите Пароль.
    Username Введите azureuser.
    Пароль Введите пароль.
    Подтверждение пароля Повторно введите пароль.
    Правила входящего порта
    Общедоступные входящие порты Выберите Отсутствует.
  4. Выберите вкладку "Сеть" в верхней части страницы.

  5. На вкладке Сеть введите или выберите следующие значения параметров:

    Параметр Значение
    Сетевой интерфейс
    Виртуальная сеть Выберите виртуальную сеть-1.
    Подсеть Выберите подсеть-1 (10.0.0.0/24).
    Общедоступный IP-адрес Выберите Отсутствует.
    Группа безопасности сети сетевого адаптера Выберите Дополнительно.
    Настройка группы безопасности сети Выберите Создать.
    Введите nsg-1 для имени.
    Оставьте остальные значения по умолчанию и нажмите кнопку "ОК".
  6. Оставьте остальные параметры по умолчанию и нажмите кнопку "Просмотр и создание".

  7. Проверьте параметры и выберите Создать.

Примечание.

Виртуальные машины в виртуальной сети с узлом бастиона не требуют общедоступных IP-адресов. Бастион предоставляет общедоступный IP-адрес, а виртуальные машины используют частные IP-адреса для обмена данными в сети. Вы можете удалить общедоступные IP-адреса из любых виртуальных машин в размещенных виртуальных сетях бастиона. Дополнительные сведения см. в разделе "Отсообщение общедоступного IP-адреса" с виртуальной машины Azure.

Примечание.

Azure предоставляет IP-адрес исходящего доступа по умолчанию для виртуальных машин, которые либо не назначены общедоступным IP-адресом, либо находятся в серверном пуле внутренней подсистемы балансировки нагрузки Azure. Механизм IP-адреса исходящего трафика по умолчанию предоставляет исходящий IP-адрес, который нельзя настроить.

IP-адрес исходящего доступа по умолчанию отключен при возникновении одного из следующих событий:

  • Общедоступный IP-адрес назначается виртуальной машине.
  • Виртуальная машина размещается в серверном пуле стандартной подсистемы балансировки нагрузки с правилами исходящего трафика или без нее.
  • Ресурс шлюза NAT Azure назначается подсети виртуальной машины.

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

Дополнительные сведения об исходящих подключениях в Azure см. в статье об исходящем доступе по умолчанию в Azure и использовании преобразования исходящих сетевых адресов (SNAT) для исходящих подключений.

Добавить IP-конфигурацию

Подключаемый модуль Azure CNI выделяет IP-адреса контейнерам на основе пула IP-адресов, создаваемых в интерфейсе виртуальной сети виртуальной машины. Для каждого контейнера на узле ip-конфигурация должна существовать в интерфейсе виртуальной сети. Если количество контейнеров на сервере превышает IP-конфигурации в интерфейсе виртуальной сети, контейнер запускается, но не имеет IP-адреса.

В этом разделе описано, как добавить IP-конфигурацию в интерфейс виртуальной сети созданной ранее виртуальной машины.

  1. В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.

  2. Выберите vm-1.

  3. В разделе Параметры выберите Сеть.

  4. Выберите имя сетевого интерфейса рядом с сетевым интерфейсом:. Сетевой интерфейс называется vm-1 случайным числом.

  5. В разделе Параметры сетевого интерфейса выберите Конфигурации IP.

  6. в конфигурациях IP-адресов выберите ipconfig1 в имени.

  7. В параметрах ipconfig1 измените назначение частного IP-адреса с Dynamic на Static.

  8. Выберите Сохранить.

  9. Вернитесь к IP-конфигурациям.

  10. Выберите Добавить.

  11. Введите или выберите следующие сведения для добавления IP-конфигурации:

    Параметр Значение
    Имя. Введите ipconfig-2.
    Параметры частного IP-адреса
    Распределение Выберите Статический.
    IP-адрес Введите 10.0.0.5.
  12. Нажмите ОК.

  13. Убедитесь, что ipconfig-2 добавлен в качестве вторичной IP-конфигурации.

Повторите предыдущие шаги, чтобы добавить столько конфигураций, сколько контейнеров вы хотите развернуть на узле контейнера.

Установите Docker.

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

Войдите на виртуальную машину, созданную ранее с помощью узла Бастиона Azure, развернутого с виртуальной сетью.

  1. В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.

  2. Выберите vm-1.

  3. В обзореvm-1 выберите Подключение затем Бастион.

  4. Введите имя пользователя и пароль, созданные при развертывании виртуальной машины на предыдущих шагах.

  5. Нажмите Подключиться.

Инструкции по установке Docker на узле контейнера Ubuntu см. в разделе "Установка подсистемы Docker в Ubuntu".

После установки Docker на виртуальной машине следуйте инструкциям после установки Linux. Инструкции по установке после установки Linux см . в разделе о шагах после установки модуля Docker.

После установки Docker на виртуальной машине выполните действия, описанные в этой статье.

Установка подключаемого модуля CNI и создание тестового контейнера

Подключаемый модуль Azure CNI поддерживается как проект GitHub и доступен для скачивания на странице GitHub проекта. В этой статье вы используете git в виртуальной машине, чтобы клонировать репозиторий для подключаемого модуля, а затем установить и настроить подключаемый модуль.

Дополнительные сведения о подключаемом модуле Azure CNI см. в статье "Сеть контейнеров Microsoft Azure".

  1. В поле поиска в верхней части портала введите Виртуальная машина. В результатах поиска выберите Виртуальные машины.

  2. Выберите vm-1.

  3. В обзореvm-1 выберите Подключение затем Бастион.

  4. Введите имя пользователя и пароль, созданные при развертывании виртуальной машины на предыдущих шагах.

  5. Нажмите Подключиться.

  6. Приложение jq требуется для скрипта установки для подключаемого модуля CNI, используйте следующий пример для установки приложения:

    sudo apt-get update
    sudo apt-get install jq
    
  7. Затем клонируйте репозиторий для подключаемого модуля CNI. Используйте следующий пример, чтобы клонировать репозиторий:

    git clone https://github.com/Azure/azure-container-networking.git
    
  8. Настройте разрешения и установите подключаемый модуль CNI. Для команды скрипта установки требуется номер версии подключаемого модуля CNI. На момент написания этой статьи новейшая v1.4.39версия . Чтобы получить последнюю версию подключаемого модуля или предыдущих версий, см. раздел "Выпуски".

    cd ./azure-container-networking/scripts
    chmod u+x install-cni-plugin.sh
    sudo ./install-cni-plugin.sh v1.4.39
    chmod u+x docker-run.sh
    
  9. Чтобы запустить контейнер с подключаемым модулем CNI, необходимо использовать специальный скрипт, который поставляется с подключаемым модулем для создания и запуска контейнера. В следующем примере создается контейнер Alpine с скриптом подключаемого модуля CNI:

    sudo ./docker-run.sh vnetdocker1 default alpine
    
  10. Чтобы убедиться, что контейнер получил ранее настроенный IP-адрес, подключитесь к контейнеру и просмотрите IP-адрес:

    sudo docker exec -it vnetdocker1 /bin/sh
    
  11. ifconfig Используйте команду в следующем примере, чтобы проверить, назначен ли IP-адрес контейнеру:

    ifconfig
    

    Снимок экрана: выходные данные ifconfig в командной строке тестового контейнера Bash.

Очистка ресурсов

Завершив использование созданных ресурсов, можно удалить группу ресурсов и все ее ресурсы:

  1. Войдите на портал Azure; найдите в поиске и выберите Группы ресурсов.

  2. На странице групп ресурсов выберите группу ресурсов test-rg.

  3. На странице test-rg выберите "Удалить группу ресурсов".

  4. Введите test-rg в поле Ввод имени группы ресурсов, чтобы подтвердить удаление, а затем нажмите кнопку "Удалить".

Следующие шаги

Из этой статьи вы узнали, как установить подключаемый модуль Azure CNI и создать тестовый контейнер.

Дополнительные сведения о сети контейнеров Azure и службе Azure Kubernetes см. в следующем разделе: