apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: hrdkorea-cluster
version: "1.29"
region: ap-northeast-2
cloudWatch:
clusterLogging:
enableTypes: ["*"]
iam:
withOIDC: true
serviceAccounts:
- metadata:
name: aws-load-balancer-controller
namespace: hrdkorea
wellKnownPolicies:
awsLoadBalancerController: true
- metadata:
name: cert-manager
namespace: cert-manager
wellKnownPolicies:
certManager: true
vpc:
subnets:
public:
ap-northeast-2a: { id: public_a }
ap-northeast-2b: { id: public_b }
private:
ap-northeast-2a: { id: private_a }
ap-northeast-2b: { id: private_b }
managedNodeGroups:
- name: hrdkorea-customer-ng
labels: { skills/dedicated: customer }
instanceName: hrdkorea-customer-ng
instanceType: t3.large
desiredCapacity: 2
minSize: 2
maxSize: 20
privateNetworking: true
- name: hrdkorea-product-ng
labels: { skills/dedicated: product }
instanceName: hrdkorea-product-ng
instanceType: t3.large
desiredCapacity: 2
minSize: 2
maxSize: 20
privateNetworking: true
- name: hrdkorea-order-ng
labels: { skills/dedicated: order }
instanceName: hrdkorea-order-ng
instanceType: t3.large
desiredCapacity: 2
minSize: 2
maxSize: 20
privateNetworking: true
fargateProfiles:
- name: hrdkorea-addon-profile
selectors:
- namespace: kube-system
#!/bin/bash
public_a=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=hrdkorea-public-sn-a" --query "Subnets[].SubnetId[]" --region ap-northeast-2 --output text)
public_b=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=hrdkorea-public-sn-b" --query "Subnets[].SubnetId[]" --region ap-northeast-2 --output text)
private_a=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=hrdkorea-private-sn-a" --query "Subnets[].SubnetId[]" --region ap-northeast-2 --output text)
private_b=$(aws ec2 describe-subnets --filters "Name=tag:Name,Values=hrdkorea-private-sn-b" --query "Subnets[].SubnetId[]" --region ap-northeast-2 --output text)
sed -i "s|public_a|$public_a|g" cluster.yaml
sed -i "s|public_b|$public_b|g" cluster.yaml
sed -i "s|private_a|$private_a|g" cluster.yaml
sed -i "s|private_b|$private_b|g" cluster.yaml
eksctl create cluster -f cluster.yaml
aws eks --region ap-northeast-2 update-kubeconfig --name wsi-eks-cluster
kubectl create ns hrdkorea
kubectl patch deployment coredns -n kube-system --type=json -p='[{"op": "remove", "path": "/spec/template/metadata/annotations", "value": "eks.amazonaws.com/compute-type"}]'
kubectl rollout restart -n kube-system deployment coredns