如何解决如何从本地计算机访问minikube安装在远程VM上?
我有一个CentOS 7 VM,该VM的minikube与--vm-driver=none
运行。在VM本身上,我可以运行kubectl命令与minikube集群进行交互。
由于我是k8s的新手,所以我不确定如何生成所有必要的值以放入~/.kube/config
文件中。我的最终目标是通过在本地计算机上使用kubectl与minikube集群进行交互,就像其他AWS EKS集群一样。
解决方法
要了解本地计算机的~/.kube/config
文件中需要什么,请在远程VM本身上检出~/.kube/config
文件。
您会发现需要在本地计算机的~/.kube/config
文件中添加以下3个项目:
- 集群下的集群
- 上下文中的上下文
- 用户下的用户
要添加这3个项目,首先需要将这3个文件从远程VM复制到本地计算机:
- ca.crt(通常在
~/.minikube/profiles/minikube/ca.crt
上找到) - client.crt(通常在
~/.minikube/profiles/minikube/client.crt
上找到) - client.key(通常在
~/.minikube/profiles/minikube/client.key
上找到)
现在,您需要对这3个文件进行base64编码。例如,如果您使用的是macOS,则可以使用以下命令:
base64 -i <input_file> -o <output_file>
现在您已经准备好更新本地计算机的~/.kube/config
文件。
- 将此集群添加到集群下:
- cluster:
certificate-authority-data: <base64 of ca.crt file>
server: <same ip as remote VM's kubeconfig file,since you've used vm-driver=none>
name: minikube
- 在上下文(与远程VM相同的值)下添加此上下文
- context:
cluster: minikube
user: minikube
name: minikube
- 在用户下添加此用户
- name: minikube
user:
client-certificate-data: <base64 of client.crt file>
client-key-data: <base64 of client.key file>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。