AWS에서 EKS Cluster을 eksctl로 생성할 수 있습니다.
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: eks-cluster
region: ap-northeast-2
version: "1.24"
vpc:
subnets:
private:
ap-northeast-2a: { id: subnet-a-id }
ap-northeast-2c: { id: subnet-c-id }
managedNodeGroups:
- name: eks-nodegroup
instanceType: t3.medium
instanceName: eks-nodegroup-ec2
volumeSize: 20
ssh:
allow: true
sourceSecurityGroupIds: ["sg-id"]
minSize: 2
desiredCapacity: 2
maxSize: 3
labels: { type: eks-node }
privateNetworking: true
iam:
withOIDC: true
cloudWatch:
clusterLogging:
enableTypes: ['*']
EKS Cluster의 이름, 리전, 버전을 설정합니다.
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: eks-cluster
region: ap-northeast-2
version: "1.24"
EKS Cluster가 위치할 VPC와 Subnet을 설정합니다.
vpc:
subnets:
private:
ap-northeast-2a: { id: subnet-a-id }
ap-northeast-2c: { id: subnet-c-id }
NodeGroup 정보를 설정합니다. ssh 설정때문에 id_rsa가 없다는 오류가 나올 때가 있는데 ssh-keygen 명령어를 통해 key를 생성하여 해결이 가능합니다.
managedNodeGroups:
- name: eks-nodegroup
instanceType: t3.medium
instanceName: eks-nodegroup-ec2
volumeSize: 20
ssh:
allow: true
sourceSecurityGroupIds: ["sg-id"]
minSize: 2
desiredCapacity: 2
maxSize: 3
labels: { type: eks-node }
privateNetworking: true
ALB Ingress Controllers, Cluster Autoscaler 등을 생성하기 위해 OIDC를 같이 생성해야 합니다.
iam:
withOIDC: true
Cloudwatch의 clusterLogging 옵션을 모두 허용하여 클러스터의 로그를 생성합니다. 로그는 Cloudwatch에서 볼 수 있습니다.
cloudWatch:
clusterLogging:
enableTypes: ['*']
포스팅 마치겠습니다. 감사합니다!