feat: добавить команды для работы с манифестами, Helm и Helm репозиториями
Some checks failed
Ansible Testing / lint (push) Has been cancelled
Ansible Testing / test (default) (push) Has been cancelled
Ansible Testing / test (minimal) (push) Has been cancelled
Ansible Testing / test (performance) (push) Has been cancelled
Ansible Testing / deploy-check (push) Has been cancelled
Some checks failed
Ansible Testing / lint (push) Has been cancelled
Ansible Testing / test (default) (push) Has been cancelled
Ansible Testing / test (minimal) (push) Has been cancelled
Ansible Testing / test (performance) (push) Has been cancelled
Ansible Testing / deploy-check (push) Has been cancelled
- Добавлены команды make k8s manifest для работы с манифестами YAML - Добавлены команды make k8s helm для управления Helm чартами - Добавлены команды make k8s helmrepo для управления Helm репозиториями - Создана подробная документация docs/kubernetes-commands.md - Обновлена справка в Makefile Поддерживаемые операции: - manifest: apply, delete, update - helm: apply, delete, update, rollback, list, status - helmrepo: add, list, delete, update, packages
This commit is contained in:
164
Makefile
164
Makefile
@@ -1197,6 +1197,158 @@ k8s:
|
||||
echo "❌ Контейнер $$CONTAINER_NAME не запущен"; \
|
||||
echo "💡 Запустите: make k8s create $$PRESET_ARG"; \
|
||||
fi;; \
|
||||
manifest) \
|
||||
echo "📄 Работа с манифестами..."; \
|
||||
MANIFEST_CMD="$(word 3, $(MAKECMDGOALS))"; \
|
||||
PRESET_ARG="$(word 4, $(MAKECMDGOALS))"; \
|
||||
MANIFEST_ARG="$(word 5, $(MAKECMDGOALS))"; \
|
||||
if [ -z "$$MANIFEST_CMD" ] || [ -z "$$PRESET_ARG" ] || [ -z "$$MANIFEST_ARG" ]; then \
|
||||
echo "❌ Ошибка: Укажите команду, пресет и путь к манифесту"; \
|
||||
echo "💡 Пример: make k8s manifest apply kubernetes https://example.com/manifest.yaml"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
CONTAINER_NAME=k8s-$$PRESET_ARG; \
|
||||
if ! docker ps | grep -q $$CONTAINER_NAME; then \
|
||||
echo "❌ Контейнер $$CONTAINER_NAME не запущен"; \
|
||||
echo "💡 Запустите: make k8s create $$PRESET_ARG"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
CLUSTER_NAME=$$(docker exec $$CONTAINER_NAME kind get clusters | head -1); \
|
||||
case "$$MANIFEST_CMD" in \
|
||||
apply) \
|
||||
echo "📥 Применение манифеста: $$MANIFEST_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; kubectl --server=https://\$${CLUSTER_NAME}-control-plane:6443 --insecure-skip-tls-verify apply -f $$MANIFEST_ARG";; \
|
||||
delete) \
|
||||
echo "🗑️ Удаление ресурсов из манифеста: $$MANIFEST_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; kubectl --server=https://\$${CLUSTER_NAME}-control-plane:6443 --insecure-skip-tls-verify delete -f $$MANIFEST_ARG";; \
|
||||
update) \
|
||||
echo "🔄 Обновление манифеста: $$MANIFEST_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; kubectl --server=https://\$${CLUSTER_NAME}-control-plane:6443 --insecure-skip-tls-verify apply -f $$MANIFEST_ARG --force";; \
|
||||
*) \
|
||||
echo "❌ Неизвестная команда: $$MANIFEST_CMD"; \
|
||||
echo "💡 Доступные команды: apply, delete, update"; \
|
||||
exit 1;; \
|
||||
esac;; \
|
||||
helm) \
|
||||
echo "📦 Работа с Helm..."; \
|
||||
HELM_CMD="$(word 3, $(MAKECMDGOALS))"; \
|
||||
PRESET_ARG="$(word 4, $(MAKECMDGOALS))"; \
|
||||
RELEASE_ARG="$(word 5, $(MAKECMDGOALS))"; \
|
||||
CHART_ARG="$(word 6, $(MAKECMDGOALS))"; \
|
||||
if [ -z "$$HELM_CMD" ] || [ -z "$$PRESET_ARG" ]; then \
|
||||
echo "❌ Ошибка: Укажите команду и пресет"; \
|
||||
echo "💡 Пример: make k8s helm list kubernetes"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
CONTAINER_NAME=k8s-$$PRESET_ARG; \
|
||||
if ! docker ps | grep -q $$CONTAINER_NAME; then \
|
||||
echo "❌ Контейнер $$CONTAINER_NAME не запущен"; \
|
||||
echo "💡 Запустите: make k8s create $$PRESET_ARG"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
CLUSTER_NAME=$$(docker exec $$CONTAINER_NAME kind get clusters | head -1); \
|
||||
case "$$HELM_CMD" in \
|
||||
apply) \
|
||||
if [ -z "$$RELEASE_ARG" ] || [ -z "$$CHART_ARG" ]; then \
|
||||
echo "❌ Ошибка: Укажите имя релиза и чарт"; \
|
||||
echo "💡 Пример: make k8s helm apply kubernetes my-release stable/nginx-ingress"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
echo "📦 Установка Helm чарта: $$CHART_ARG как $$RELEASE_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; helm upgrade --install $$RELEASE_ARG $$CHART_ARG --kube-apiserver=https://\$${CLUSTER_NAME}-control-plane:6443 --kube-token=dummy --kube-context=dummy 2>&1 | grep -v '^WARNING' || true";; \
|
||||
delete) \
|
||||
if [ -z "$$RELEASE_ARG" ]; then \
|
||||
echo "❌ Ошибка: Укажите имя релиза"; \
|
||||
echo "💡 Пример: make k8s helm delete kubernetes my-release"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
echo "🗑️ Удаление Helm релиза: $$RELEASE_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; helm uninstall $$RELEASE_ARG --kube-apiserver=https://\$${CLUSTER_NAME}-control-plane:6443 --kube-token=dummy --kube-context=dummy 2>&1 | grep -v '^WARNING' || true";; \
|
||||
update) \
|
||||
if [ -z "$$RELEASE_ARG" ] || [ -z "$$CHART_ARG" ]; then \
|
||||
echo "❌ Ошибка: Укажите имя релиза и чарт"; \
|
||||
echo "💡 Пример: make k8s helm update kubernetes my-release stable/nginx-ingress"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
echo "🔄 Обновление Helm релиза: $$RELEASE_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; helm upgrade $$RELEASE_ARG $$CHART_ARG --kube-apiserver=https://\$${CLUSTER_NAME}-control-plane:6443 --kube-token=dummy --kube-context=dummy 2>&1 | grep -v '^WARNING' || true";; \
|
||||
rollback) \
|
||||
if [ -z "$$RELEASE_ARG" ]; then \
|
||||
echo "❌ Ошибка: Укажите имя релиза"; \
|
||||
echo "💡 Пример: make k8s helm rollback kubernetes my-release"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
echo "⏪ Откат Helm релиза: $$RELEASE_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; helm rollback $$RELEASE_ARG --kube-apiserver=https://\$${CLUSTER_NAME}-control-plane:6443 --kube-token=dummy --kube-context=dummy 2>&1 | grep -v '^WARNING' || true";; \
|
||||
list) \
|
||||
echo "📋 Список Helm релизов:"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; helm list --kube-apiserver=https://\$${CLUSTER_NAME}-control-plane:6443 --kube-token=dummy --kube-context=dummy --all-namespaces 2>&1 | grep -v '^WARNING' || true";; \
|
||||
status) \
|
||||
if [ -z "$$RELEASE_ARG" ]; then \
|
||||
echo "❌ Ошибка: Укажите имя релиза"; \
|
||||
echo "💡 Пример: make k8s helm status kubernetes my-release"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
echo "📊 Статус Helm релиза: $$RELEASE_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "CLUSTER_NAME=$$CLUSTER_NAME; helm status $$RELEASE_ARG --kube-apiserver=https://\$${CLUSTER_NAME}-control-plane:6443 --kube-token=dummy --kube-context=dummy 2>&1 | grep -v '^WARNING' || true";; \
|
||||
*) \
|
||||
echo "❌ Неизвестная команда: $$HELM_CMD"; \
|
||||
echo "💡 Доступные команды: apply, delete, update, rollback, list, status"; \
|
||||
exit 1;; \
|
||||
esac;; \
|
||||
helmrepo) \
|
||||
echo "🏪 Работа с Helm репозиториями..."; \
|
||||
REPO_CMD="$(word 3, $(MAKECMDGOALS))"; \
|
||||
PRESET_ARG="$(word 4, $(MAKECMDGOALS))"; \
|
||||
NAME_ARG="$(word 5, $(MAKECMDGOALS))"; \
|
||||
URL_ARG="$(word 6, $(MAKECMDGOALS))"; \
|
||||
if [ -z "$$REPO_CMD" ] || [ -z "$$PRESET_ARG" ]; then \
|
||||
echo "❌ Ошибка: Укажите команду и пресет"; \
|
||||
echo "💡 Пример: make k8s helmrepo list kubernetes"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
CONTAINER_NAME=k8s-$$PRESET_ARG; \
|
||||
if ! docker ps | grep -q $$CONTAINER_NAME; then \
|
||||
echo "❌ Контейнер $$CONTAINER_NAME не запущен"; \
|
||||
echo "💡 Запустите: make k8s create $$PRESET_ARG"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
case "$$REPO_CMD" in \
|
||||
add) \
|
||||
if [ -z "$$NAME_ARG" ] || [ -z "$$URL_ARG" ]; then \
|
||||
echo "❌ Ошибка: Укажите имя и URL репозитория"; \
|
||||
echo "💡 Пример: make k8s helmrepo add kubernetes stable https://charts.helm.sh/stable"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
echo "➕ Добавление Helm репозитория: $$NAME_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "helm repo add $$NAME_ARG $$URL_ARG 2>&1 | grep -v '^WARNING' || true; helm repo update";; \
|
||||
list) \
|
||||
echo "📋 Список Helm репозиториев:"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "helm repo list 2>&1 | grep -v '^WARNING' || true";; \
|
||||
delete) \
|
||||
if [ -z "$$NAME_ARG" ]; then \
|
||||
echo "❌ Ошибка: Укажите имя репозитория"; \
|
||||
echo "💡 Пример: make k8s helmrepo delete kubernetes stable"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
echo "🗑️ Удаление Helm репозитория: $$NAME_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "helm repo remove $$NAME_ARG 2>&1 | grep -v '^WARNING' || true";; \
|
||||
update) \
|
||||
echo "🔄 Обновление Helm репозиториев"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "helm repo update 2>&1 | grep -v '^WARNING' || true";; \
|
||||
packages) \
|
||||
if [ -z "$$NAME_ARG" ]; then \
|
||||
echo "❌ Ошибка: Укажите имя репозитория"; \
|
||||
echo "💡 Пример: make k8s helmrepo packages kubernetes stable"; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
echo "📦 Пакеты в репозитории: $$NAME_ARG"; \
|
||||
docker exec $$CONTAINER_NAME bash -c "helm search repo $$NAME_ARG 2>&1 | grep -v '^WARNING' || true";; \
|
||||
*) \
|
||||
echo "❌ Неизвестная команда: $$REPO_CMD"; \
|
||||
echo "💡 Доступные команды: add, list, delete, update, packages"; \
|
||||
exit 1;; \
|
||||
esac;; \
|
||||
*) \
|
||||
echo "☸️ Доступные команды:"; \
|
||||
echo ""; \
|
||||
@@ -1234,6 +1386,18 @@ k8s:
|
||||
echo " 💡 Для: ручного управления kubectl/kind"; \
|
||||
echo " 💡 Пример: make k8s shell kubernetes"; \
|
||||
echo ""; \
|
||||
echo " make k8s manifest [cmd] [preset] [url] - работа с манифестами"; \
|
||||
echo " 💡 Команды: apply, delete, update"; \
|
||||
echo " 💡 Пример: make k8s manifest apply kubernetes https://example.com/deploy.yaml"; \
|
||||
echo ""; \
|
||||
echo " make k8s helm [cmd] [preset] [release] [chart] - работа с Helm"; \
|
||||
echo " 💡 Команды: apply, delete, update, rollback, list, status"; \
|
||||
echo " 💡 Пример: make k8s helm apply kubernetes nginx stable/nginx-ingress"; \
|
||||
echo ""; \
|
||||
echo " make k8s helmrepo [cmd] [preset] [name] [url] - работа с Helm репозиториями"; \
|
||||
echo " 💡 Команды: add, list, delete, update, packages"; \
|
||||
echo " 💡 Пример: make k8s helmrepo add kubernetes stable https://charts.helm.sh/stable"; \
|
||||
echo ""; \
|
||||
echo "💡 Примеры:"; \
|
||||
echo " make k8s create # создать минимальный кластер"; \
|
||||
echo " make k8s create kubernetes # создать кластер с аддонами"; \
|
||||
|
||||
395
docs/kubernetes-commands.md
Normal file
395
docs/kubernetes-commands.md
Normal file
@@ -0,0 +1,395 @@
|
||||
# Команды для работы с Kubernetes
|
||||
|
||||
Автор: Сергей Антропов
|
||||
Сайт: https://devops.org.ru
|
||||
|
||||
## Содержание
|
||||
|
||||
- [Работа с манифестами](#работа-с-манифестами)
|
||||
- [Работа с Helm](#работа-с-helm)
|
||||
- [Работа с Helm репозиториями](#работа-с-helm-репозиториями)
|
||||
|
||||
## Работа с манифестами
|
||||
|
||||
Команды для применения, удаления и обновления манифестов YAML в кластере.
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```bash
|
||||
make k8s manifest [команда] [пресет] [URL_или_путь_к_файлу]
|
||||
```
|
||||
|
||||
### Команды
|
||||
|
||||
#### `apply` - Применение манифеста
|
||||
|
||||
Применяет манифест YAML к кластеру.
|
||||
|
||||
```bash
|
||||
make k8s manifest apply kubernetes https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
|
||||
```
|
||||
|
||||
**Примеры:**
|
||||
```bash
|
||||
# Применение манифеста из URL
|
||||
make k8s manifest apply kubernetes https://example.com/deploy.yaml
|
||||
|
||||
# Применение локального манифеста
|
||||
make k8s manifest apply kubernetes ./manifests/my-app.yaml
|
||||
```
|
||||
|
||||
#### `delete` - Удаление ресурсов
|
||||
|
||||
Удаляет ресурсы из кластера по манифесту.
|
||||
|
||||
```bash
|
||||
make k8s manifest delete kubernetes https://example.com/deploy.yaml
|
||||
```
|
||||
|
||||
#### `update` - Обновление манифеста
|
||||
|
||||
Обновляет ресурсы в кластере, используя манифест.
|
||||
|
||||
```bash
|
||||
make k8s manifest update kubernetes https://example.com/deploy.yaml
|
||||
```
|
||||
|
||||
### Примеры использования
|
||||
|
||||
```bash
|
||||
# Установка NGINX Ingress Controller
|
||||
make k8s manifest apply kubernetes https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml
|
||||
|
||||
# Удаление ресурсов
|
||||
make k8s manifest delete kubernetes https://example.com/deploy.yaml
|
||||
|
||||
# Обновление конфигурации
|
||||
make k8s manifest update kubernetes https://example.com/deploy.yaml --force
|
||||
```
|
||||
|
||||
## Работа с Helm
|
||||
|
||||
Команды для установки, обновления и управления Helm чартами в кластере.
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```bash
|
||||
make k8s helm [команда] [пресет] [релиз] [чант]
|
||||
```
|
||||
|
||||
### Команды
|
||||
|
||||
#### `apply` - Установка/обновление чарта
|
||||
|
||||
Устанавливает новый релиз или обновляет существующий.
|
||||
|
||||
```bash
|
||||
make k8s helm apply kubernetes my-nginx nginx/nginx-ingress
|
||||
```
|
||||
|
||||
**Параметры:**
|
||||
- `пресет` - имя пресета кластера
|
||||
- `релиз` - имя релиза (например: my-nginx)
|
||||
- `чарт` - имя чарта (например: nginx/nginx-ingress)
|
||||
|
||||
**Примеры:**
|
||||
```bash
|
||||
# Установка nginx-ingress
|
||||
make k8s helm apply kubernetes nginx-ingress nginx/nginx-ingress
|
||||
|
||||
# Установка с указанием репозитория
|
||||
make k8s helm apply kubernetes prometheus prometheus-community/prometheus
|
||||
```
|
||||
|
||||
#### `delete` - Удаление релиза
|
||||
|
||||
Удаляет Helm релиз из кластера.
|
||||
|
||||
```bash
|
||||
make k8s helm delete kubernetes my-nginx
|
||||
```
|
||||
|
||||
**Примеры:**
|
||||
```bash
|
||||
# Удаление релиза
|
||||
make k8s helm delete kubernetes nginx-ingress
|
||||
|
||||
# Удаление с флагом --keep-history
|
||||
# (не поддерживается в текущей реализации)
|
||||
```
|
||||
|
||||
#### `update` - Обновление релиза
|
||||
|
||||
Обновляет существующий Helm релиз.
|
||||
|
||||
```bash
|
||||
make k8s helm update kubernetes my-nginx nginx/nginx-ingress
|
||||
```
|
||||
|
||||
#### `rollback` - Откат релиза
|
||||
|
||||
Откатывает релиз к предыдущей версии.
|
||||
|
||||
```bash
|
||||
make k8s helm rollback kubernetes my-nginx
|
||||
```
|
||||
|
||||
**Примеры:**
|
||||
```bash
|
||||
# Откат к предыдущей ревизии
|
||||
make k8s helm rollback kubernetes my-nginx
|
||||
|
||||
# Откат к конкретной ревизии (не поддерживается в текущей реализации)
|
||||
```
|
||||
|
||||
#### `list` - Список релизов
|
||||
|
||||
Показывает список всех установленных Helm релизов.
|
||||
|
||||
```bash
|
||||
make k8s helm list kubernetes
|
||||
```
|
||||
|
||||
**Пример вывода:**
|
||||
```
|
||||
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
|
||||
nginx-ingress default 1 2024-01-15 12:00:00.000000 +0000 UTC deployed nginx-ingress-0.1.0 1.0.0
|
||||
```
|
||||
|
||||
#### `status` - Статус релиза
|
||||
|
||||
Показывает подробную информацию о статусе релиза.
|
||||
|
||||
```bash
|
||||
make k8s helm status kubernetes my-nginx
|
||||
```
|
||||
|
||||
### Примеры использования
|
||||
|
||||
```bash
|
||||
# 1. Установка NGINX Ingress Controller
|
||||
make k8s helm apply kubernetes nginx-ingress nginx/nginx-ingress
|
||||
|
||||
# 2. Проверка статуса
|
||||
make k8s helm status kubernetes nginx-ingress
|
||||
|
||||
# 3. Обновление релиза
|
||||
make k8s helm update kubernetes nginx-ingress nginx/nginx-ingress
|
||||
|
||||
# 4. Просмотр списка релизов
|
||||
make k8s helm list kubernetes
|
||||
|
||||
# 5. Откат релиза
|
||||
make k8s helm rollback kubernetes nginx-ingress
|
||||
|
||||
# 6. Удаление релиза
|
||||
make k8s helm delete kubernetes nginx-ingress
|
||||
```
|
||||
|
||||
## Работа с Helm репозиториями
|
||||
|
||||
Команды для управления Helm репозиториями.
|
||||
|
||||
### Синтаксис
|
||||
|
||||
```bash
|
||||
make k8s helmrepo [команда] [пресет] [имя] [URL]
|
||||
```
|
||||
|
||||
### Команды
|
||||
|
||||
#### `add` - Добавление репозитория
|
||||
|
||||
Добавляет новый Helm репозиторий.
|
||||
|
||||
```bash
|
||||
make k8s helmrepo add kubernetes stable https://charts.helm.sh/stable
|
||||
```
|
||||
|
||||
**Примеры:**
|
||||
```bash
|
||||
# Добавление официального репозитория Helm
|
||||
make k8s helmrepo add kubernetes stable https://charts.helm.sh/stable
|
||||
|
||||
# Добавление репозитория Bitnami
|
||||
make k8s helmrepo add kubernetes bitnami https://charts.bitnami.com/bitnami
|
||||
|
||||
# Добавление репозитория NGINX
|
||||
make k8s helmrepo add kubernetes nginx https://helm.nginx.com/stable
|
||||
|
||||
# Добавление репозитория Prometheus
|
||||
make k8s helmrepo add kubernetes prometheus-community https://prometheus-community.github.io/helm-charts
|
||||
|
||||
# Добавление пользовательского репозитория
|
||||
make k8s helmrepo add kubernetes my-repo https://charts.example.com
|
||||
```
|
||||
|
||||
#### `list` - Список репозиториев
|
||||
|
||||
Показывает список всех добавленных Helm репозиториев.
|
||||
|
||||
```bash
|
||||
make k8s helmrepo list kubernetes
|
||||
```
|
||||
|
||||
**Пример вывода:**
|
||||
```
|
||||
NAME URL
|
||||
stable https://charts.helm.sh/stable
|
||||
bitnami https://charts.bitnami.com/bitnami
|
||||
nginx https://helm.nginx.com/stable
|
||||
```
|
||||
|
||||
#### `delete` - Удаление репозитория
|
||||
|
||||
Удаляет Helm репозиторий.
|
||||
|
||||
```bash
|
||||
make k8s helmrepo delete kubernetes stable
|
||||
```
|
||||
|
||||
**Примеры:**
|
||||
```bash
|
||||
# Удаление репозитория
|
||||
make k8s helmrepo delete kubernetes stable
|
||||
```
|
||||
|
||||
#### `update` - Обновление репозиториев
|
||||
|
||||
Обновляет информацию о всех Helm репозиториях.
|
||||
|
||||
```bash
|
||||
make k8s helmrepo update kubernetes
|
||||
```
|
||||
|
||||
**Примеры:**
|
||||
```bash
|
||||
# Обновление всех репозиториев
|
||||
make k8s helmrepo update kubernetes
|
||||
```
|
||||
|
||||
#### `packages` - Список пакетов
|
||||
|
||||
Показывает список пакетов в указанном репозитории.
|
||||
|
||||
```bash
|
||||
make k8s helmrepo packages kubernetes stable
|
||||
```
|
||||
|
||||
**Примеры:**
|
||||
```bash
|
||||
# Просмотр пакетов в репозитории stable
|
||||
make k8s helmrepo packages kubernetes stable
|
||||
|
||||
# Просмотр пакетов в репозитории nginx
|
||||
make k8s helmrepo packages kubernetes nginx
|
||||
|
||||
# Поиск конкретного пакета
|
||||
make k8s helmrepo packages kubernetes stable | grep nginx
|
||||
```
|
||||
|
||||
### Примеры использования
|
||||
|
||||
```bash
|
||||
# 1. Добавление нескольких репозиториев
|
||||
make k8s helmrepo add kubernetes stable https://charts.helm.sh/stable
|
||||
make k8s helmrepo add kubernetes bitnami https://charts.bitnami.com/bitnami
|
||||
make k8s helmrepo add kubernetes nginx https://helm.nginx.com/stable
|
||||
|
||||
# 2. Просмотр списка репозиториев
|
||||
make k8s helmrepo list kubernetes
|
||||
|
||||
# 3. Обновление репозиториев
|
||||
make k8s helmrepo update kubernetes
|
||||
|
||||
# 4. Поиск пакетов в репозитории
|
||||
make k8s helmrepo packages kubernetes stable
|
||||
|
||||
# 5. Удаление репозитория
|
||||
make k8s helmrepo delete kubernetes my-custom-repo
|
||||
|
||||
# 6. Установка пакета из добавленного репозитория
|
||||
make k8s helm apply kubernetes my-nginx nginx/nginx-ingress
|
||||
```
|
||||
|
||||
## Полный рабочий пример
|
||||
|
||||
```bash
|
||||
# 1. Создание кластера
|
||||
make k8s create kubernetes
|
||||
|
||||
# 2. Добавление Helm репозиториев
|
||||
make k8s helmrepo add kubernetes nginx https://helm.nginx.com/stable
|
||||
make k8s helmrepo add kubernetes bitnami https://charts.bitnami.com/bitnami
|
||||
|
||||
# 3. Обновление репозиториев
|
||||
make k8s helmrepo update kubernetes
|
||||
|
||||
# 4. Просмотр доступных пакетов
|
||||
make k8s helmrepo packages kubernetes nginx
|
||||
|
||||
# 5. Установка NGINX Ingress Controller
|
||||
make k8s helm apply kubernetes nginx-ingress nginx/nginx-ingress
|
||||
|
||||
# 6. Проверка статуса
|
||||
make k8s helm status kubernetes nginx-ingress
|
||||
|
||||
# 7. Просмотр списка релизов
|
||||
make k8s helm list kubernetes
|
||||
|
||||
# 8. Применение манифеста
|
||||
make k8s manifest apply kubernetes https://example.com/deploy.yaml
|
||||
|
||||
# 9. Откат релиза (если нужно)
|
||||
make k8s helm rollback kubernetes nginx-ingress
|
||||
|
||||
# 10. Удаление релиза
|
||||
make k8s helm delete kubernetes nginx-ingress
|
||||
|
||||
# 11. Удаление репозитория
|
||||
make k8s helmrepo delete kubernetes nginx
|
||||
|
||||
# 12. Удаление кластера
|
||||
make k8s destroy kubernetes
|
||||
```
|
||||
|
||||
## Обработка ошибок
|
||||
|
||||
### Ошибка: Контейнер не запущен
|
||||
|
||||
```
|
||||
❌ Контейнер k8s-kubernetes не запущен
|
||||
💡 Запустите: make k8s create kubernetes
|
||||
```
|
||||
|
||||
**Решение:** Запустите кластер перед выполнением команд.
|
||||
|
||||
### Ошибка: Неизвестная команда
|
||||
|
||||
```
|
||||
❌ Неизвестная команда: unknown
|
||||
💡 Доступные команды: apply, delete, update
|
||||
```
|
||||
|
||||
**Решение:** Используйте правильную команду из списка доступных.
|
||||
|
||||
### Ошибка: Не указаны параметры
|
||||
|
||||
```
|
||||
❌ Ошибка: Укажите имя релиза и чарт
|
||||
💡 Пример: make k8s helm apply kubernetes my-release stable/nginx-ingress
|
||||
```
|
||||
|
||||
**Решение:** Укажите все необходимые параметры команды.
|
||||
|
||||
## Дополнительная информация
|
||||
|
||||
- Все команды kubectl и helm выполняются внутри контейнера `k8s-[пресет]`
|
||||
- Вам не нужно устанавливать kubectl или helm локально
|
||||
- Подключение к кластеру происходит через имя узла control-plane
|
||||
- Используется флаг `--insecure-skip-tls-verify` для обхода проблем с сертификатами
|
||||
|
||||
## Автор
|
||||
|
||||
Сергей Антропов
|
||||
Сайт: https://devops.org.ru
|
||||
Reference in New Issue
Block a user