Самый простой способ сделать мини-куб доступным с вашей локальной машины может быть достигнут с помощью переадресации портов s sh (но вы необходимо помнить, что сеанс s sh открыт постоянно, и это не совсем то, что вам нужно, потому что он будет доступен только с вашего локального компьютера).
Вы можете запустить:
ssh <user>@<azure_vm_ip> -L 8443:192.168.99.100:8443
чтобы начать переадресацию портов с локального хоста на мини-куб vm.
Вам также необходимо скопировать эти файлы сертификатов из каталога azure vm ~/.minikube/
на локальный компьютер:
ca.crt
client.crt
client.key
также скопируйте .kube/config
из azure vm на локальный компьютер и отредактируйте пути к файлам сертификатов, упомянутым ранее, и измените IP-адрес сервера на localhost.
второй способ сделать это доступно (на этот раз для внешнего доступа) с помощью переадресации порта s sh возможно, выполнив следующие действия:
В файле /etc/ssh/sshd_config
в azure vm измените GatewayPorts
на yes
, сохраните файл и запустить * 10 26 *
systemctl restart sshd
далее, с sh до вашего azure vm и запустите:
ssh -R 0.0.0.0:8443:192.168.99.100:8443 localhost
запомните о файлах сертификатов и измените IP-адрес сервера в .kube/config
file publi c IP вашего azure vm.
При попытке подключиться к форме мини-куба ваш локальный компьютер может увидеть:
$ kubectl get pods
Unable to connect to the server: x509: certificate is valid for 192.168.99.100, 10.96.0.1, 10.0.0.1, not <your_vm_ip>
Поэтому вам нужно либо использовать флаг --insecure-skip-tls-verify
, либо создать новые действительные сертификаты (или запустите minikube с --apiserver-ips=<public_ip>
, и он сгенерирует для вас действующий сертификат).
ПРИМЕЧАНИЕ: не забудьте разрешить входящий трафик c на azure vm через порт 8443.
Если вы не хотите использовать переадресацию порта s sh, вы можете использовать прокси-сервер любого типа, например nginx, который будет работать на azure vm и пересылать запросы в minkube vm
Наверное, лучший способ. Работа без ВМ:
sudo minikube start --vm-driver=none --apiserver-ips=<public_ip>
--apiserver-ips
необходима для генерации соответствующих сертификатов. --vm-driver=none
не будет создавать vbox vm
Теперь все, что вам нужно, это скопировать сертификаты на локальный компьютер и предоставить соответствующий IP-адрес сервера в файле .kube/confg
.