Удаленное подключение к хосту с minikube в ubuntu 20.04


Делаю:
04.10.2021


$ export \
  API_SERVER=192.168.0.11


где 192.168.0.11 - адрес хоста на котором будет запущен 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 nginx.conf

Добавил блок

stream {
  server {
      listen 192.168.0.11: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.0.11:51999


Настраиваем Firewall

$ sudo ufw allow ssh
$ sudo ufw enable

$ sudo ufw allow from 192.168.0.11/24 to any port 51999

$ sudo ufw status verbose


Проверка

$ kubectl get pods Unable to connect to the server: x509: certificate is valid for 192.168.49.2, 10.96.0.1, 127.0.0.1, 10.0.0.1, not 192.168.0.11

$ kubectl cluster-info
Kubernetes control plane is running at https://192.168.49.2:8443
CoreDNS is running at https://192.168.49.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy


Проверка на удаленном хосте


$ telnet 192.168.0.11 51999


$ kubectl cluster-info


Дополнительно

Пример с драйвером kvm

Пример с драйвером virtualbox