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


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

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

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

Создайте группу ресурсов

  1. На портале Azure найдите и выберите элемент Группа ресурсов.

  2. Нажмите кнопку +Создать.

  3. На вкладке "Основы" создайте группу ресурсов, введите или выберите следующие сведения:

    Настройка Значение
    Подписка Выберите свою подписку.
    Группа ресурсов Введите test-rg.
    Область/регион Выберите регион Восточная часть США 2.
  4. Выберите Review + create.

  5. Нажмите кнопку "Создать".

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

Следующая процедура создает виртуальную сеть с подсетью ресурсов.

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

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

  3. На вкладке "Основы" создайте виртуальную сеть, введите или выберите следующие сведения:

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

  5. Нажмите Далее, чтобы перейти во вкладку IP-адреса.

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

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

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

  9. Выберите "Проверка и создание " в нижней части экрана и при прохождении проверки нажмите кнопку "Создать".

Развертывание Бастиона Azure

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

Примечание.

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

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

  2. Нажмите кнопку +Создать.

  3. На вкладке "Основы " создайте бастион, введите или выберите следующие сведения:

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

  5. Нажмите кнопку "Создать".

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

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

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

  2. Выберите + Создать, затем выберите Виртуальная машина Azure.

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

    Настройка Значение
    Сведения о проекте
    Подписка Выберите свою подписку.
    Группа ресурсов Выберите test-rg.
    Сведения об экземпляре
    Имя виртуальной машины Введите vm-1.
    Область/регион Выберите регион (США) Восточная часть США 2.
    Параметры доступности Выберите Избыточность инфраструктуры не требуется.
    Тип безопасности Выберите Стандартное.
    Изображение Выберите Ubuntu Server 24.04 LTS — x64 Gen2.
    Архитектура виртуальной машины Оставьте значение по умолчанию x64.
    Размер Выберите размер.
    Учетная запись администратора
    Тип аутентификации Выберите Открытый ключ SSH.
    Имя пользователя Введите имя пользователя.
    SSH public key source (Источник открытого ключа SSH) Выберите Создать новую пару ключей.
    Имя пары ключей Введите vm-1-key.
    Правила входящего порта
    Общедоступные входящие порты Выберите Отсутствует.
  4. Нажмите кнопку "Далее": диски , а затем " Далее: сеть".

  5. На вкладке "Сеть" введите или выберите следующие сведения:

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

  7. Нажмите кнопку "Создать".

  8. Появится всплывающее окно "Создать новую пару ключей ". Выберите Download private key and create resource (Скачать закрытый ключ и создать ресурс).

  9. Файл закрытого ключа загружается на компьютер. Сохраните файл закрытого ключа в известном расположении на компьютере. Этот ключ используется для подключения к виртуальной машине с помощью Бастиона Azure на следующем шаге.

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

Подключаемый модуль Azure CNI выделяет 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 Bastion, развернутый вместе с виртуальной сетью.

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

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

  3. В разделе "Обзорвиртуальной машины-1" выберите "Подключиться"и "Подключиться через бастион".

  4. На странице подключения бастиона введите или выберите следующие сведения:

    Настройка Значение
    Тип проверки подлинности Выберите закрытый ключ SSH из локального файла.
    Имя пользователя Введите созданное имя пользователя.
    Локальный файл Выберите файл закрытого ключа vm-1-key, который вы скачали.
  5. Нажмите Подключиться.

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

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

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

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

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

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

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

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

  3. В обзореvm-1 выберите "Подключиться", затем "Подключиться через Bastion".

  4. На странице подключения бастиона введите или выберите следующие сведения:

    Настройка Значение
    Тип проверки подлинности Выберите закрытый ключ SSH из локального файла.
    Имя пользователя Введите созданное имя пользователя.
    Локальный файл Выберите файл закрытого ключа vm-1-key, который вы скачали.
  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 см. в следующем разделе: