如何在EKS与GKE中创建无节点组的K8s节点?
关于EKS无节点组节点及GKE同类操作的解答
1. EKS节点无eks.amazonaws.com/nodegroup标签是否常见?
这种情况非常常见。EKS支持两种节点管理方式:
- 托管节点组:由EKS官方管理的节点集群,会自动为节点添加
eks.amazonaws.com/nodegroup标签 - 手动注册的外部节点:这类节点不属于任何托管节点组,因此不会自动带上该标签。常见场景包括需要自定义硬件配置、特殊操作系统镜像,或是将现有EC2实例迁移至EKS集群时,都会使用这类节点。
2. EKS创建无节点组节点的方式确认
你提到的方法是正确的,完整流程大致如下:
- 创建具备EKS节点必要权限的IAM角色,需包含
AmazonEKSWorkerNodePolicy、AmazonEKS_CNI_Policy等核心权限 - 启动EC2实例时关联该IAM角色,可选择官方EKS优化镜像或自定义镜像
- 在实例上安装kubelet、kubectl等Kubernetes组件,配置kubeconfig指向目标EKS集群
- 通过
kubeadm join命令或手动配置完成节点注册,加入EKS集群
3. GKE是否支持同类操作?
GKE同样支持手动添加非托管节点(即不通过官方托管节点池创建的节点),具体操作逻辑类似:
- 为目标VM实例分配具备GKE节点权限的IAM角色(比如
roles/container.node),或创建对应的服务账号 - 启动GCE虚拟机(或满足网络连通要求的外部VM),可选用官方GKE优化镜像或自定义镜像
- 在VM上部署kubelet等组件,配置连接目标GKE集群的参数
- 使用GKE集群提供的节点加入命令,完成节点注册
内容的提问来源于stack exchange,提问作者Adi Epshtain
相关产品推荐
相关产品推荐

