You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确连接本地部署的MiniKF k8s集群?

本地连接arrikto/minikf内置K8s集群正确操作方法

直接复制Vagrant虚拟机内的./kube/config到本地不生效,核心原因是原配置文件内的APIServer地址是Vagrant私网网段/虚拟机内部回环地址,本地主机无法直接路由,同时内置证书绑定的是虚拟机内部主机标识,直连会触发证书校验失败。
按以下步骤操作即可正常连接:

  • 第一步:在本地存放MiniKF Vagrantfile的目录下,执行命令获取Vagrant虚拟机的SSH连接参数,记录输出中的HostName、Port、IdentityFile三个字段值:
vagrant ssh-config
  • 第二步:登录Vagrant虚拟机导出扁平化的合法kubeconfig文件,避免证书、密钥路径引用虚拟机内部路径失效:
# 登录虚拟机
vagrant ssh
# 导出kubeconfig到临时目录
kubectl config view --flatten > /tmp/kubeconfig-minikf
# 退出虚拟机
exit
# 将导出的配置文件复制到本地kube配置目录
vagrant scp default:/tmp/kubeconfig-minikf ~/.kube/config-minikf
  • 第三步:建立SSH隧道将本地端口映射到虚拟机内部的K8s APIServer(默认APIServer监听虚拟机内6443端口),命令里的参数替换成第一步记录的对应值,执行后会在后台常驻:
ssh -i <记录的IdentityFile路径> -p <记录的SSH端口> -L 6443:127.0.0.1:6443 vagrant@<记录的HostName> -fN

默认参数下命令示例:

ssh -i ./.vagrant/machines/default/virtualbox/private_key -p 2222 -L 6443:127.0.0.1:6443 vagrant@127.0.0.1 -fN

如果本地6443端口已经被其他服务占用,可以把命令里第一个6443换成任意未占用端口(比如16443)即可。

  • 第四步:修改本地的~/.kube/config-minikf配置:
    • 找到clusters列表下对应集群的server字段,值改为https://127.0.0.1:6443(如果上一步换了本地端口,这里对应改端口号)
    • 在该集群配置块下新增一行insecure-skip-tls-verify: true,跳过本地环境的证书域名校验
  • 第五步:指定配置文件测试集群连通性:
export KUBECONFIG=~/.kube/config-minikf
kubectl get nodes

命令正常返回节点列表即代表连接成功。

连接成功后直接执行kubectl port-forward即可完成S3服务的端口转发,MiniKF内置S3服务默认在minio命名空间下,转发示例:

kubectl port-forward svc/minio -n minio 9000:9000

执行后本地访问127.0.0.1:9000即可对接内置S3服务。

注意:如果重启了Vagrant虚拟机,需要重新执行第三步的SSH隧道命令,否则连接会中断。

内容的提问来源于stack exchange,提问作者Tlaloc-ES

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 15:15:17