amazon-web-services - 如何为 EKS 配置子网?
问题描述
我目前正在学习如何部署 EKS(通过 Terraform),并希望了解如何设置所需的子网数量,以及它们是公共的还是私有的。这是我的代码在 EKS 中的样子的片段:
module "eks_cluster" {
source = "terraform-aws-modules/eks/aws"
version = "13.2.1"
cluster_name = "${var.project_name}-meow-${var.environment}"
cluster_version = "1.18"
vpc_id = module.vpc.vpc_id
cluster_enabled_log_types = ["api", "audit", "authenticator", "controllerManager", "scheduler"]
enable_irsa = true
subnets = [module.vpc.subnet_a_private_id, module.vpc.subnet_b_private_id, module.vpc.subnet_a_public_id]
}
重新表述我的问题,我希望了解:
- 我需要将 EKS 部署到多少个子网?我应该将它部署在 VPC 中的所有子网上吗?
- 如果我将 EKS 部署到所有公共子网或所有私有子网会有什么不同?
解决方案
我建议您查看AWS 文档,这些文档在您创建 EKS 集群时解释了 VPC 的作用。根据链接,以下是您问题的答案:
我需要将 EKS 部署到多少个子网?我应该将它部署在 VPC 中的所有子网上吗?
至少两个位于不同可用区的子网。使用所有子网是 AWS 控制台中的默认行为。
如果我将 EKS 部署到所有公共子网或所有私有子网会有什么不同?
来自EKS 中 VPC 上的AWS 文档:
Private-only:一切都在私有子网中运行,Kubernetes 无法为您的 Pod 创建面向 Internet 的负载均衡器。
仅限公共:一切都在公共子网中运行,包括您的节点。
还:
我们建议使用具有公共子网和私有子网的 VPC,以便 Kubernetes 可以在公共子网中创建公共负载均衡器,将流量负载均衡到在私有子网中的节点上运行的 pod。
推荐阅读
- css - 如何在 Swiper React 轮播中悬停时暂停 Swiper 分页项目符号进度条动画
- c - 打印同名 C 文件源代码的 C 程序
- actions-on-google - 从 AOG 向 Dialogflow 发出多个 HTTP 调用
- awk - 使用 sed 或 awk 用空格填充正则表达式
- flutter - 清除控制器文本字段颤动
- reactjs - Redux Saga 处理 post action 逻辑
- django-views - 注册后如何登录?
- html - 坚持第一和最后 | html表格中的左右列
- c++ - 为什么 getline 只读取第一个笔画?
- android - ExoPlayer2 - 在 playerView.setRotation(90) 之后调整视频大小