Показаны различия между двумя версиями страницы.
— |
лабораторная_работа:разворачивание_приложений_в_kubernetes_с_помощью_helm [2025/05/31 21:21] (текущий) kirill создано |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | # Разворачивание приложений в Kubernetes с помощью Helm | ||
+ | ## Введение | ||
+ | |||
+ | Helm - мощный инструмент для управления Kubernetes-приложениями. Он позволяет упаковывать, | ||
+ | |||
+ | ## Шаг 1: Установка Helm | ||
+ | |||
+ | Прежде чем начать развертывание приложений с помощью Helm, необходимо установить клиент Helm на вашу локальную машину или машину, | ||
+ | |||
+ | 1. **Скачайте бинарный файл Helm:** Перейдите на страницу релизов Helm на GitHub ([https:// | ||
+ | 2. **Распакуйте архив: | ||
+ | 3. **Переместите бинарный файл `helm` в директорию, | ||
+ | ```bash | ||
+ | tar -zxvf helm-vX.Y.Z-linux-amd64.tar.gz | ||
+ | sudo mv linux-amd64/ | ||
+ | ``` | ||
+ | 4. **Проверьте установку: | ||
+ | ```bash | ||
+ | helm version | ||
+ | ``` | ||
+ | Вы должны увидеть информацию о версии клиента Helm. | ||
+ | |||
+ | ## Шаг 2: Добавление репозиториев Helm Chart' | ||
+ | |||
+ | Helm Chart' | ||
+ | |||
+ | 1. **Добавление публичного репозитория (пример - Bitnami):** | ||
+ | ```bash | ||
+ | helm repo add bitnami [https:// | ||
+ | ``` | ||
+ | 2. **Обновление информации о репозиториях: | ||
+ | ```bash | ||
+ | helm repo update | ||
+ | ``` | ||
+ | 3. **Просмотр списка добавленных репозиториев: | ||
+ | ```bash | ||
+ | helm repo list | ||
+ | ``` | ||
+ | |||
+ | ## Шаг 3: Поиск Chart' | ||
+ | |||
+ | Перед установкой приложения вы можете поискать доступные Chart' | ||
+ | |||
+ | 1. **Поиск Chart' | ||
+ | ```bash | ||
+ | helm search repo nginx | ||
+ | ``` | ||
+ | Эта команда отобразит список Chart' | ||
+ | |||
+ | ## Шаг 4: Получение информации о Chart' | ||
+ | |||
+ | Перед установкой рекомендуется ознакомиться с информацией о Chart' | ||
+ | |||
+ | 1. **Получение информации о Chart' | ||
+ | ```bash | ||
+ | helm show chart bitnami/ | ||
+ | ``` | ||
+ | 2. **Просмотр значений по умолчанию (values.yaml): | ||
+ | ```bash | ||
+ | helm show values bitnami/ | ||
+ | ``` | ||
+ | Этот вывод покажет вам все настраиваемые параметры Chart' | ||
+ | |||
+ | ## Шаг 5: Настройка значений Chart' | ||
+ | |||
+ | Вы можете настроить приложение, | ||
+ | |||
+ | 1. **Создание файла `values.yaml` с пользовательскими значениями: | ||
+ | * Скопируйте содержимое `helm show values bitnami/ | ||
+ | * Отредактируйте этот файл, изменив нужные параметры (например, | ||
+ | |||
+ | ```yaml | ||
+ | # my-nginx-values.yaml | ||
+ | replicaCount: | ||
+ | service: | ||
+ | type: LoadBalancer | ||
+ | port: 8080 | ||
+ | ``` | ||
+ | |||
+ | 2. **Передача значений через командную строку `--set`:** | ||
+ | ```bash | ||
+ | helm install my-nginx bitnami/ | ||
+ | ``` | ||
+ | |||
+ | ## Шаг 6: Развертывание приложения с помощью Helm | ||
+ | |||
+ | Теперь вы готовы развернуть приложение, | ||
+ | |||
+ | 1. **Установка Chart' | ||
+ | ```bash | ||
+ | helm install < | ||
+ | ``` | ||
+ | * `< | ||
+ | * `< | ||
+ | * `-n < | ||
+ | * `-f < | ||
+ | * `--set < | ||
+ | |||
+ | **Пример с использованием файла значений: | ||
+ | ```bash | ||
+ | helm install my-nginx bitnami/ | ||
+ | ``` | ||
+ | |||
+ | **Пример с использованием `--set`:** | ||
+ | ```bash | ||
+ | helm install my-nginx bitnami/ | ||
+ | ``` | ||
+ | |||
+ | 2. **Проверка статуса релиза: | ||
+ | ```bash | ||
+ | helm status < | ||
+ | ``` | ||
+ | Эта команда отобразит информацию о развернутом релизе, | ||
+ | |||
+ | 3. **Просмотр списка релизов: | ||
+ | ```bash | ||
+ | helm list -n < | ||
+ | ``` | ||
+ | Эта команда покажет список всех релизов, | ||
+ | |||
+ | ## Шаг 7: Взаимодействие с развернутым приложением | ||
+ | |||
+ | После успешного развертывания приложения вы можете взаимодействовать с ним, используя стандартные команды `kubectl`. | ||
+ | |||
+ | 1. **Просмотр созданных Pod' | ||
+ | ```bash | ||
+ | kubectl get pods -n < | ||
+ | ``` | ||
+ | 2. **Просмотр созданных Service' | ||
+ | ```bash | ||
+ | kubectl get services -n < | ||
+ | ``` | ||
+ | В зависимости от типа Service (ClusterIP, NodePort, LoadBalancer), | ||
+ | |||
+ | ## Шаг 8: Обновление приложения | ||
+ | |||
+ | Helm позволяет легко обновлять развернутые приложения до новых версий Chart' | ||
+ | |||
+ | 1. **Обновление релиза: | ||
+ | ```bash | ||
+ | helm upgrade < | ||
+ | ``` | ||
+ | * `< | ||
+ | * `< | ||
+ | * `-f < | ||
+ | * `--set < | ||
+ | |||
+ | **Пример обновления с новым файлом значений: | ||
+ | ```bash | ||
+ | helm upgrade my-nginx bitnami/ | ||
+ | ``` | ||
+ | |||
+ | ## Шаг 9: Откат к предыдущей версии | ||
+ | |||
+ | Если обновление прошло неудачно, | ||
+ | |||
+ | 1. **Просмотр истории релизов: | ||
+ | ```bash | ||
+ | helm history < | ||
+ | ``` | ||
+ | Эта команда покажет историю всех изменений релиза с указанием ревизий. | ||
+ | 2. **Откат к определенной ревизии: | ||
+ | ```bash | ||
+ | helm rollback < | ||
+ | ``` | ||
+ | * `< | ||
+ | |||
+ | **Пример отката к предыдущей ревизии: | ||
+ | ```bash | ||
+ | helm rollback my-nginx 1 -n my-namespace | ||
+ | ``` | ||
+ | |||
+ | ## Шаг 10: Удаление приложения | ||
+ | |||
+ | Когда приложение больше не нужно, его можно удалить из кластера с помощью Helm. | ||
+ | |||
+ | 1. **Удаление релиза: | ||
+ | ```bash | ||
+ | helm uninstall < | ||
+ | ``` | ||
+ | Эта команда удалит все ресурсы Kubernetes, созданные Helm для данного релиза. | ||
+ | |||
+ | ## Заключение | ||
+ | |||
+ | Helm значительно упрощает процесс развертывания и управления приложениями в Kubernetes. Следуя этим шагам, вы сможете легко устанавливать, |