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

如何将本地kubectl指向EC2实例部署的K8s集群?

自建EC2 K8s集群配置本地kubectl连接

和EKS的一键命令不同,自建在EC2上的K8s集群需要手动迁移并配置kubeconfig文件,具体步骤如下:

1. 在EC2控制节点获取kubeconfig

K8s控制节点默认会生成kubeconfig文件,路径一般为~/.kube/config。如果是用kubeadm部署的集群,初始化完成后通常会提示你将/etc/kubernetes/admin.conf复制到该路径,先确认文件存在:

cat ~/.kube/config

检查内容里是否包含server字段(指向K8s API服务器地址)和有效的认证信息。

2. 将kubeconfig传输到本地机器

用scp命令把控制节点的kubeconfig文件传到本地,替换以下参数:

  • <EC2_USER>:EC2实例的登录用户名(比如ec2-user、ubuntu)
  • <EC2_PUBLIC_IP>:EC2实例的公网IP或弹性IP
scp <EC2_USER>@<EC2_PUBLIC_IP>:~/.kube/config ~/.kube/ec2-k8s-config

3. 配置本地kubectl使用该集群

有三种常用方式:

方式一:临时指定kubeconfig

每次执行kubectl命令时加上--kubeconfig参数:

kubectl --kubeconfig=~/.kube/ec2-k8s-config get nodes

方式二:合并到本地默认kubeconfig

把新配置合并到本地默认的~/.kube/config,之后无需每次指定:

kubectl config view --merge --flatten --kubeconfig=~/.kube/ec2-k8s-config >> ~/.kube/config

完成后可以用kubectl config get-contexts查看所有集群,用kubectl config use-context <CLUSTER_CONTEXT_NAME>切换到EC2集群。

方式三:设置环境变量临时生效

在当前终端会话中设置KUBECONFIG环境变量,同时加载多个配置:

export KUBECONFIG=~/.kube/config:~/.kube/ec2-k8s-config

关键注意事项

  • 安全组配置:确保EC2控制节点的安全组允许本地机器IP访问6443端口(K8s API服务器默认端口)。
  • API服务器地址:如果kubeconfig里的server字段是EC2内网IP,本地无法直接访问,需要打开本地的kubeconfig文件,将其替换为EC2的公网IP或弹性IP。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:50:24