(УСТАРЕЛО) Использование Helm для развертывания контейнеров в кластере Kubernetes
Совет
Обновленная версия этой статьи — Установка приложения с помощью Helm в службе Azure Kubernetes.
Предупреждение
Служба контейнеров Azure (ACS) выводится из эксплуатации. В нее больше не добавляются новые компоненты или функциональные возможности. Все API, интерфейс портала, команды CLI и документы помечаются как нерекомендуемые.
В 2017 году мы объявили о выпуске Службы Azure Kubernetes (AKS), которая призвана упростить администрирование, развертывание и эксплуатацию платформы Kubernetes. Если вы используете оркестратор Kubernetes, перейдите на AKS до 31 января 2020 года. Чтобы приступить к работе, см. статью о переходе на Службу Azure Kubernetes.
Дополнительные сведения см. в статье Поддержка Службы контейнеров Azure будет прекращена 31 января 2020 года.
Helm — это средство упаковки с открытым исходным кодом, которое помогает установить приложения Kubernetes и управлять их жизненным циклом. Аналогично диспетчерам пакетов Linux, таких как Apt-get и Yum, Helm используется для управления чартами Kubernetes, представляющими собой пакеты предварительно настроенных ресурсов Kubernetes. В этой статье показано, как работать с Helm в кластере Kubernetes, развернутом в Службе контейнеров Azure.
Helm состоит из двух компонентов:
Helm CLI — клиент, который выполняется на компьютере локально или в облаке.
Tiller — сервер, который выполняется в кластере Kubernetes и управляет жизненным циклом приложений Kubernetes.
Предварительные требования
Создание кластера Kubernetes в службе контейнеров Azure
Установка и настройка
kubectl
на локальном компьютереУстановка Helm на локальном компьютере
Основы использования Helm
Чтобы просмотреть сведения о кластере Kubernetes, где вы устанавливаете Tiller и развертываете приложения, введите следующую команду:
kubectl cluster-info
После установки Helm установите Tiller в кластере Kubernetes, введя следующую команду:
helm init --upgrade
После успешного завершения команды выводятся сведения следующего вида:
Чтобы просмотреть все доступные чарты Helm в репозитории, введите следующую команду:
helm search
Выводятся сведения следующего вида:
Чтобы обновить чарты для использования актуальных версий, введите:
helm repo update
Развертывание чарта входящего контроллера Nginx
Чтобы развернуть чарт входящего контроллера Nginx, введите одну команду:
helm install stable/nginx-ingress
Если ввести kubectl get svc
для просмотра всех служб, запущенных на кластере, вы увидите, что IP-адрес назначен входящему контроллеру. (Пока задание выполняется, вы увидите <pending>
. Выполнение займет несколько минут.)
После назначения IP-адреса перейдите к значению внешнего IP-адреса, чтобы увидеть работу серверной части Nginx.
Чтобы просмотреть список чартов, установленных в кластере, введите:
helm list
Команду можно сократить до helm ls
.
Развертывание клиента и чарта MariaDB
Разверните чарт и клиент MariaDB для подключения к базе данных.
Чтобы развернуть чарт MariaDB, введите следующую команду:
helm install --name v1 stable/mariadb
здесь --name
— тег, используемый для выпусков.
Совет
Если развертывание завершается сбоем, запустите helm repo update
и повторите попытку.
Для просмотра всех чартов, развернутых в кластере, введите:
helm list
Для просмотра всех развертываний, запущенных в кластере, введите:
kubectl get deployments
Наконец, чтобы запустить pod для доступа к клиенту, введите:
kubectl run v1-mariadb-client --rm --tty -i --image bitnami/mariadb --command -- bash
Чтобы подключиться к клиенту, введите следующую команду, заменив v1-mariadb
на имя развертывания:
sudo mysql –h v1-mariadb
Теперь для создания баз данных, таблиц и т. д. можно использовать стандартные команды SQL. Например, Create DATABASE testdb1;
создает пустую базу данных.
Дальнейшие действия
- Дополнительные сведения об управлении чартами Kubernetes см. в документации по Helm.