Показаны различия между двумя версиями страницы.
| — |
лабораторная_работа:разворачивание_приложений_в_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. Следуя этим шагам, вы сможете легко устанавливать, | ||