AWS PayPal代付 Amazon EKS 架构详解:在 AWS 上运行 Kubernetes 的部署步骤、网络设计与故障排查

亚马逊aws / 2026-10-21 15:30:16

如果需要更深入咨询了解可以联系全球代理上TG: @cloudcup  他们在云平台领域有更专业的知识和建议,他们有国际阿里云,国际腾讯云,国际华为云,aws亚马逊,谷歌云一级代理的渠道,微软云开户充值。oss防风控上传加密系统。客服1V1服务,支持免实名、免备案、免绑卡。开通即享专属VIP优惠、充值秒到账、官网下单享双重售后支持。

用户搜索这类主题,通常不是为了了解 Kubernetes 的定义,而是在评估一件更具体的事情:到底要不要在 AWS 上用 EKS 托管集群,应该怎么建,网络怎么配,后续怎么升级,出了问题怎么排查。真正困扰团队的,往往不是“EKS 是什么”,而是“为什么节点加不进集群”“为什么 Service 暴露不了公网”“为什么 Pod 能启动但拉不到镜像”“为什么升级后业务中断”。本文直接围绕这些操作问题展开。

先回答决策阶段最容易卡住的 4 个问题

1. EKS 适合什么团队直接上手

如果你已经在 AWS 上有 VPC、子网、IAM、ALB/NLB 使用经验,并且希望把控制面运维交给 AWS,EKS 是比较稳妥的选择。若团队连 VPC 划分、子网路由、安全组都不熟,先从最小集群验证网络链路,再上业务,避免一开始就做多可用区复杂架构。

2. 节点组应该选 Managed Node Group 还是 Fargate

大多数生产环境会优先选择 Managed Node Group。原因很实际:日志采集、DaemonSet、存储插件、网络观测、GPU、系统级调优都更好做。Fargate 更适合短时任务、隔离要求高的小型工作负载,但在调试、成本、可观测性上不一定更省事。

3. EKS 难点不在集群创建,而在网络与权限

EKS 控制台创建集群本身不复杂,真正容易失败的是以下环节:子网标签不对导致负载均衡器无法自动发现;节点 IAM 权限缺失导致无法加入集群;NAT 或 VPC Endpoint 未配置导致私网节点拉不到镜像;aws-auth 或 Access Entry 配置错误导致 kubectl 无权限访问。

4. 生产环境是否必须多可用区

AWS PayPal代付 建议至少两个可用区。不是为了“高可用”这个口号,而是为了避免某个 AZ 的节点组异常时,Deployment 无法调度。尤其是 ALB + Ingress 场景,多 AZ 子网能减少单点故障。不过数据库、缓存、EBS 绑定卷的调度策略要同步设计,否则 Pod 会因卷和节点不在同一可用区而无法运行。

AWS PayPal代付 部署前准备:别在创建集群后才补网络和权限

账号与权限要求

建议使用具备以下 AWS 权限的 IAM 角色进行创建,而不是直接使用长期 Access Key 的个人账号。

资源最低要求常见遗漏
EKS创建集群、节点组、访问项只给了查看权限,没有创建 IAM 关联权限
EC2VPC、子网、安全组、路由表、Launch Template没有 Describe 权限,控制台列表为空
IAM创建/关联 EKS 集群角色、节点角色缺失 PassRole
ELB创建 ALB/NLBIngress Controller 运行后无法创建负载均衡
ECR拉取镜像私网节点无 ECR Endpoint 或权限不足

所需资源

  • AWS 账号与管理员或受限但完整的 EKS/IAM/EC2 权限
  • 一个规划好的 VPC
  • 至少 2 个公有子网和 2 个私有子网,分布在不同可用区
  • 本地已安装 AWS CLI、kubectl、eksctl 或仅使用控制台
  • 用于域名解析的 Route 53 或第三方 DNS

VPC 与子网建议

EKS 最常见的错误,是先创建集群,后发现子网不适合业务。建议在创建前按下面方式规划。

组件建议原因
控制面访问优先开启公网+CIDR 限制,或私网访问配合堡垒机/VPN兼顾可维护性与安全
工作节点优先放私有子网减少直接暴露公网面
ALB面向公网的 Ingress 放公有子网外部流量可直接进入
内部服务Internal NLB/ALB 放私有子网仅 VPC 内访问

子网还需要正确标签,否则 AWS Load Balancer Controller 不能自动识别。

子网类型标签键标签值
公有子网kubernetes.io/role/elb1
私有子网kubernetes.io/role/internal-elb1
集群关联kubernetes.io/cluster/集群名shared 或 owned

详细操作教程:从控制台创建可用的 EKS 集群

步骤 1:创建 EKS 集群

进入 AWS 控制台,打开 EKS,点击“Add cluster”或“Create cluster”。

建议这样填写关键参数:

参数建议值注意事项
Cluster nameprod-eks / test-eks名称不要后续频繁变更,很多脚本会引用
Kubernetes version选择当前稳定版本不要直接上最新小版本做生产首发
Cluster service role专用 IAM Role需附加 AmazonEKSClusterPolicy 等策略
VPC已规划好的业务 VPC后续不能随意切换
Subnets至少 2 个 AZ 的子网建议集群可见多个私有子网
Endpoint access公网+指定办公 IP,或私网全公网开放后再忘记收敛是常见风险

如果是首次搭建,建议先使用公网 API 访问并限制来源 IP,确认 kubectl 和节点工作正常后,再切换到私网访问。

步骤 2:创建 Managed Node Group

集群创建完成后,在集群页面点击“Compute”→“Add node group”。

关键参数不要随便默认:

参数推荐填写说明
Node IAM role专用节点角色需含 EKS Worker、ECR ReadOnly、CNI 等策略
AMI typeAmazon Linux 2 或 BottlerocketLinux 运维习惯强的团队可选 AL2
Capacity typeOn-Demand / Spot 混合核心业务别只用 Spot
Instance typesm6i.large、m6a.large、c6i.large 等不要只选单一规格,避免容量不足
Disk size40GB 起默认过小会导致镜像和日志挤满磁盘
Scaling configmin 2 / desired 2 / max 4生产环境避免单节点

很多用户把节点磁盘保持默认 20GB,后面部署监控、日志、多个镜像后,很快出现磁盘不足,Pod 被驱逐。对 Java、镜像偏大的业务,建议至少 40GB,日志较多时直接 80GB。

步骤 3:配置 kubectl 访问并验证节点

在本地执行以下命令:

<code>aws eks update-kubeconfig --region ap-southeast-1 --name prod-eks</code>

然后检查:

<code>kubectl get nodes</code>

如果返回 Unauthorized,优先检查当前 IAM 身份是否被允许访问集群。如果节点长时间不出现,重点检查以下几项:

  • 节点角色是否附加了必须策略
  • 私有子网是否能访问 EKS/ECR/STS
  • 安全组是否阻断了节点到控制面的通信
  • Launch Template 是否覆盖了错误的用户数据

服务发布实践:Ingress、负载均衡、DNS 与 HTTPS 怎么落地

安装 AWS Load Balancer Controller

很多业务卡在“Service type=LoadBalancer 可以出公网,但 Ingress 不工作”。在 EKS 中,如果要用 ALB 管理七层路由,通常需要部署 AWS Load Balancer Controller,而不是只依赖 Kubernetes 默认能力。

安装前先确认:

  • 已启用 OIDC Provider
  • 已创建对应 IAM Role for Service Account
  • AWS PayPal代付 子网标签正确

如果 Controller Pod 启动正常,但 ALB 没创建,先看控制器日志,重点查 IAM 权限与子网发现失败信息。

Ingress 典型配置注意点

配置项建议错误表现
ingressClassNamealb未指定时资源创建但不生效
schemeinternet-facing 或 internal选错会导致访问路径完全不对
target-typeip与 CNI、节点模式不一致时转发异常
certificate-arnACM 证书 ARNHTTPS 无法监听

如果是网站应用,建议证书放 ACM,DNS 放 Route 53,避免手动上传证书和重复维护续期。

DNS 与 HTTPS 配置步骤

创建 ALB 后,在 Route 53 中为域名添加 Alias 记录指向 ALB。若使用第三方 DNS,则创建 CNAME 到 ALB 域名。HTTPS 建议使用 ACM 申请证书并绑定到 Ingress 注解中。若浏览器访问提示证书无效,优先检查:

  • 域名是否与证书 SAN 完全匹配
  • DNS 是否已切到 ALB
  • Ingress 注解中的 certificate ARN 是否正确
  • 是否同时开启了 80 到 443 跳转

存储、数据库连接与网络排障:业务上线前必须测通

Pod 连接 RDS/MySQL 失败怎么查

AWS PayPal代付 这是 AWS 上运行 Kubernetes 最常见的问题之一。不要先怀疑应用配置,按链路查:

检查项验证方式常见原因
DNS 解析在 Pod 内 nslookup RDS 地址CoreDNS 异常或 VPC DNS 关闭
网络连通telnet 或 nc 到 3306RDS 安全组未放行节点网段/Pod 网段
账号权限本地和 Pod 内分别测试连接MySQL 用户授权主机不对
路由与 NACL检查子网路由和网络 ACL跨子网限制导致连接超时

如果使用 Security Group for Pods 或更细粒度网络策略,数据库白名单要按实际流量源放行,不要只看节点安全组。

持久化存储怎么选

大多数有状态工作负载会用 EBS CSI Driver。注意 EBS 卷是可用区级资源,StatefulSet 调度时要让 Pod 和卷保持在同一可用区。若业务需要多节点共享文件系统,直接改用 EFS,不要强行让多个 Pod 共享单块 EBS。

镜像拉取慢或失败的处理方式

  • 私网节点拉 ECR 镜像,优先配置 ECR API、ECR DKR、S3、STS 的 VPC Endpoint
  • 跨区域拉镜像时,尽量把镜像同步到本区域 ECR
  • 节点磁盘不足会表现为 ImagePullBackOff 伴随写入失败
  • 企业环境若使用代理,需额外处理 containerd/docker 的代理参数

不同场景下的配置建议

场景建议架构重点配置
个人开发者1 个测试集群 + 1 个节点组控制面公网限制办公 IP,2 台 m6a.large 即可
企业用户多 AZ 集群 + 独立测试/生产环境节点组分层,系统组件与业务组件隔离
跨境业务按用户区域就近部署多个 EKS 集群配合 Global Accelerator、Route 53 延迟路由
网站应用ALB Ingress + ACM + Route 53HTTP 跳转 HTTPS,开启 WAF
数据库业务EKS 连接 RDS/ElastiCache优先私网互通,限制安全组来源

如果是高并发 API 场景,节点组建议至少拆成两层:系统组件层和业务层,避免监控、日志、Ingress 与应用抢占资源。还可以通过 taints/tolerations 把核心服务固定在更高配置节点上。

故障排查清单:比盲目重建集群更省时间

节点加入失败

依次检查 IAM 角色、用户数据、私网出网、EKS API 访问、安全组。最有效的方法是直接登录节点查看 kubelet 日志与 bootstrap 日志。

Pod 一直 Pending

优先看 kubectl describe pod。常见原因包括节点资源不足、PVC 未绑定、节点选择器不匹配、污点未容忍、对应可用区没有可用节点。

Service 有 EXTERNAL-IP 但访问超时

检查负载均衡器监听器是否正常、后端目标组健康检查是否通过、安全组是否放行 80/443、应用容器是否真正监听对应端口。

集群升级后业务异常

先看是否有 API 版本弃用、Ingress Controller 或 CSI Driver 未同步升级、PodDisruptionBudget 配置过严导致节点滚动失败。升级前务必在测试环境跑一次版本兼容检查。

AWS PayPal代付 优化建议:上线后重点做这 4 类优化

安全优化

  • AWS PayPal代付 控制面 API 不要长期全网开放,限制来源 IP 或改私网访问
  • 节点放私有子网,公网入口只交给 ALB/NLB
  • 使用 IAM Role for Service Account,不要把 AWS 凭证写进 Secret
  • 为 Ingress 前置 WAF,至少拦截常见扫描流量

性能优化

  • 节点规格优先统一 CPU 架构,避免镜像兼容问题
  • CoreDNS、kube-proxy、CNI 插件预留独立资源
  • 通过 HPA 与 Cluster Autoscaler/Karpenter 配合自动扩缩
  • 对高连接服务优先压测 NLB 与 ALB 路径差异

成本优化

  • 非核心工作负载放 Spot 节点组
  • 镜像体积控制在合理范围,降低拉取与存储成本
  • 日志不要无限制输出到 CloudWatch,设置保留天数
  • 测试环境按时自动缩容或停机

稳定性优化

  • 关键业务至少两个 AZ,每个 AZ 保证可调度容量
  • 为 Deployment 设置 requests/limits,避免资源争抢
  • 配置 PodDisruptionBudget,防止滚动升级时实例被清空
  • 定期做节点替换演练、证书轮换演练和恢复演练

如果你正在做 AWS 上运行 Kubernetes 的方案评估,可以把判断标准收敛成一句话:先看团队能不能管好网络、权限和升级,再决定是否上 EKS。EKS 本身创建不难,真正影响交付速度的是 VPC、子网、节点组、入口流量、数据库连通和后续变更能力。按本文步骤先做一套最小可运行环境,再扩展到生产,会比一开始追求“大而全”的架构更稳。

如果需要更深入咨询了解可以联系全球代理上TG: @cloudcup  他们在云平台领域有更专业的知识和建议,他们有国际阿里云,国际腾讯云,国际华为云,aws亚马逊,谷歌云一级代理的渠道,微软云开户充值。oss防风控上传加密系统。客服1V1服务,支持免实名、免备案、免绑卡。开通即享专属VIP优惠、充值秒到账、官网下单享双重售后支持。
Telegram售前客服
客服ID
@cloudcup
联系
Telegram售后客服
客服ID
@yanhuacloud
联系