Поток:
кластер kubernetes с сервером API (https://192.168.0.10:6443) <-> балансировщик нагрузки (10.10.0.2) <-> ноутбук.
Идея:
На моем ноутбуке я бы хотел запустить kubectl, указывающий на балансировщик нагрузки, где уважаемый прокси перенаправит меня на сервер API.
Шаги:
- Iизменил ip сервера в файле kubeconfig (на моем ноутбуке) на IP-адрес LB:
был https://192.168.0.10:6443 равен http://10.10.0.2:8080/
- я настроил nginx следующим образом:
server {
listen 8080 default_server;
listen [::]:8080 default_server;
server_name _;
location / {
proxy_pass https://192.168.0.10:6443;
}
}
Сейчас выполняетсянапример, kubectl получить узлы Я ожидал получить список узлов, но он не будет работать:
ошибка: Вы должны войти в систему на сервере (неавторизовано)
$ curl http://10.10.0.2:8080/
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {
},
"status": "Failure",
"message": "Unauthorized",
"reason": "Unauthorized",
"code": 401
Если я добавлю в конфигурацию nginx:
ssl on;
ssl_certificate /root/certs/admin-k-master-1.pem;
ssl_certificate_key /root/certs/admin-k-master-1-key.pem;
и изменим IP-адрес файлового сервера kubeconfig на https://10.10.0.2:8080/
$ kubect get nodes
Unable to connect to the server: x509: certificate is valid for 192.168.0.10 not 10.10.0.2
Естьпохожая тема но это не относится к kubectl.
Как мне этого добиться? или что я делаю не так.