我有一个CentOS 7虚拟机,它有运行--vm-driver=none
的minikube。在虚拟机本身上,我可以运行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>