minikube是启动一个虚拟机来模拟单节点环境,容器运行在单独的网络环境
可以看到192.168.49.2:8443是api server地址,是虚拟的ip
- (base) [root@localhost access]# kubectl config view
- apiVersion: v1
- clusters:
- - cluster:
- certificate-authority: /root/.minikube/ca.crt
- extensions:
- - extension:
- last-update: Fri, 19 Apr 2024 14:52:06 CST
- provider: minikube.sigs.k8s.io
- version: v1.32.0
- name: cluster_info
- server: https://192.168.49.2:8443
- name: minikube
- contexts:
- - context:
- cluster: minikube
- extensions:
- - extension:
- last-update: Fri, 19 Apr 2024 14:52:06 CST
- provider: minikube.sigs.k8s.io
- version: v1.32.0
- name: context_info
- namespace: default
- user: minikube
- name: minikube
- current-context: minikube
- kind: Config
- preferences: {}
- users:
- - name: minikube
- user:
- client-certificate: /root/.minikube/profiles/minikube/client.crt
- client-key: /root/.minikube/profiles/minikube/client.key
只能在本机访问,所以无法远程访问
- (base) [root@localhost ~]# docker port minikube
- 22/tcp -> 127.0.0.1:32792
- 2376/tcp -> 127.0.0.1:32791
- 5000/tcp -> 127.0.0.1:32790
- 8443/tcp -> 127.0.0.1:32789
- 32443/tcp -> 127.0.0.1:32788
需要通过参数--listen-address=0.0.0.0 --apiserver-ips=主机ip地址参数来重启minikube才能远程访问:
1、如果已经创建了minikube,需要先minikube delete删除
2、重新启动minikube start --listen-address=0.0.0.0 --apiserver-ips=本机ip地址
3、启动成功后,检查监听网络。看到8443/tcp -> 0.0.0.0:32769对应的本机的端口是32769,那么远程通过本机ip地址:32769来访问api server
- (base) [root@localhost access]# docker port minikube
- 22/tcp -> 0.0.0.0:32772
- 2376/tcp -> 0.0.0.0:32771
- 5000/tcp -> 0.0.0.0:32770
- 8443/tcp -> 0.0.0.0:32769
- 32443/tcp -> 0.0.0.0:32768
4、配置远程访问的kubectl参数,需要config(就是kubectl config view命令的输出),修改config中的server地址为第3步的ip端口;config文件中指定的ca.crt、client.crt和client.key三个文件,就可以在远程访问minikube的k8s了。
- E:\k8s>kubectl.exe --kubeconfig C:\Users\Administrator\.kube\config get nodes
- NAME STATUS ROLES AGE VERSION
- minikube Ready control-plane 24m v1.28.3
参考: