k8s
组件 资源清单
pod 生命周期
pod 控制器
服务发现
runcher
KubeSphere
Helm
helm命令
helm 常用内置对象
helm 内置函数
helm 的逻辑 和 流程控制
helm 中变量在作用域、列表、元祖、字典中的引用
helm 使用define定义子模版、template和include调用
helm 获取其他文件的内容和文件名
社区的Helm chart仓库
helm几个常用仓库
存储 configMap
进入k8s pod
k8s Node节点的调试
k8s 部署
sealos 部署
kubeadm 1.28部署
增加 node 节点
在aws 上自建k8s
利用NFS动态提供Kubernetes后端存储卷
rook-ceph
CephFS挂载
Ceph Dashboard
ingress
k8s集成kube-prometheus
ServiceMonitor 添加配置
Prometheus 长期远程存储方案 VictoriaMetrics
解决ControllerManager、Scheduler、watchdog监控问题
抓取配置说明
kubernetes配置imagePullSecrets秘钥来拉取镜像
在 Kubernetes 裡跑 curl 來測試內部服務
MetalLB
cloudflare-tunnel-ingress-controller
K8S kubectl 自动补全
argocd
helm部署redis-culster集群
改变默认 StorageClass
自定义指标HPA
istio
kiali
k8s接入graylog
Labels
DNS
HPA
ConfigMap挂载导致容器目录覆盖的问题
污点容忍度
身份认证与权限 RBAC
command
运行crictl ps -a 报错
etcd
cka证书
cert-manager
Kubernetes 创建普通账号
部署 metrics-server 指标
deployment 重启
Kubernetes中如何优雅的解决Pod时区问题
alertmanager
oom killed
eks挂载efs
eks创建集群
eksctl awscli kubectl
污点和容忍度
Kubernetes 删除namespace Terminating解决脚本
k8s 部署 kafka 集群
ack ingress获取客户端客户端真实IP
ingress 反向代理 ws
本文档使用 MrDoc 发布
-
+
首页
eks创建集群
## 三、创建EKS集群的配置文件(两种场景二选一) EKS集群分成EC2模式和无EC2的Fargate模式。本文为有EC2模式的配置,不讨论Fargate配置。在接下来的网络模式又有两种: - 创建集群时候,如果不指定参数,那么eksctl默认会自动生成一个全新的VPC、子网并使用192.168的网段,然后在其中创建nodegroup节点组。此时如果希望位于默认VPC的现有业务系统与EKS互通,那么需要配置VPC Peering才可以打通网络;如果需求是此场景,请参考下述第一个章节所介绍的方式创建配置文件 - 如果希望EKS使用现有VPC和子网,例如一个包含有Public Subnet/Private Subnet和NAT Gateway的VPC,那么请使用第二个章节所介绍的方式创建配置文件 ### 1、创建全新VPC 执行如下命令。注意如果是多人在同一个账号内实验,需要更改EKS集群的名字避免冲突。如果多人在不同账号内做实验,无需修改名称,默认的名称即可。 编辑配置文件`newvpc.yaml`,内容如下: ``` apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: eksworkshop region: ap-southeast-1 version: "1.28" vpc: clusterEndpoints: publicAccess: true privateAccess: true kubernetesNetworkConfig: serviceIPv4CIDR: 10.50.0.0/24 managedNodeGroups: - name: managed-ng labels: Name: managed-ng instanceType: t3.2xlarge minSize: 3 desiredCapacity: 3 maxSize: 6 volumeType: gp3 volumeSize: 100 volumeIOPS: 3000 volumeThroughput: 125 tags: nodegroup-name: ng1 iam: withAddonPolicies: imageBuilder: true autoScaler: true certManager: true efs: true ebs: true albIngress: true xRay: true cloudWatch: true cloudWatch: clusterLogging: enableTypes: ["api", "audit", "authenticator", "controllerManager", "scheduler"] logRetentionInDays: 30 ``` 请替换以上配置文件中集群名称、region为实际使用的地区。 执行如下命令创建集群。 ``` eksctl create cluster -f newvpc.yaml ``` 创建完成。 ### 使用现有VPC的子网 #### (1)给EKS要使用的Subnet子网打标签 请确保本子网已经设置了正确的路由表,且VPC内包含NAT Gateway可以提供外网访问能力。然后接下来为其打标签。 找到当前的VPC,找到有EIP和NAT Gateway的Public Subnet,为其添加标签: - 标签名称:`kubernetes.io/role/elb`,值:`1` 接下来进入Private subnet,为其添加标签: - 标签名称:`kubernetes.io/role/internal-elb`,值:`1` 接下来请重复以上工作,三个AZ的子网都实施相同的配置,注意第一项标签值都是1。 请不要跳过以上步骤,否则后续使用ELB会遇到错误。 #### (2)要求EKS Nodegroup使用特定的Subnet 编辑配置文件`existingsubnet.yaml`,内容如下: ```yaml apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: eksworkshop region: ap-east-1 version: "1.28" vpc: clusterEndpoints: publicAccess: true privateAccess: true subnets: private: ap-east-1a: { id: subnet-0de0877c406328034 } ap-east-1b: { id: subnet-0c511c1488bc04ece } ap-east-1c: { id: subnet-08e90c0629b6ef422 } public: ap-southeast-1a: { id: subnet-1234567890abcdef } ap-southeast-1b: { id: subnet-abcdef1234567890 } ap-southeast-1c: { id: subnet-0987654321fedcba } kubernetesNetworkConfig: serviceIPv4CIDR: 10.50.0.0/24 managedNodeGroups: - name: managed-ng labels: Name: managed-ng instanceType: c5.xlarge minSize: 3 desiredCapacity: 3 maxSize: 6 privateNetworking: true subnets: - subnet-0de0877c406328034 - subnet-0c511c1488bc04ece - subnet-08e90c0629b6ef422 volumeType: gp3 volumeSize: 100 volumeIOPS: 3000 volumeThroughput: 125 tags: nodegroup-name: managed-ng iam: withAddonPolicies: imageBuilder: true autoScaler: true certManager: true efs: true ebs: true albIngress: true xRay: true cloudWatch: true cloudWatch: clusterLogging: enableTypes: ["api", "audit", "authenticator", "controllerManager", "scheduler"] logRetentionInDays: 30 ```
admin
2024年3月7日 14:03
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码