refactor: удален скрипт manage_hosts.py и все упоминания
- Удален скрипт scripts/manage_hosts.py - Удалены все вызовы из Makefile - Удалены упоминания из документации - Обновлена документация по Ingress - теперь требуется ручное добавление в /etc/hosts - Убрано автоматическое управление /etc/hosts (не состоятельное решение)
This commit is contained in:
@@ -114,50 +114,7 @@ python3 scripts/portforward.py clear
|
||||
|
||||
---
|
||||
|
||||
### 4. `manage_hosts.py`
|
||||
|
||||
**Назначение:** Автоматическое управление записями в `/etc/hosts` для Ingress ресурсов.
|
||||
|
||||
**Принцип работы:**
|
||||
|
||||
1. **Получение списка Ingress:**
|
||||
- Получает kubeconfig из контейнера `k8s-controller`
|
||||
- Выполняет `kubectl get ingress --all-namespaces`
|
||||
- Извлекает все хосты из Ingress правил
|
||||
|
||||
2. **Работа с /etc/hosts:**
|
||||
- Использует метку `#k8s` для различения автоматических и ручных записей
|
||||
- Добавляет записи в формате: `127.0.0.1 <hostname> #k8s`
|
||||
- Удаляет только записи с меткой `#k8s`
|
||||
|
||||
3. **Автоматизация:**
|
||||
- Вызывается автоматически после:
|
||||
- `make k8s create` (добавление)
|
||||
- `make k8s destroy` (удаление)
|
||||
- `make k8s manifest apply/delete` (обновление)
|
||||
- `make k8s helm apply/delete/update` (обновление)
|
||||
|
||||
**Команды:**
|
||||
- `add` - добавляет все Ingress хосты в /etc/hosts
|
||||
- `remove` - удаляет все записи с меткой #k8s
|
||||
- `cleanup` - удаляет записи если кластер недоступен
|
||||
- `list` - показывает текущие k8s записи
|
||||
|
||||
**Пример использования:**
|
||||
```bash
|
||||
sudo python3 scripts/manage_hosts.py add
|
||||
sudo python3 scripts/manage_hosts.py list
|
||||
sudo python3 scripts/manage_hosts.py remove
|
||||
```
|
||||
|
||||
**Безопасность:**
|
||||
- Работает только с записями, помеченными `#k8s`
|
||||
- Не трогает ручные записи пользователя
|
||||
- Требует sudo для редактирования `/etc/hosts`
|
||||
|
||||
---
|
||||
|
||||
### 5. `k8s_status.py`
|
||||
### 4. `k8s_status.py`
|
||||
|
||||
**Назначение:** Детальный отчет о состоянии Kubernetes кластера.
|
||||
|
||||
|
||||
@@ -291,9 +291,24 @@ make k8s manifest apply kubernetes ./nginx-deployment.yaml
|
||||
|
||||
## Управление Ingress
|
||||
|
||||
### Автоматическое управление /etc/hosts
|
||||
### Доступ к приложениям через Ingress
|
||||
|
||||
При создании Ingress ресурсов, их хосты автоматически добавляются в `/etc/hosts` с меткой `#k8s`:
|
||||
Для доступа к приложениям по доменным именам нужно вручную добавить записи в `/etc/hosts`:
|
||||
|
||||
```bash
|
||||
# Добавить запись в /etc/hosts
|
||||
echo "127.0.0.1 grafana.local #k8s" | sudo tee -a /etc/hosts
|
||||
|
||||
# Очистить DNS кеш macOS
|
||||
sudo killall -HUP mDNSResponder
|
||||
```
|
||||
|
||||
После этого приложение будет доступно по адресу:
|
||||
```
|
||||
http://grafana.local:8081
|
||||
```
|
||||
|
||||
**Пример манифеста Ingress:**
|
||||
|
||||
```yaml
|
||||
apiVersion: networking.k8s.io/v1
|
||||
@@ -315,23 +330,10 @@ spec:
|
||||
number: 80
|
||||
```
|
||||
|
||||
После применения этого манифеста в `/etc/hosts` автоматически добавится:
|
||||
```
|
||||
127.0.0.1 grafana.local #k8s
|
||||
```
|
||||
|
||||
### Доступ к приложению
|
||||
|
||||
После установки Ingress и портов, приложение доступно по адресу:
|
||||
```
|
||||
http://grafana.local
|
||||
```
|
||||
|
||||
### Удаление записей
|
||||
|
||||
Записи автоматически удаляются при:
|
||||
- Удалении кластера (`make k8s destroy`)
|
||||
- Удалении Ingress манифеста (`make k8s manifest delete`)
|
||||
**Важно:**
|
||||
- Записи в `/etc/hosts` нужно добавлять вручную
|
||||
- Используйте порт 8081 для HTTP и 8443 для HTTPS
|
||||
- Для удаления записей используйте sudo
|
||||
|
||||
---
|
||||
|
||||
@@ -729,15 +731,18 @@ make k8s create kubernetes
|
||||
|
||||
**Решение:**
|
||||
```bash
|
||||
# Проверьте /etc/hosts
|
||||
cat /etc/hosts | grep k8s
|
||||
|
||||
# Добавьте вручную
|
||||
sudo scripts/manage_hosts.py add
|
||||
|
||||
# Проверьте Ingress
|
||||
make k8s shell kubernetes
|
||||
kubectl get ingress --all-namespaces
|
||||
|
||||
# Добавьте запись в /etc/hosts вручную
|
||||
echo "127.0.0.1 grafana.local #k8s" | sudo tee -a /etc/hosts
|
||||
|
||||
# Очистите DNS кеш
|
||||
sudo killall -HUP mDNSResponder
|
||||
|
||||
# Проверьте доступность
|
||||
curl http://grafana.local:8081
|
||||
```
|
||||
|
||||
### Helm чарты не устанавливаются
|
||||
|
||||
Reference in New Issue
Block a user