k8sのサービスへ別マシンから接続するには、ポートフォワーディングを設定します。例えばk8sのdashbordをアクセスする場合には、設定に必要な情報を次の手順で取得
$ microk8s kubectl get all --all-namespaces | grep dashboard | grep TCP
kube-system service/kubernetes-dashboard ClusterIP 10.152.183.19 <none> 443/TCP
必要な部分は太字の箇所
kube-system service/kubernetes-dashboard ClusterIP 10.152.183.19 443/TCP
外部からアクセスする場合のポートを10443とした場合のportforward設定の例;10443が既に使われていた場合はエラーとなるので、別のポートを指定する。
microk8s.kubectl port-forward --address 0.0.0.0 -n kube-system service/kubernetes-dashboard 10443:443 &
wordpressをアクセスする場合;外部マシンからhttp://xxx.xxx.xxx.xxx:20443/をアクセス
(xxx.xxx.xxx.xxxはk8sマシンのIPアドレス)
microk8s kubectl get all --all-namespaces | grep wordpress | grep TCP
helm-test service/test-wordpress LoadBalancer 10.152.183.226 <pending> 80:30034/TCP,443:30311/TC
microk8s.kubectl port-forward --address 0.0.0.0 -n helm-test service/test-wordpress 20443:443 &
Forwarding from 0.0.0.0:20443 -> 8443