我有一个 CentOS 7 虚拟机,它的 minikube 运行--vm-driver=none
. 在 VM 本身上,我可以运行 kubectl 命令与 minikube 集群进行交互。
由于我是 k8s 的新手,我不确定如何生成所有必要的值以放入~/.kube/config
文件中。我的最终目标是通过在本地机器上使用 kubectl 与 minikube 集群进行交互,就像我的其他 AWS EKS 集群一样。
我有一个 CentOS 7 虚拟机,它的 minikube 运行--vm-driver=none
. 在 VM 本身上,我可以运行 kubectl 命令与 minikube 集群进行交互。
由于我是 k8s 的新手,我不确定如何生成所有必要的值以放入~/.kube/config
文件中。我的最终目标是通过在本地机器上使用 kubectl 与 minikube 集群进行交互,就像我的其他 AWS EKS 集群一样。
要了解您在本地计算机~/.kube/config
文件中需要什么,请检查~/.kube/config
远程 VM 本身上的文件。
您会发现您需要在本地机器的~/.kube/config
文件中添加这 3 项:
要添加这 3 个项目,首先需要将这 3 个文件从远程 VM 复制到本地计算机:
~/.minikube/profiles/minikube/ca.crt
)~/.minikube/profiles/minikube/client.crt
)~/.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
- 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>