Удаленное подключение к хосту с minikube в ubuntu 20.04 (Docker)
Делаю:
13.08.2022
$ export \
API_SERVER=192.168.1.101
где 192.168.1.101 - адрес хоста на котором будет запущен minikube.
Без apiserver-ips не будет работать proxy и будет ошибка “Unable to connect to the server: x509: certificate is valid for…”
// Команда запуска minikube с apiserver-ips
$ minikube start --profile ${PROFILE} --embed-certs --apiserver-ips=${API_SERVER}
$ minikube --profile ${PROFILE} ip
192.168.49.2
$ kubectl cluster-info
Сейчас в конфиге ~/.kube/config в ключе server прописано https://192.168.49.2:8443
$ cat ~/.kube/config
server: https://192.168.49.2:8443
Устанавливаем Nginx
$ sudo apt update
$ sudo apt install -y nginx
$ cd /etc/nginx/
$ sudo cp nginx.conf nginx.conf.orig
$ sudo vi /etc/nginx/nginx.conf
Добавил блок
stream {
server {
listen 192.168.1.101:51999;
#TCP traffic will be forwarded to the specified server
proxy_pass 192.168.49.2:8443;
}
}
$ sudo nginx -t
$ sudo systemctl restart nginx
$ vi ~/.kube/config
server: https://192.168.49.2:8443
меняю на
server: https://192.168.1.101:51999
Настраиваем Firewall
$ sudo ufw allow ssh
$ sudo ufw enable
$ sudo ufw allow from 192.168.1.101/24 to any port 51999
$ sudo ufw status verbose
Проверка на minikube хосте
$ kubectl cluster-info
Kubernetes control plane is running at https://192.168.1.101:51999
CoreDNS is running at https://192.168.1.101:51999/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
Проверка на хосте с которого буду выполнять команды
$ telnet 192.168.1.101 51999
// Копирую ~/.kube/config с хоста с minikube на хост с которого буду выполнять команды.
$ scp 192.168.1.101:/home/marley/.kube/config ~/.kube/config
$ kubectl cluster-info
Kubernetes control plane is running at https://192.168.1.101:51999
CoreDNS is running at https://192.168.1.101:51999/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
marley-minikube Ready control-plane 24m v1.24.3