Token导航 LogoToken导航TokenDH.com
Infracode GitHub MCP logo
运维云端未说明官方级别未说明来源级核验

Infracode GitHub MCP

MCP Server

使用Terraform在AWS上部署生产级Amazon EKS集群的基础设施即代码解决方案,支持多可用区部署、自动扩展和安全最佳实践。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
基础设施即代码云原生自动化部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

VitalisCode

提供方

VitalisCode

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

EKS基础设施代码

此存储库包含用于在AWS上部署生产就绪的Amazon EKS(弹性Kubernetes服务)集群的Terraform配置,演示了基础设施即代码最佳实践和GitHub MCP集成。

架构概述

基础设施包括:

  • EKS 集群:托管Kubernetes控制平面
  • 虚拟私有云:具有跨多个AZ的公共和私有子网的自定义虚拟私有云
  • 节点组:具有自动扩展功能的托管工作节点
  • 安全组:正确的网络安全配置
  • IAM角色:服务帐户和IRSA(服务帐户的IAM角色)设置
  • 附加组件:核心DNS、VPC CNI、EBS CSI驱动程序等基本集群插件

特性

  • 多AZ部署:跨多个可用区的高可用性
  • 受管节点组:自动缩放具有可配置实例类型的工作节点
  • 安全最佳实践:最低权限IAM角色和安全组
  • 附加组件支持:预配置的基本集群插件
  • Fargate支持:可选的无服务器容器计算
  • 负载平衡器控制器:AWS负载均衡器控制器集成
  • 群集自动缩放器:根据工作负载需求自动扩展节点
  • 外部dns:可选Route53 DNS管理
  • 证书管理器:可选SSL证书管理

先决条件

在部署此基础架构之前,请确保:

  1. AWS-CLI 配置了适当的凭据
  2. 地形 (>=1.0)已安装
  3. kubectl 的 已安装用于群集管理
  4. 适当的 IAM权限 用于EKS、VPC和EC2资源

所需的AWS权限

您的AWS凭据需要以下权限:

  • EKS集群管理
  • VPC和子网创建
  • EC2实例管理
  • IAM角色和政策管理
  • 安全组管理

快速开始

  1. 克隆存储库:
   git clone https://github.com/VitalisCode/Infracode-Github-MCP.git
   cd Infracode-Github-MCP
  1. 配置变量:
   cp terraform.tfvars.example terraform.tfvars
   # Edit terraform.tfvars with your desired configuration
  1. 初始化并部署:
   terraform init
   terraform plan
   terraform apply
  1. 配置kubectl:
   aws eks --region  update-kubeconfig --name 
   kubectl get nodes

配置

核心变量

变量描述默认值必填
project_name项目名称"infracode-eks"没有
environment环境(开发/测试/生产)"dev"没有
aws_regionAWS部署区域"us-west-2"没有
kubernetes_versionKubernetes版本"1.28"没有

节点组配置

变量描述默认值
node_instance_types节点的EC2实例类型["m5.large"]
node_group_min_size最小节点数1
node_group_max_size最大节点数3
node_group_desired_size所需节点数2
node_capacity_type容量类型(ON_DEMAND/SOT)"ON_DEMAND"

网络配置

变量描述默认值
single_nat_gateway使用单个NAT网关true
cluster_endpoint_public_access启用公共API访问true

部署示例

开发环境

project_name = "myapp-eks"
environment  = "dev"
aws_region   = "us-west-2"

node_instance_types     = ["t3.medium"]
node_group_desired_size = 1
single_nat_gateway     = true

生产环境

project_name = "myapp-eks"
environment  = "prod"
aws_region   = "us-east-1"

kubernetes_version              = "1.28"
cluster_endpoint_public_access = false

node_instance_types     = ["m5.xlarge"]
node_group_min_size     = 2
node_group_max_size     = 10
node_group_desired_size = 3
single_nat_gateway     = false

enable_fargate      = true
enable_external_dns = true
enable_cert_manager = true

输出

部署后,可获得以下输出:

  • cluster_name:EKS群集名称
  • cluster_endpoint:Kubernetes API服务器终结点
  • vpc_id:集群所在的VPC ID
  • kubectl_config_command:配置kubectl访问权限的命令

附加组件和集成

AWS负载均衡器控制器

自动配置为具有适当IAM角色的入口管理。

群集自动缩放器

预先配置IAM角色,用于根据pod要求自动扩展节点。

EBS CSI驱动程序

默认情况下启用持久卷支持。

可选附加组件

  • 外部dns:用于Route53 DNS管理
  • 证书管理器:用于SSL证书自动化
  • 法尔盖特:适用于无服务器容器工作负载

安全考虑

  • 网络隔离:工作节点的专用子网
  • IAM最低权限:所需的最小权限
  • 安全组:限制性网络访问规则
  • 加密:EKS秘密加密处于静止状态
  • 专用API访问:可针对生产环境进行配置

监控和日志记录

考虑启用:

  • CloudWatch容器洞察 用于监控
  • AWS CloudTrail 用于API日志记录
  • VPC流日志 用于网络监控
  • EKS控制平面测井 用于审计跟踪

成本优化

  • 使用 竞价实例 适用于非关键工作负载
  • 启用 群集自动缩放器 尺寸合适
  • 考虑 法尔盖特 适用于可变工作负载
  • 使用 单一NAT网关 用于开发环境

故障排除

常见问题

  1. 节点组无法加入群集:

- 检查IAM角色和策略 - 验证安全组规则 - 确保子网具有正确的路由

  1. 无法访问群集:

- 从输出中运行kubectl config命令 - 检查API访问的安全组规则 - 验证IAM权限

  1. Pod无法连接互联网:

- 检查NAT网关配置 - 验证路由表关联 - 确保安全组允许出口

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 彻底测试
  5. 提交拉取请求

许可证

该项目是开源的,可在 MIT许可证.

支持

对于问题和疑问:

______________________________________________________________________

由...创建:维生素D 由...维护:基础设施团队 最后更新:2025年11月

目录标签

目录标签

基础设施即代码云原生自动化部署HCL本地部署Kubernetes管理AWSEKS

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP