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

如何在AWS-EKS集群中实现kubectl访问私有化并保留公网服务能力

AWS EKS 匹配需求的部署方案

核心是将EKS控制面的API访问限制、集群工作负载的公网出入流量管控两个配置维度完全拆分,互不影响,完全可以满足需求,具体配置步骤如下:

一、EKS控制面访问限制配置(仅堡垒机可执行kubectl操作)

两种可选配置方式,均可实现仅堡垒机访问EKS API:

  • 方案1(轻量配置):开启EKS控制面公网访问,仅将堡垒机的公网出口IP加入访问白名单
    用eksctl创建集群时的核心配置片段如下:
    vpc:
      clusterEndpoints:
        publicAccess: true
        privateAccess: true
      publicAccessCidrs: ["<你的堡垒机公网IP/32>"]
    
    配置后EKS API的公网入口仅响应堡垒机的请求,其他公网IP的访问会被直接阻断。
  • 方案2(更高安全级):关闭EKS控制面公网访问,仅开启VPC内私有访问
    将堡垒机部署在与EKS集群同VPC或已对等连接的VPC内,此时EKS API仅能被VPC内部资源访问,自然只有堡垒机可以执行kubectl操作,完全避免公网暴露风险。

二、集群应用公网可访问性配置(与控制面配置完全独立)

控制面的访问限制不会影响集群工作负载的公网通信能力,按常规方式配置公网出入口即可:

  • 公网入口配置:部署AWS Load Balancer Controller组件,给需要对外暴露的Service或Ingress添加公网LB注解service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing,控制器会自动创建公网ALB/NLB,公网用户访问LB地址即可访问到集群内的应用。
  • 公网出口配置:若集群内应用需要主动访问公网,给节点所在的公有子网绑定互联网网关(IGW)、私有子网绑定NAT网关即可,无需修改控制面的访问限制规则。

三、效果验证

  • kubectl访问限制验证:使用堡垒机以外的公网设备执行kubectl get nodes命令,会返回连接失败/超时提示,仅堡垒机可正常执行Kubernetes操作命令。
  • 应用公网访问验证:使用任意公网设备访问配置好的公网LB/Ingress地址,可正常获取应用响应内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 12:24:04