kubernetes - 如何从我的本地机器访问 minikube(安装在远程 VM 上)?
问题描述
我有一个 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 复制到本地计算机:
- 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
- 在 users 下添加此用户
- name: minikube
user:
client-certificate-data: <base64 of client.crt file>
client-key-data: <base64 of client.key file>
推荐阅读
- bash - 使用 grep 中的数字进行算术运算
- php - 我如何才能将此重定向到另一个(外部)网站
- docker - 在 Docker 映像中包装 Playwright 时出错
- javascript - 如何读取 response.data.length 的值
- c++ - 如果我打开一个已经在 C++ 中打开的文件会发生什么
- security - 错误:Windows 10 上的 Snort 配置验证失败
- flutter - 内存不足..flutter中的dum堆栈跟踪结束
- python - python random.choices 有偏见吗?
- python-3.x - 在没有 for 循环的情况下切片数组
- css - 有没有办法在 React Native App 中的某个点周围创建弯曲视图(或类似视图)?