- Добавлена глобальная переменная EDITOR=nano в Makefile
- Обновлены команды vault (create, edit, rekey) для использования nano
- Обновлена справка с указанием использования nano
- Теперь make vault edit открывает nano вместо vim
Автор: Сергей Антропов
Сайт: https://devops.org.ru
- Расширено описание проекта - теперь это DevOps платформа
- Добавлены ключевые компоненты: Ansible, Docker, Kubernetes
- Структурированы возможности по категориям:
* Ansible (автоматизация)
* Docker (контейнеризация)
* Kubernetes (оркестрация)
- Добавлен раздел быстрого старта для K8s
- Расширен раздел Kubernetes с:
* Основными командами
* Доступными аддонами
* Путями доступа к сервисам
- Заменено название проекта во всех файлах проекта
- Обновлены:
* README.md
* Makefile
* Все файлы документации (.md)
* CI/CD конфигурации (Jenkins, GitLab, GitHub Actions, Azure DevOps)
* Скрипты (setup-cicd.sh, test-custom-images.sh)
* Файлы конфигурации Molecule
- Изменена переменная PROJECT_NAME в Makefile на devops-lab
- Docker образы inecs/ansible-lab:* оставлены без изменений
(чтобы не затрагивать существующие образы в Docker Hub)
- Скрипт был экспериментальным решением для запуска port-forward в контейнере
- Итоговое решение: использование portforward.py напрямую на хосте
- Скрипт не использовался ни в Makefile, ни в документации
- Удалено автоматическое создание port-forward при создании кластера
- Port-forward теперь создается только вручную через make k8s portforward create
- Команда list уже доступна в help
- Обновлены сообщения с подсказками
- Удален скрипт scripts/manage_hosts.py
- Удалены все вызовы из Makefile
- Удалены упоминания из документации
- Обновлена документация по Ingress - теперь требуется ручное добавление в /etc/hosts
- Убрано автоматическое управление /etc/hosts (не состоятельное решение)
- Исправлена логика добавления extraPortMappings в конфигурацию Kind
- Порты 80 и 443 теперь правильно пробрасываются на host (8081, 8443)
- Создана документация k8s-ingress-fix.md с инструкциями
- Создана подробная документация по скриптам (k8s-scripts.md)
- Полностью переписана документация kubernetes-kind.md
- Добавлено содержание с навигацией
- Добавлены разделы: Helm, манифесты, Ingress, port-forward
- Добавлена архитектура взаимодействия
- Добавлены Best Practices и Troubleshooting
- Обновлена справка в Makefile
- Удалены устаревшие команды (manifest update, addon)
- Добавлена ссылка на документацию по скриптам
- Создан скрипт scripts/k8s_status.py для детального отчета
- Показывает: узлы, namespaces, pods, deployments, daemonsets,
statefulsets, services, ingress, PVC, события, Helm релизы
- Исправлена проблема с подключением kubectl (используется
прямой адрес control-plane)
- Команда make k8s status теперь показывает полный отчет
- Добавлен скрипт scripts/manage_hosts.py для управления /etc/hosts
- Автоматическое добавление Ingress хостов при создании кластера
- Автоматическое удаление Ingress хостов при удалении кластера
- Записи помечаются меткой #k8s для разделения со статическими
- Команды: add, remove, cleanup, list
- Добавлен раздел 'Доступ к приложениям'
- Описан доступ через Ingress с примерами hosts файла
- Описан доступ через ClusterIP с ручным port-forward
- Добавлен раздел 'Кроссплатформенность' для macOS и Linux
- Добавлены примеры работы с пользовательскими приложениями
- Добавлен раздел 'Требования к системе' (Python 3, kubectl)
- Описан автоматический port-forward
- Добавлены все команды Helm (apply, delete, update, rollback, list, status)
- Добавлены команды управления Helm репозиториями
- Добавлены команды работы с манифестами
- Обновлены примеры использования
- Добавлен раздел Troubleshooting для port-forward
- Обновлена архитектура с учетом port-forward
- Добавлены порты Ingress и Metrics Server
- Добавлены команды: container-start, container-stop, container-restart, container-status, container-logs
- Локальные команды: create, list, clear, recreate, delete
- Команды контейнера работают через k8s-controller
- Обновлена справка с описанием всех команд
- Создан Dockerfile для контейнера порт-форвардинга
- Скрипт portforward-container.py работает внутри контейнера
- Скрипт portforward_container.py управляет контейнером с хоста
- Контейнер автоматически пробрасывает порты через -p
- Контейнер подключается к сети Kind для доступа к кластеру
- Добавлен k8s-portforward в docker-get-base-tag
- Добавлен port-forward для Ingress HTTP на порт 8081 (localhost:8081 -> ingress-nginx-controller:80)
- Добавлен port-forward для Ingress HTTPS на порт 8443 (localhost:8443 -> ingress-nginx-controller:443)
- Теперь все аддоны доступны через port-forward: Ingress, Prometheus, Grafana, Kiali, Metrics Server
- Скрипт получает kubeconfig из контейнера k8s-controller
- Заменяет server 0.0.0.0 на localhost для локального доступа
- Port-forward запускается на хосте через локальный kubectl
- Все аддоны доступны на localhost: Grafana 3000, Prometheus 9090, Kiali 20001
- Добавлена функция recreate_portforwards() в scripts/portforward.py
- Команда recreate удаляет все существующие port-forward и создает их заново
- Добавлена команда в Makefile: make k8s portforward recreate
- Полезно для переподключения после перезапуска контейнера или кластера
- Создан скрипт scripts/portforward.py для управления port-forward
- Добавлены команды в Makefile:
- make k8s portforward create - создать port-forward для всех сервисов
- make k8s portforward list - показать активные port-forward
- make k8s portforward clear - очистить все port-forward
- make k8s portforward delete PORT - удалить конкретный port-forward
- Сервисы остаются с типом ClusterIP
- Port-forward автоматически создается для Prometheus, Grafana, Kiali и Metrics Server
- Порты: Prometheus 9090, Grafana 3000, Kiali 20001, Metrics Server 4443
- Добавлен проброс порта 4443 для Metrics Server
- Metrics Server теперь доступен на http://localhost:4443
- Обновлена документация с информацией о порте
- Убрана логика патчинга NodePort для Prometheus, Grafana и Kiali
- Сервисы теперь остаются с типом ClusterIP
- Порты пробрасываются через extraPortMappings в Kind конфиге
- Использованы стандартные порты: Prometheus 9090, Grafana 3000, Kiali 20001
- Более простой и надежный подход без ограничений NodePort диапазона
- Istio теперь использует исправленный kubeconfig с IP control-plane узла
- Helm команды теперь используют исправленный kubeconfig
- Создание namespace сделано идемпотентным (не прерывает скрипт при существовании)
- Все аддоны теперь должны устанавливаться корректно
- Удалены ingress_host_http_port и ingress_host_https_port
- Все порты (ingress, prometheus, grafana, kiali) теперь в addon_ports
- Обновлен скрипт create_k8s_cluster.py для работы с новой структурой
- Все порты теперь пробрасываются через extraPortMappings в конфигурации Kind
- Порты теперь видны в контейнерах control-plane и worker
- Добавлен --validate=false для отключения валидации при установке аддонов
- kubectl теперь подключается напрямую к control-plane узлу
- Контейнер k8s-controller автоматически подключается к сети kind
- Все kubectl команды используют --server=https://{name}-control-plane:6443 --insecure-skip-tls-verify
- Все команды make k8s теперь используют единый контейнер k8s-controller
- Упрощена логика именования контейнеров
- Контейнер k8s-controller используется для всех операций с Kubernetes
- Команда destroy теперь запускает delete_hosts.py через контейнер k8s
- Все Python скрипты выполняются внутри Docker контейнера для единообразия
- Если контейнер не запущен, скрипты выполняются на хосте (fallback)
- Добавлено создание контейнеров из секции hosts в create_k8s_cluster.py
- Добавлено удаление контейнеров в команде make k8s destroy
- Создан скрипт scripts/delete_hosts.py для удаления контейнеров
- Контейнеры автоматически создаются в Docker сети из пресета
- Контейнеры удаляются вместе с Kind кластером при make k8s destroy