SlideShare a Scribd company logo
eksctl을 통한 EKS 배포 가이드 - v0.105.0 / v1.22
(https://eksctl.io/) ❗만약 yaml로 배포하길 원한다면 여길 또는 밑을 참조
📌QA test Region on (ap-northeast-1 / 도쿄)
https://github.com/sysnet4admin
AWS Cloud Shell에 eksctl 설치
(https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/eksctl.html)
1.eksctl v0.105.0을 내려받고 압축 풀기
[cloudshell-user@ip-10-0-46-136 ~]$ curl --silent --location
"https://github.com/weaveworks/eksctl/releases/download/v0.105.0/eksctl_
Linux_amd64.tar.gz" | tar xz -C /tmp
2.eksctl을 실행 디렉터리로 이동
[cloudshell-user@ip-10-0-46-136 ~]$ mkdir -p $HOME/bin && cp /tmp/eksctl
$HOME/bin/eksctl && export PATH=$PATH:$HOME/bin
3.eksctl 설치 상태 및 버전 체크
[cloudshell-user@ip-10-0-46-136 ~]$ eksctl version
0.105.0
❗만약 최신 버전을 내려 받기 원할 경우 다음의 내용 참조
[cloudshell-user@ip-10-0-46-136 ~]$ curl --silent --location
"https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(
uname -s)_amd64.tar.gz" | tar xz -C /tmp
AWS Cloud Shell에 kubectl 설치
(https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/install-kubectl.html)
1.kubectl binary v.1.22 내려받기
[cloudshell-user@ip-10-0-46-136 ~]$ curl -o kubectl
https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/linu
x/amd64/kubectl
% Total % Received % Xferd Average Speed Time Time Time
Current
Dload Upload Total Spent Left
Speed
100 44.7M 100 44.7M 0 0 17.8M 0 0:00:02 0:00:02 --:--:--
17.8M
2.kubectl binary에 실행권한을 줌
[cloudshell-user@ip-10-0-46-136 ~]$ chmod +x ./kubectl
3.kubectl을 실행 디렉토리 들로 옮김
[cloudshell-user@ip-10-0-46-136 ~]$ mkdir -p $HOME/bin && cp ./kubectl
$HOME/bin/kubectl && export PATH=$PATH:$HOME/bin
4.kubectl 상태 및 버전 확인
[cloudshell-user@ip-10-0-46-136 ~]$ kubectl version
Client Version: version.Info{Major:"1", Minor:"22+",
GitVersion:"v1.22.6-eks-7d68063",
GitCommit:"f24e667e49fb137336f7b064dba897beed639bad",
GitTreeState:"clean", BuildDate:"2022-02-23T19:32:14Z",
GoVersion:"go1.16.12", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"22+",
GitVersion:"v1.22.10-eks-84b4fe6",
GitCommit:"cc6a1b4915a99f49f5510ef0667f94b9ca832a8a",
GitTreeState:"clean", BuildDate:"2022-06-09T18:24:04Z",
GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}
설치된 eksctl을 통해서 EKS 배포
(https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/getting-started-eksctl.html)
1.eksctl create cluster (default: --version=1.22)
[cloudshell-user@ip-10-0-46-136 ~]$ eksctl create cluster --name eks-122
--version1.22
2022-07-15 03:47:19 [ℹ] eksctl version 0.105.0
2022-07-15 03:47:19 [ℹ] using region ap-northeast-1
2022-07-15 03:47:19 [ℹ] setting availability zones to [ap-northeast-1c
ap-northeast-1d ap-northeast-1a]
2022-07-15 03:47:19 [ℹ] subnets for ap-northeast-1c -
public:192.168.0.0/19 private:192.168.96.0/19
2022-07-15 03:47:19 [ℹ] subnets for ap-northeast-1d -
public:192.168.32.0/19 private:192.168.128.0/19
2022-07-15 03:47:19 [ℹ] subnets for ap-northeast-1a -
public:192.168.64.0/19 private:192.168.160.0/19
2022-07-15 03:47:19 [ℹ] nodegroup "ng-d4276147" will use ""
[AmazonLinux2/1.22]
2022-07-15 03:47:19 [ℹ] using Kubernetes version 1.22
2022-07-15 03:47:19 [ℹ] creating EKS cluster "eks-122" in
"ap-northeast-1" region with managed nodes
2022-07-15 03:47:19 [ℹ] will create 2 separate CloudFormation stacks for
cluster itself and the initial managed nodegroup
2022-07-15 03:47:19 [ℹ] if you encounter any issues, check
CloudFormation console or try 'eksctl utils describe-stacks
--region=ap-northeast-1 --cluster=eks-122'
2022-07-15 03:47:19 [ℹ] Kubernetes API endpoint access will use default
of {publicAccess=true, privateAccess=false} for cluster "eks-122" in
"ap-northeast-1"
2022-07-15 03:47:19 [ℹ] CloudWatch logging will not be enabled for
cluster "eks-122" in "ap-northeast-1"
2022-07-15 03:47:19 [ℹ] you can enable it with 'eksctl utils
update-cluster-logging --enable-types={SPECIFY-YOUR-LOG-TYPES-HERE (e.g.
all)} --region=ap-northeast-1 --cluster=eks-122'
2022-07-15 03:47:19 [ℹ]
2 sequential tasks: { create cluster control plane "eks-122",
2 sequential sub-tasks: {
wait for control plane to become ready,
create managed nodegroup "ng-d4276147",
}
}
2022-07-15 03:47:19 [ℹ] building cluster stack "eksctl-eks-122-cluster"
2022-07-15 03:47:19 [ℹ] deploying stack "eksctl-eks-122-cluster"
2022-07-15 03:47:49 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-cluster"
2022-07-15 03:48:19 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-cluster"
2022-07-15 03:49:20 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-cluster"
2022-07-15 03:50:20 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-cluster"
2022-07-15 03:51:20 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-cluster"
2022-07-15 03:52:20 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-cluster"
2022-07-15 03:53:20 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-cluster"
2022-07-15 03:54:20 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-cluster"
2022-07-15 03:55:20 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-cluster"
2022-07-15 03:56:20 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-cluster"
2022-07-15 03:57:20 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-cluster"
2022-07-15 03:58:20 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-cluster"
2022-07-15 04:00:21 [ℹ] building managed nodegroup stack
"eksctl-eks-122-nodegroup-ng-d4276147"
2022-07-15 04:00:21 [ℹ] deploying stack
"eksctl-eks-122-nodegroup-ng-d4276147"
2022-07-15 04:00:21 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-nodegroup-ng-d4276147"
2022-07-15 04:00:52 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-nodegroup-ng-d4276147"
2022-07-15 04:01:24 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-nodegroup-ng-d4276147"
2022-07-15 04:03:07 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-nodegroup-ng-d4276147"
2022-07-15 04:04:51 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-nodegroup-ng-d4276147"
2022-07-15 04:04:51 [ℹ] waiting for the control plane availability...
2022-07-15 04:04:52 [✔] saved kubeconfig as
"/home/cloudshell-user/.kube/config"
2022-07-15 04:04:52 [ℹ] no tasks
2022-07-15 04:04:52 [✔] all EKS cluster resources for "eks-122" have
been created
2022-07-15 04:04:52 [ℹ] nodegroup "ng-d4276147" has 2 node(s)
2022-07-15 04:04:52 [ℹ] node
"ip-192-168-17-228.ap-northeast-1.compute.internal" is ready
2022-07-15 04:04:52 [ℹ] node
"ip-192-168-47-97.ap-northeast-1.compute.internal" is ready
2022-07-15 04:04:52 [ℹ] waiting for at least 2 node(s) to become ready
in "ng-d4276147"
2022-07-15 04:04:52 [ℹ] nodegroup "ng-d4276147" has 2 node(s)
2022-07-15 04:04:52 [ℹ] node
"ip-192-168-17-228.ap-northeast-1.compute.internal" is ready
2022-07-15 04:04:52 [ℹ] node
"ip-192-168-47-97.ap-northeast-1.compute.internal" is ready
2022-07-15 04:04:53 [ℹ] kubectl command should work with
"/home/cloudshell-user/.kube/config", try 'kubectl get nodes'
2022-07-15 04:04:53 [✔] EKS cluster "eks-122" in "ap-northeast-1"
region is ready
2.배포된 EKS 클러스터 확인
[cloudshell-user@ip-10-0-146-72 ~]$ kubectl get nodes
NAME STATUS ROLES
AGE VERSION
ip-192-168-26-17.ap-northeast-1.compute.internal Ready <none>
47m v1.22.9-eks-810597c
ip-192-168-59-253.ap-northeast-1.compute.internal Ready <none>
47m v1.22.9-eks-810597c
3.배포된 EKS를 AWS GUI에서 확인
❗만약 kubectl이 설치되지 않은 상태로 배포한다면 error 발생
[cloudshell-user@ip-10-0-46-136 ~]$ eksctl create cluster
2022-07-15 01:07:00 [ℹ] eksctl version 0.105.0
2022-07-15 01:07:00 [ℹ] using region ap-northeast-1
2022-07-15 01:07:00 [ℹ] setting availability zones to [ap-northeast-1c
ap-northeast-1a ap-northeast-1d]
2022-07-15 01:07:00 [ℹ] subnets for ap-northeast-1c -
public:192.168.0.0/19 private:192.168.96.0/19
2022-07-15 01:07:00 [ℹ] subnets for ap-northeast-1a -
public:192.168.32.0/19 private:192.168.128.0/19
2022-07-15 01:07:00 [ℹ] subnets for ap-northeast-1d -
public:192.168.64.0/19 private:192.168.160.0/19
2022-07-15 01:07:00 [ℹ] nodegroup "ng-b6218207" will use ""
[AmazonLinux2/1.22]
2022-07-15 01:07:00 [ℹ] using Kubernetes version 1.22
2022-07-15 01:07:00 [ℹ] creating EKS cluster
"extravagant-unicorn-1657847220" in "ap-northeast-1" region with managed
nodes
<snipped>
2022-07-15 01:23:41 [ℹ] node
"ip-192-168-82-13.ap-northeast-1.compute.internal" is ready
2022-07-15 01:23:41 [✖] kubectl not found, v1.10.0 or newer is
required
2022-07-15 01:23:41 [ℹ] cluster should be functional despite missing (or
misconfigured) client binaries
2022-07-15 01:23:41 [✔] EKS cluster "extravagant-unicorn-1657847220"
in "ap-northeast-1" region is ready
설치된 EKS 클러스터 삭제하기
1.설치된 EKS cluster 확인
[cloudshell-user@ip-10-0-146-72 ~]$ eksctl get cluster
NAME REGION EKSCTL CREATED
eks-122 ap-northeast-1 True
❗만약 이름을 지정하지 않았다면?
[cloudshell-user@ip-10-0-46-136 ~]$ eksctl get cluster
NAME REGION EKSCTL CREATED
extravagant-unicorn-1657847220 ap-northeast-1 True
2.eksctl delete cluster
[cloudshell-user@ip-10-0-146-72 ~]$ eksctl delete cluster --name eks-122
2022-07-15 03:23:52 [ℹ] deleting EKS cluster "eks-122"
2022-07-15 03:23:52 [ℹ] will drain 0 unmanaged nodegroup(s) in cluster
"eks-122"
2022-07-15 03:23:52 [ℹ] starting parallel draining, max in-flight of 1
2022-07-15 03:23:52 [ℹ] deleted 0 Fargate profile(s)
2022-07-15 03:23:52 [✔] kubeconfig has been updated
2022-07-15 03:23:52 [ℹ] cleaning up AWS load balancers created by
Kubernetes objects of Kind Service or Ingress
2022-07-15 03:23:54 [ℹ]
2 sequential tasks: { delete nodegroup "ng-711dbf40", delete cluster
control plane "eks-122" [async]
}
2022-07-15 03:23:54 [ℹ] will delete stack
"eksctl-eks-122-nodegroup-ng-711dbf40"
2022-07-15 03:23:54 [ℹ] waiting for stack
"eksctl-eks-122-nodegroup-ng-711dbf40" to get deleted
2022-07-15 03:23:54 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-nodegroup-ng-711dbf40"
2022-07-15 03:24:24 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-nodegroup-ng-711dbf40"
2022-07-15 03:25:15 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-nodegroup-ng-711dbf40"
2022-07-15 03:26:06 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-nodegroup-ng-711dbf40"
2022-07-15 03:28:03 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-nodegroup-ng-711dbf40"
2022-07-15 03:28:57 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-nodegroup-ng-711dbf40"
2022-07-15 03:30:32 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-nodegroup-ng-711dbf40"
2022-07-15 03:31:25 [ℹ] waiting for CloudFormation stack
"eksctl-eks-122-nodegroup-ng-711dbf40"
2022-07-15 03:31:25 [ℹ] will delete stack "eksctl-eks-122-cluster"
2022-07-15 03:31:25 [✔] all cluster resources were deleted
3.삭제된 EKS를 AWS GUI에서 확인
부록1 yaml로 EKS 배포하기
1.yaml 예제 파일 내려받기
[cloudshell-user@ip-10-0-146-72 ~]$ curl
https://raw.githubusercontent.com/weaveworks/eksctl/main/examples/03-two
-nodegroups.yaml -o /tmp/03-two-nodegroups.yaml
% Total % Received % Xferd Average Speed Time Time Time
Current
Dload Upload Total Spent Left
Speed
100 391 100 391 0 0 987 0 --:--:-- --:--:-- --:--:--
987
2.eksctl create cluster -f <yaml>
[cloudshell-user@ip-10-0-146-72 ~]$ eksctl create cluster -f
/tmp/03-two-nodegroups.yaml
2022-07-15 07:03:56 [ℹ] eksctl version 0.105.0
2022-07-15 07:03:56 [ℹ] using region eu-north-1
2022-07-15 07:03:57 [ℹ] setting availability zones to [eu-north-1a
eu-north-1b eu-north-1c]
2022-07-15 07:03:57 [ℹ] subnets for eu-north-1a - public:192.168.0.0/19
private:192.168.96.0/19
2022-07-15 07:03:57 [ℹ] subnets for eu-north-1b - public:192.168.32.0/19
private:192.168.128.0/19
2022-07-15 07:03:57 [ℹ] subnets for eu-north-1c - public:192.168.64.0/19
private:192.168.160.0/19
2022-07-15 07:03:58 [ℹ] nodegroup "ng1-public" will use
"ami-05f51b54cf23c7116" [AmazonLinux2/1.22]
2022-07-15 07:03:58 [ℹ] nodegroup "ng2-private" will use
"ami-05f51b54cf23c7116" [AmazonLinux2/1.22]
2022-07-15 07:03:59 [ℹ] using Kubernetes version 1.22
2022-07-15 07:03:59 [ℹ] creating EKS cluster "cluster-3" in "eu-north-1"
region with un-managed nodes
2022-07-15 07:03:59 [ℹ] 2 nodegroups (ng1-public, ng2-private) were
included (based on the include/exclude rules)
2022-07-15 07:03:59 [ℹ] will create a CloudFormation stack for cluster
itself and 2 nodegroup stack(s)
2022-07-15 07:03:59 [ℹ] will create a CloudFormation stack for cluster
itself and 0 managed nodegroup stack(s)
2022-07-15 07:03:59 [ℹ] if you encounter any issues, check
CloudFormation console or try 'eksctl utils describe-stacks
--region=eu-north-1 --cluster=cluster-3'
2022-07-15 07:03:59 [ℹ] Kubernetes API endpoint access will use default
of {publicAccess=true, privateAccess=false} for cluster "cluster-3" in
"eu-north-1"
2022-07-15 07:03:59 [ℹ] CloudWatch logging will not be enabled for
cluster "cluster-3" in "eu-north-1"
2022-07-15 07:03:59 [ℹ] you can enable it with 'eksctl utils
update-cluster-logging --enable-types={SPECIFY-YOUR-LOG-TYPES-HERE (e.g.
all)} --region=eu-north-1 --cluster=cluster-3'
2022-07-15 07:03:59 [ℹ]
2 sequential tasks: { create cluster control plane "cluster-3",
2 sequential sub-tasks: {
wait for control plane to become ready,
2 parallel sub-tasks: {
create nodegroup "ng1-public",
create nodegroup "ng2-private",
},
}
}
2022-07-15 07:03:59 [ℹ] building cluster stack
"eksctl-cluster-3-cluster"
2022-07-15 07:04:00 [ℹ] deploying stack "eksctl-cluster-3-cluster"
2022-07-15 07:04:30 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-cluster"
2022-07-15 07:05:01 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-cluster"
2022-07-15 07:06:02 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-cluster"
2022-07-15 07:07:03 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-cluster"
2022-07-15 07:08:04 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-cluster"
2022-07-15 07:09:05 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-cluster"
2022-07-15 07:10:06 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-cluster"
2022-07-15 07:11:07 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-cluster"
2022-07-15 07:12:08 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-cluster"
2022-07-15 07:13:09 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-cluster"
2022-07-15 07:14:10 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-cluster"
2022-07-15 07:16:18 [ℹ] building nodegroup stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:16:18 [ℹ] --nodes-min=4 was set automatically for
nodegroup ng1-public
2022-07-15 07:16:18 [ℹ] --nodes-max=4 was set automatically for
nodegroup ng1-public
2022-07-15 07:16:18 [ℹ] building nodegroup stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:16:18 [ℹ] --nodes-min=10 was set automatically for
nodegroup ng2-private
2022-07-15 07:16:18 [ℹ] --nodes-max=10 was set automatically for
nodegroup ng2-private
2022-07-15 07:16:19 [ℹ] deploying stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:16:19 [ℹ] deploying stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:16:19 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:16:19 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:16:50 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:16:50 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:17:22 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:17:24 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:18:46 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:19:11 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:20:25 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:20:26 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:21:45 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:22:01 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:23:04 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:23:27 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:23:57 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:24:23 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:25:07 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:25:14 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:26:44 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:27:05 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:27:52 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:28:01 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:28:02 [ℹ] waiting for the control plane availability...
2022-07-15 07:28:02 [✔] saved kubeconfig as
"/home/cloudshell-user/.kube/config"
2022-07-15 07:28:02 [ℹ] no tasks
2022-07-15 07:28:02 [✔] all EKS cluster resources for "cluster-3" have
been created
2022-07-15 07:28:03 [ℹ] adding identity
"arn:aws:iam::880298856041:role/eksctl-cluster-3-nodegroup-ng1-pu-NodeIn
stanceRole-1ESFR9RNWEIEY" to auth ConfigMap
2022-07-15 07:28:04 [ℹ] nodegroup "ng1-public" has 0 node(s)
2022-07-15 07:28:04 [ℹ] waiting for at least 4 node(s) to become ready
in "ng1-public"
2022-07-15 07:28:58 [ℹ] nodegroup "ng1-public" has 4 node(s)
2022-07-15 07:28:58 [ℹ] node
"ip-192-168-11-150.eu-north-1.compute.internal" is ready
2022-07-15 07:28:58 [ℹ] node
"ip-192-168-6-223.eu-north-1.compute.internal" is ready
2022-07-15 07:28:58 [ℹ] node
"ip-192-168-62-220.eu-north-1.compute.internal" is ready
2022-07-15 07:28:58 [ℹ] node
"ip-192-168-77-236.eu-north-1.compute.internal" is ready
2022-07-15 07:28:58 [ℹ] adding identity
"arn:aws:iam::880298856041:role/eksctl-cluster-3-nodegroup-ng2-pr-NodeIn
stanceRole-1SDLTX7E68HZV" to auth ConfigMap
2022-07-15 07:28:59 [ℹ] nodegroup "ng2-private" has 0 node(s)
2022-07-15 07:28:59 [ℹ] waiting for at least 10 node(s) to become ready
in "ng2-private"
2022-07-15 07:31:32 [ℹ] nodegroup "ng2-private" has 10 node(s)
2022-07-15 07:31:32 [ℹ] node
"ip-192-168-105-13.eu-north-1.compute.internal" is ready
2022-07-15 07:31:32 [ℹ] node
"ip-192-168-106-192.eu-north-1.compute.internal" is ready
2022-07-15 07:31:32 [ℹ] node
"ip-192-168-106-228.eu-north-1.compute.internal" is ready
2022-07-15 07:31:32 [ℹ] node
"ip-192-168-127-188.eu-north-1.compute.internal" is ready
2022-07-15 07:31:32 [ℹ] node
"ip-192-168-128-244.eu-north-1.compute.internal" is ready
2022-07-15 07:31:32 [ℹ] node
"ip-192-168-152-186.eu-north-1.compute.internal" is ready
2022-07-15 07:31:32 [ℹ] node
"ip-192-168-158-59.eu-north-1.compute.internal" is ready
2022-07-15 07:31:32 [ℹ] node
"ip-192-168-173-144.eu-north-1.compute.internal" is ready
2022-07-15 07:31:32 [ℹ] node
"ip-192-168-177-237.eu-north-1.compute.internal" is ready
2022-07-15 07:31:32 [ℹ] node
"ip-192-168-189-236.eu-north-1.compute.internal" is ready
2022-07-15 07:31:35 [ℹ] kubectl command should work with
"/home/cloudshell-user/.kube/config", try 'kubectl get nodes'
2022-07-15 07:31:35 [✔] EKS cluster "cluster-3" in "eu-north-1" region
is ready
❗직접 소스에서 생성하는건 안됨
[cloudshell-user@ip-10-0-146-72 ~]$ eksctl create cluster -f
https://raw.githubusercontent.com/weaveworks/eksctl/main/examples/03-two
-nodegroups.yaml
Error: reading config file
"https://raw.githubusercontent.com/weaveworks/eksctl/main/examples/03-tw
o-nodegroups.yaml": open
https://raw.githubusercontent.com/weaveworks/eksctl/main/examples/03-two
-nodegroups.yaml: no such file or directory
❗또한 --name 지정도 안됨. 필요하면 yaml 내에 기입하도록 함
[cloudshell-user@ip-10-0-146-72 ~]$ eksctl create cluster -f
/tmp/03-two-nodegroups.yaml --name eks-122-2nodegroups
Error: cannot use --name when --config-file/-f is set
3.배포된 EKS 클러스터 확인
[cloudshell-user@ip-10-0-73-129 ~]$ kubectl get node
NAME STATUS ROLES AGE VERSION
ip-192-168-105-13.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c
ip-192-168-106-192.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c
ip-192-168-106-228.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c
ip-192-168-11-150.eu-north-1.compute.internal Ready <none> 18m v1.22.9-eks-810597c
ip-192-168-127-188.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c
ip-192-168-128-244.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c
ip-192-168-152-186.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c
ip-192-168-158-59.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c
ip-192-168-173-144.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c
ip-192-168-177-237.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c
ip-192-168-189-236.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c
ip-192-168-6-223.eu-north-1.compute.internal Ready <none> 18m v1.22.9-eks-810597c
ip-192-168-62-220.eu-north-1.compute.internal Ready <none> 18m v1.22.9-eks-810597c
ip-192-168-77-236.eu-north-1.compute.internal Ready <none> 18m v1.22.9-eks-810597c
4.배포된 EKS 클러스터의 노드그룹 확인
[cloudshell-user@ip-10-0-73-129 ~]$ eksctl get nodegroup
--cluster=cluster-3 --region=eu-north-1
CLUSTER NODEGROUP STATUS CREATED MIN SIZE
MAX SIZE DESIRED CAPACITY INSTANCE TYPE IMAGE ID
ASG NAME TYPE
cluster-3 ng1-public CREATE_COMPLETE 2022-07-15T07:16:19Z 4
4 4 m5.xlarge ami-05f51b54cf23c7116
eksctl-cluster-3-nodegroup-ng1-public-NodeGroup-7JY8Z9GUVN0J unmanaged
cluster-3 ng2-private CREATE_COMPLETE 2022-07-15T07:16:19Z 10
10 10 m5.large ami-05f51b54cf23c7116
eksctl-cluster-3-nodegroup-ng2-private-NodeGroup-G8OUJ4H7ULSJ unmanaged
5.Yaml 파일로 설치된 EKS 클러스터 삭제
[cloudshell-user@ip-10-0-73-129 ~]$ eksctl delete cluster -f
/tmp/03-two-nodegroups.yaml
2022-07-15 07:51:58 [ℹ] deleting EKS cluster "cluster-3"
2022-07-15 07:52:01 [ℹ] will drain 2 unmanaged nodegroup(s) in cluster
"cluster-3"
2022-07-15 07:52:01 [ℹ] starting parallel draining, max in-flight of 1
2022-07-15 07:52:03 [ℹ] cordon node
"ip-192-168-11-150.eu-north-1.compute.internal"
2022-07-15 07:52:03 [ℹ] cordon node
"ip-192-168-105-13.eu-north-1.compute.internal"
2022-07-15 07:52:03 [ℹ] cordon node
"ip-192-168-106-192.eu-north-1.compute.internal"
2022-07-15 07:52:03 [ℹ] cordon node
"ip-192-168-6-223.eu-north-1.compute.internal"
2022-07-15 07:52:04 [ℹ] cordon node
"ip-192-168-62-220.eu-north-1.compute.internal"
2022-07-15 07:52:04 [ℹ] cordon node
"ip-192-168-106-228.eu-north-1.compute.internal"
2022-07-15 07:52:04 [ℹ] cordon node
"ip-192-168-127-188.eu-north-1.compute.internal"
2022-07-15 07:52:04 [ℹ] cordon node
"ip-192-168-77-236.eu-north-1.compute.internal"
2022-07-15 07:52:04 [ℹ] cordon node
"ip-192-168-128-244.eu-north-1.compute.internal"
2022-07-15 07:52:04 [ℹ] cordon node
"ip-192-168-152-186.eu-north-1.compute.internal"
2022-07-15 07:52:05 [ℹ] cordon node
"ip-192-168-158-59.eu-north-1.compute.internal"
2022-07-15 07:52:05 [ℹ] cordon node
"ip-192-168-173-144.eu-north-1.compute.internal"
2022-07-15 07:52:05 [ℹ] cordon node
"ip-192-168-177-237.eu-north-1.compute.internal"
2022-07-15 07:52:05 [ℹ] cordon node
"ip-192-168-189-236.eu-north-1.compute.internal"
2022-07-15 07:52:20 [✔] drained all nodes:
[ip-192-168-77-236.eu-north-1.compute.internal
ip-192-168-6-223.eu-north-1.compute.internal
ip-192-168-11-150.eu-north-1.compute.internal
ip-192-168-62-220.eu-north-1.compute.internal]
2022-07-15 07:52:28 [✔] drained all nodes:
[ip-192-168-158-59.eu-north-1.compute.internal
ip-192-168-105-13.eu-north-1.compute.internal
ip-192-168-128-244.eu-north-1.compute.internal
ip-192-168-106-228.eu-north-1.compute.internal
ip-192-168-177-237.eu-north-1.compute.internal
ip-192-168-173-144.eu-north-1.compute.internal
ip-192-168-189-236.eu-north-1.compute.internal
ip-192-168-127-188.eu-north-1.compute.internal
ip-192-168-152-186.eu-north-1.compute.internal
ip-192-168-106-192.eu-north-1.compute.internal]
2022-07-15 07:52:29 [ℹ] deleted 0 Fargate profile(s)
2022-07-15 07:52:32 [✔] kubeconfig has been updated
2022-07-15 07:52:32 [ℹ] cleaning up AWS load balancers created by
Kubernetes objects of Kind Service or Ingress
2022-07-15 07:52:35 [ℹ]
2 sequential tasks: {
2 parallel sub-tasks: {
delete nodegroup "ng2-private",
delete nodegroup "ng1-public",
}, delete cluster control plane "cluster-3" [async]
}
2022-07-15 07:52:36 [ℹ] will delete stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:52:36 [ℹ] waiting for stack
"eksctl-cluster-3-nodegroup-ng2-private" to get deleted
2022-07-15 07:52:36 [ℹ] will delete stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:52:36 [ℹ] waiting for stack
"eksctl-cluster-3-nodegroup-ng1-public" to get deleted
2022-07-15 07:52:36 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:52:36 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:53:07 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:53:07 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:53:43 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:53:44 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:54:42 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:54:45 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:56:31 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng2-private"
2022-07-15 07:56:42 [ℹ] waiting for CloudFormation stack
"eksctl-cluster-3-nodegroup-ng1-public"
2022-07-15 07:56:44 [ℹ] will delete stack "eksctl-cluster-3-cluster"
2022-07-15 07:56:45 [✔] all cluster resources were deleted

More Related Content

What's hot

What's hot (20)

Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)Introduction to CNI (Container Network Interface)
Introduction to CNI (Container Network Interface)
 
Kubernetes PPT.pptx
Kubernetes PPT.pptxKubernetes PPT.pptx
Kubernetes PPT.pptx
 
[GitOps] Argo CD on GKE (v0.9.2).pdf
[GitOps] Argo CD on GKE (v0.9.2).pdf[GitOps] Argo CD on GKE (v0.9.2).pdf
[GitOps] Argo CD on GKE (v0.9.2).pdf
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
Kubernetes Introduction
Kubernetes IntroductionKubernetes Introduction
Kubernetes Introduction
 
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
Kubernetes Basics
Kubernetes BasicsKubernetes Basics
Kubernetes Basics
 
Introduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang NguyenIntroduction of Kubernetes - Trang Nguyen
Introduction of Kubernetes - Trang Nguyen
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introduction
 
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
Kubernetes Networking | Kubernetes Services, Pods & Ingress Networks | Kubern...
 
Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)Kubernetes internals (Kubernetes 해부하기)
Kubernetes internals (Kubernetes 해부하기)
 
Cloud Native PostgreSQL
Cloud Native PostgreSQLCloud Native PostgreSQL
Cloud Native PostgreSQL
 
stupid-simple-kubernetes-final.pdf
stupid-simple-kubernetes-final.pdfstupid-simple-kubernetes-final.pdf
stupid-simple-kubernetes-final.pdf
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
DevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to KubernetesDevJam 2019 - Introduction to Kubernetes
DevJam 2019 - Introduction to Kubernetes
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험[2018] 오픈스택 5년 운영의 경험
[2018] 오픈스택 5년 운영의 경험
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 

Similar to [GuideDoc] Deploy EKS thru eksctl - v1.22_v0.105.0.pdf

DockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker ContainersDockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
Docker, Inc.
 

Similar to [GuideDoc] Deploy EKS thru eksctl - v1.22_v0.105.0.pdf (20)

AWS Community Day - Andrew May - Running Containers in AWS
AWS Community Day - Andrew May - Running Containers in AWS  AWS Community Day - Andrew May - Running Containers in AWS
AWS Community Day - Andrew May - Running Containers in AWS
 
Kubernetes installation
Kubernetes installationKubernetes installation
Kubernetes installation
 
Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)Artem Zhurbila - docker clusters (solit 2015)
Artem Zhurbila - docker clusters (solit 2015)
 
From Kubernetes to OpenStack in Sydney
From Kubernetes to OpenStack in SydneyFrom Kubernetes to OpenStack in Sydney
From Kubernetes to OpenStack in Sydney
 
OSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacyOSS Japan 2019 service mesh bridging Kubernetes and legacy
OSS Japan 2019 service mesh bridging Kubernetes and legacy
 
Prometheus on NKS
Prometheus on NKSPrometheus on NKS
Prometheus on NKS
 
kubernetes practice
kubernetes practicekubernetes practice
kubernetes practice
 
CERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8sCERN OpenStack Cloud Control Plane - From VMs to K8s
CERN OpenStack Cloud Control Plane - From VMs to K8s
 
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
 
DevFest 2022 - Skaffold 2 Deep Dive Taipei.pdf
DevFest 2022 - Skaffold 2 Deep Dive Taipei.pdfDevFest 2022 - Skaffold 2 Deep Dive Taipei.pdf
DevFest 2022 - Skaffold 2 Deep Dive Taipei.pdf
 
Building a Kubernetes App with Amazon EKS
Building a Kubernetes App with Amazon EKSBuilding a Kubernetes App with Amazon EKS
Building a Kubernetes App with Amazon EKS
 
Deploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKSDeploying a Kubernetes App with Amazon EKS
Deploying a Kubernetes App with Amazon EKS
 
Docker on openstack by OpenSource Consulting
Docker on openstack by OpenSource ConsultingDocker on openstack by OpenSource Consulting
Docker on openstack by OpenSource Consulting
 
Bootstrapping Clusters with EKS Blueprints.pptx
Bootstrapping Clusters with EKS Blueprints.pptxBootstrapping Clusters with EKS Blueprints.pptx
Bootstrapping Clusters with EKS Blueprints.pptx
 
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker ContainersDockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
DockerCon14 Performance Characteristics of Traditional VMs vs. Docker Containers
 
Extending Kubectl.pptx
Extending Kubectl.pptxExtending Kubectl.pptx
Extending Kubectl.pptx
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceScaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container Service
 
Q&amp;a on running the elastic stack on kubernetes
Q&amp;a on running the elastic stack on kubernetesQ&amp;a on running the elastic stack on kubernetes
Q&amp;a on running the elastic stack on kubernetes
 
Learn kubernetes in 90 minutes
Learn kubernetes in 90 minutesLearn kubernetes in 90 minutes
Learn kubernetes in 90 minutes
 
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes MeetupMetal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
Metal-k8s presentation by Julien Girardin @ Paris Kubernetes Meetup
 

More from Jo Hoon

More from Jo Hoon (20)

이스티오 (Istio) 자습서 v0.5.0
이스티오 (Istio) 자습서 v0.5.0이스티오 (Istio) 자습서 v0.5.0
이스티오 (Istio) 자습서 v0.5.0
 
Prometheus on EKS
Prometheus on EKSPrometheus on EKS
Prometheus on EKS
 
[네전따] 네트워크 엔지니어에게 쿠버네티스는 어떤 의미일까요
[네전따] 네트워크 엔지니어에게 쿠버네티스는 어떤 의미일까요[네전따] 네트워크 엔지니어에게 쿠버네티스는 어떤 의미일까요
[네전따] 네트워크 엔지니어에게 쿠버네티스는 어떤 의미일까요
 
CDN on GKE with Ingress
CDN on GKE with IngressCDN on GKE with Ingress
CDN on GKE with Ingress
 
The myths of deprecating docker in kubernetes
The myths of deprecating docker in kubernetesThe myths of deprecating docker in kubernetes
The myths of deprecating docker in kubernetes
 
온프레미스 쿠버네티스에서도 로드밸런서를 (w MetalLB)
온프레미스 쿠버네티스에서도 로드밸런서를 (w MetalLB)온프레미스 쿠버네티스에서도 로드밸런서를 (w MetalLB)
온프레미스 쿠버네티스에서도 로드밸런서를 (w MetalLB)
 
[네전따 27회] 네트워크 자동화 어렵지 않아요
[네전따 27회] 네트워크 자동화 어렵지 않아요[네전따 27회] 네트워크 자동화 어렵지 않아요
[네전따 27회] 네트워크 자동화 어렵지 않아요
 
[Cook book] ansible 4_dell emc networking
[Cook book] ansible 4_dell emc networking[Cook book] ansible 4_dell emc networking
[Cook book] ansible 4_dell emc networking
 
Wiki academy sysadmin 10_day
Wiki academy sysadmin 10_dayWiki academy sysadmin 10_day
Wiki academy sysadmin 10_day
 
Wiki academy sysadmin 4_day
Wiki academy sysadmin 4_dayWiki academy sysadmin 4_day
Wiki academy sysadmin 4_day
 
Wiki academy sysadmin 3_day
Wiki academy sysadmin 3_dayWiki academy sysadmin 3_day
Wiki academy sysadmin 3_day
 
Wiki academy sysadmin 2_day
Wiki academy sysadmin 2_dayWiki academy sysadmin 2_day
Wiki academy sysadmin 2_day
 
Wiki academy sysadmin 1_day
Wiki academy sysadmin 1_dayWiki academy sysadmin 1_day
Wiki academy sysadmin 1_day
 
Wiki academy sysadmin 9_day
Wiki academy sysadmin 9_dayWiki academy sysadmin 9_day
Wiki academy sysadmin 9_day
 
Wiki academy sysadmin 8_day
Wiki academy sysadmin 8_dayWiki academy sysadmin 8_day
Wiki academy sysadmin 8_day
 
Wiki academy sysadmin 7_day
Wiki academy sysadmin 7_dayWiki academy sysadmin 7_day
Wiki academy sysadmin 7_day
 
Wiki academy sysadmin 6_day
Wiki academy sysadmin 6_dayWiki academy sysadmin 6_day
Wiki academy sysadmin 6_day
 
Wiki academy sysadmin 5_day
Wiki academy sysadmin 5_dayWiki academy sysadmin 5_day
Wiki academy sysadmin 5_day
 
[Ansible] open network automation
[Ansible] open network automation[Ansible] open network automation
[Ansible] open network automation
 
[Fs8600] nas session validation test_by_hoon_jo
[Fs8600] nas session validation test_by_hoon_jo[Fs8600] nas session validation test_by_hoon_jo
[Fs8600] nas session validation test_by_hoon_jo
 

Recently uploaded

Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 

[GuideDoc] Deploy EKS thru eksctl - v1.22_v0.105.0.pdf

  • 1. eksctl을 통한 EKS 배포 가이드 - v0.105.0 / v1.22 (https://eksctl.io/) ❗만약 yaml로 배포하길 원한다면 여길 또는 밑을 참조 📌QA test Region on (ap-northeast-1 / 도쿄) https://github.com/sysnet4admin
  • 2. AWS Cloud Shell에 eksctl 설치 (https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/eksctl.html) 1.eksctl v0.105.0을 내려받고 압축 풀기 [cloudshell-user@ip-10-0-46-136 ~]$ curl --silent --location "https://github.com/weaveworks/eksctl/releases/download/v0.105.0/eksctl_ Linux_amd64.tar.gz" | tar xz -C /tmp 2.eksctl을 실행 디렉터리로 이동 [cloudshell-user@ip-10-0-46-136 ~]$ mkdir -p $HOME/bin && cp /tmp/eksctl $HOME/bin/eksctl && export PATH=$PATH:$HOME/bin 3.eksctl 설치 상태 및 버전 체크 [cloudshell-user@ip-10-0-46-136 ~]$ eksctl version 0.105.0 ❗만약 최신 버전을 내려 받기 원할 경우 다음의 내용 참조 [cloudshell-user@ip-10-0-46-136 ~]$ curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$( uname -s)_amd64.tar.gz" | tar xz -C /tmp
  • 3. AWS Cloud Shell에 kubectl 설치 (https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/install-kubectl.html) 1.kubectl binary v.1.22 내려받기 [cloudshell-user@ip-10-0-46-136 ~]$ curl -o kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.22.6/2022-03-09/bin/linu x/amd64/kubectl % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 44.7M 100 44.7M 0 0 17.8M 0 0:00:02 0:00:02 --:--:-- 17.8M 2.kubectl binary에 실행권한을 줌 [cloudshell-user@ip-10-0-46-136 ~]$ chmod +x ./kubectl 3.kubectl을 실행 디렉토리 들로 옮김 [cloudshell-user@ip-10-0-46-136 ~]$ mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$PATH:$HOME/bin 4.kubectl 상태 및 버전 확인 [cloudshell-user@ip-10-0-46-136 ~]$ kubectl version Client Version: version.Info{Major:"1", Minor:"22+", GitVersion:"v1.22.6-eks-7d68063", GitCommit:"f24e667e49fb137336f7b064dba897beed639bad", GitTreeState:"clean", BuildDate:"2022-02-23T19:32:14Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"22+", GitVersion:"v1.22.10-eks-84b4fe6", GitCommit:"cc6a1b4915a99f49f5510ef0667f94b9ca832a8a", GitTreeState:"clean", BuildDate:"2022-06-09T18:24:04Z", GoVersion:"go1.16.15", Compiler:"gc", Platform:"linux/amd64"}
  • 4. 설치된 eksctl을 통해서 EKS 배포 (https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/getting-started-eksctl.html) 1.eksctl create cluster (default: --version=1.22) [cloudshell-user@ip-10-0-46-136 ~]$ eksctl create cluster --name eks-122 --version1.22 2022-07-15 03:47:19 [ℹ] eksctl version 0.105.0 2022-07-15 03:47:19 [ℹ] using region ap-northeast-1 2022-07-15 03:47:19 [ℹ] setting availability zones to [ap-northeast-1c ap-northeast-1d ap-northeast-1a] 2022-07-15 03:47:19 [ℹ] subnets for ap-northeast-1c - public:192.168.0.0/19 private:192.168.96.0/19 2022-07-15 03:47:19 [ℹ] subnets for ap-northeast-1d - public:192.168.32.0/19 private:192.168.128.0/19 2022-07-15 03:47:19 [ℹ] subnets for ap-northeast-1a - public:192.168.64.0/19 private:192.168.160.0/19 2022-07-15 03:47:19 [ℹ] nodegroup "ng-d4276147" will use "" [AmazonLinux2/1.22] 2022-07-15 03:47:19 [ℹ] using Kubernetes version 1.22 2022-07-15 03:47:19 [ℹ] creating EKS cluster "eks-122" in "ap-northeast-1" region with managed nodes 2022-07-15 03:47:19 [ℹ] will create 2 separate CloudFormation stacks for cluster itself and the initial managed nodegroup 2022-07-15 03:47:19 [ℹ] if you encounter any issues, check CloudFormation console or try 'eksctl utils describe-stacks --region=ap-northeast-1 --cluster=eks-122' 2022-07-15 03:47:19 [ℹ] Kubernetes API endpoint access will use default of {publicAccess=true, privateAccess=false} for cluster "eks-122" in "ap-northeast-1" 2022-07-15 03:47:19 [ℹ] CloudWatch logging will not be enabled for cluster "eks-122" in "ap-northeast-1" 2022-07-15 03:47:19 [ℹ] you can enable it with 'eksctl utils update-cluster-logging --enable-types={SPECIFY-YOUR-LOG-TYPES-HERE (e.g. all)} --region=ap-northeast-1 --cluster=eks-122' 2022-07-15 03:47:19 [ℹ] 2 sequential tasks: { create cluster control plane "eks-122", 2 sequential sub-tasks: { wait for control plane to become ready, create managed nodegroup "ng-d4276147", } } 2022-07-15 03:47:19 [ℹ] building cluster stack "eksctl-eks-122-cluster" 2022-07-15 03:47:19 [ℹ] deploying stack "eksctl-eks-122-cluster" 2022-07-15 03:47:49 [ℹ] waiting for CloudFormation stack
  • 5. "eksctl-eks-122-cluster" 2022-07-15 03:48:19 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-cluster" 2022-07-15 03:49:20 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-cluster" 2022-07-15 03:50:20 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-cluster" 2022-07-15 03:51:20 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-cluster" 2022-07-15 03:52:20 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-cluster" 2022-07-15 03:53:20 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-cluster" 2022-07-15 03:54:20 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-cluster" 2022-07-15 03:55:20 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-cluster" 2022-07-15 03:56:20 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-cluster" 2022-07-15 03:57:20 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-cluster" 2022-07-15 03:58:20 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-cluster" 2022-07-15 04:00:21 [ℹ] building managed nodegroup stack "eksctl-eks-122-nodegroup-ng-d4276147" 2022-07-15 04:00:21 [ℹ] deploying stack "eksctl-eks-122-nodegroup-ng-d4276147" 2022-07-15 04:00:21 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-nodegroup-ng-d4276147" 2022-07-15 04:00:52 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-nodegroup-ng-d4276147" 2022-07-15 04:01:24 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-nodegroup-ng-d4276147" 2022-07-15 04:03:07 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-nodegroup-ng-d4276147" 2022-07-15 04:04:51 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-nodegroup-ng-d4276147" 2022-07-15 04:04:51 [ℹ] waiting for the control plane availability... 2022-07-15 04:04:52 [✔] saved kubeconfig as "/home/cloudshell-user/.kube/config" 2022-07-15 04:04:52 [ℹ] no tasks 2022-07-15 04:04:52 [✔] all EKS cluster resources for "eks-122" have been created 2022-07-15 04:04:52 [ℹ] nodegroup "ng-d4276147" has 2 node(s) 2022-07-15 04:04:52 [ℹ] node "ip-192-168-17-228.ap-northeast-1.compute.internal" is ready
  • 6. 2022-07-15 04:04:52 [ℹ] node "ip-192-168-47-97.ap-northeast-1.compute.internal" is ready 2022-07-15 04:04:52 [ℹ] waiting for at least 2 node(s) to become ready in "ng-d4276147" 2022-07-15 04:04:52 [ℹ] nodegroup "ng-d4276147" has 2 node(s) 2022-07-15 04:04:52 [ℹ] node "ip-192-168-17-228.ap-northeast-1.compute.internal" is ready 2022-07-15 04:04:52 [ℹ] node "ip-192-168-47-97.ap-northeast-1.compute.internal" is ready 2022-07-15 04:04:53 [ℹ] kubectl command should work with "/home/cloudshell-user/.kube/config", try 'kubectl get nodes' 2022-07-15 04:04:53 [✔] EKS cluster "eks-122" in "ap-northeast-1" region is ready 2.배포된 EKS 클러스터 확인 [cloudshell-user@ip-10-0-146-72 ~]$ kubectl get nodes NAME STATUS ROLES AGE VERSION ip-192-168-26-17.ap-northeast-1.compute.internal Ready <none> 47m v1.22.9-eks-810597c ip-192-168-59-253.ap-northeast-1.compute.internal Ready <none> 47m v1.22.9-eks-810597c 3.배포된 EKS를 AWS GUI에서 확인 ❗만약 kubectl이 설치되지 않은 상태로 배포한다면 error 발생 [cloudshell-user@ip-10-0-46-136 ~]$ eksctl create cluster 2022-07-15 01:07:00 [ℹ] eksctl version 0.105.0 2022-07-15 01:07:00 [ℹ] using region ap-northeast-1 2022-07-15 01:07:00 [ℹ] setting availability zones to [ap-northeast-1c ap-northeast-1a ap-northeast-1d]
  • 7. 2022-07-15 01:07:00 [ℹ] subnets for ap-northeast-1c - public:192.168.0.0/19 private:192.168.96.0/19 2022-07-15 01:07:00 [ℹ] subnets for ap-northeast-1a - public:192.168.32.0/19 private:192.168.128.0/19 2022-07-15 01:07:00 [ℹ] subnets for ap-northeast-1d - public:192.168.64.0/19 private:192.168.160.0/19 2022-07-15 01:07:00 [ℹ] nodegroup "ng-b6218207" will use "" [AmazonLinux2/1.22] 2022-07-15 01:07:00 [ℹ] using Kubernetes version 1.22 2022-07-15 01:07:00 [ℹ] creating EKS cluster "extravagant-unicorn-1657847220" in "ap-northeast-1" region with managed nodes <snipped> 2022-07-15 01:23:41 [ℹ] node "ip-192-168-82-13.ap-northeast-1.compute.internal" is ready 2022-07-15 01:23:41 [✖] kubectl not found, v1.10.0 or newer is required 2022-07-15 01:23:41 [ℹ] cluster should be functional despite missing (or misconfigured) client binaries 2022-07-15 01:23:41 [✔] EKS cluster "extravagant-unicorn-1657847220" in "ap-northeast-1" region is ready
  • 8. 설치된 EKS 클러스터 삭제하기 1.설치된 EKS cluster 확인 [cloudshell-user@ip-10-0-146-72 ~]$ eksctl get cluster NAME REGION EKSCTL CREATED eks-122 ap-northeast-1 True ❗만약 이름을 지정하지 않았다면? [cloudshell-user@ip-10-0-46-136 ~]$ eksctl get cluster NAME REGION EKSCTL CREATED extravagant-unicorn-1657847220 ap-northeast-1 True 2.eksctl delete cluster [cloudshell-user@ip-10-0-146-72 ~]$ eksctl delete cluster --name eks-122 2022-07-15 03:23:52 [ℹ] deleting EKS cluster "eks-122" 2022-07-15 03:23:52 [ℹ] will drain 0 unmanaged nodegroup(s) in cluster "eks-122" 2022-07-15 03:23:52 [ℹ] starting parallel draining, max in-flight of 1 2022-07-15 03:23:52 [ℹ] deleted 0 Fargate profile(s) 2022-07-15 03:23:52 [✔] kubeconfig has been updated 2022-07-15 03:23:52 [ℹ] cleaning up AWS load balancers created by Kubernetes objects of Kind Service or Ingress 2022-07-15 03:23:54 [ℹ] 2 sequential tasks: { delete nodegroup "ng-711dbf40", delete cluster control plane "eks-122" [async] } 2022-07-15 03:23:54 [ℹ] will delete stack "eksctl-eks-122-nodegroup-ng-711dbf40" 2022-07-15 03:23:54 [ℹ] waiting for stack "eksctl-eks-122-nodegroup-ng-711dbf40" to get deleted 2022-07-15 03:23:54 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-nodegroup-ng-711dbf40" 2022-07-15 03:24:24 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-nodegroup-ng-711dbf40" 2022-07-15 03:25:15 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-nodegroup-ng-711dbf40" 2022-07-15 03:26:06 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-nodegroup-ng-711dbf40" 2022-07-15 03:28:03 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-nodegroup-ng-711dbf40"
  • 9. 2022-07-15 03:28:57 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-nodegroup-ng-711dbf40" 2022-07-15 03:30:32 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-nodegroup-ng-711dbf40" 2022-07-15 03:31:25 [ℹ] waiting for CloudFormation stack "eksctl-eks-122-nodegroup-ng-711dbf40" 2022-07-15 03:31:25 [ℹ] will delete stack "eksctl-eks-122-cluster" 2022-07-15 03:31:25 [✔] all cluster resources were deleted 3.삭제된 EKS를 AWS GUI에서 확인
  • 10. 부록1 yaml로 EKS 배포하기 1.yaml 예제 파일 내려받기 [cloudshell-user@ip-10-0-146-72 ~]$ curl https://raw.githubusercontent.com/weaveworks/eksctl/main/examples/03-two -nodegroups.yaml -o /tmp/03-two-nodegroups.yaml % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 391 100 391 0 0 987 0 --:--:-- --:--:-- --:--:-- 987 2.eksctl create cluster -f <yaml> [cloudshell-user@ip-10-0-146-72 ~]$ eksctl create cluster -f /tmp/03-two-nodegroups.yaml 2022-07-15 07:03:56 [ℹ] eksctl version 0.105.0 2022-07-15 07:03:56 [ℹ] using region eu-north-1 2022-07-15 07:03:57 [ℹ] setting availability zones to [eu-north-1a eu-north-1b eu-north-1c] 2022-07-15 07:03:57 [ℹ] subnets for eu-north-1a - public:192.168.0.0/19 private:192.168.96.0/19 2022-07-15 07:03:57 [ℹ] subnets for eu-north-1b - public:192.168.32.0/19 private:192.168.128.0/19 2022-07-15 07:03:57 [ℹ] subnets for eu-north-1c - public:192.168.64.0/19 private:192.168.160.0/19 2022-07-15 07:03:58 [ℹ] nodegroup "ng1-public" will use "ami-05f51b54cf23c7116" [AmazonLinux2/1.22] 2022-07-15 07:03:58 [ℹ] nodegroup "ng2-private" will use "ami-05f51b54cf23c7116" [AmazonLinux2/1.22] 2022-07-15 07:03:59 [ℹ] using Kubernetes version 1.22 2022-07-15 07:03:59 [ℹ] creating EKS cluster "cluster-3" in "eu-north-1" region with un-managed nodes 2022-07-15 07:03:59 [ℹ] 2 nodegroups (ng1-public, ng2-private) were included (based on the include/exclude rules) 2022-07-15 07:03:59 [ℹ] will create a CloudFormation stack for cluster itself and 2 nodegroup stack(s) 2022-07-15 07:03:59 [ℹ] will create a CloudFormation stack for cluster itself and 0 managed nodegroup stack(s) 2022-07-15 07:03:59 [ℹ] if you encounter any issues, check CloudFormation console or try 'eksctl utils describe-stacks --region=eu-north-1 --cluster=cluster-3' 2022-07-15 07:03:59 [ℹ] Kubernetes API endpoint access will use default
  • 11. of {publicAccess=true, privateAccess=false} for cluster "cluster-3" in "eu-north-1" 2022-07-15 07:03:59 [ℹ] CloudWatch logging will not be enabled for cluster "cluster-3" in "eu-north-1" 2022-07-15 07:03:59 [ℹ] you can enable it with 'eksctl utils update-cluster-logging --enable-types={SPECIFY-YOUR-LOG-TYPES-HERE (e.g. all)} --region=eu-north-1 --cluster=cluster-3' 2022-07-15 07:03:59 [ℹ] 2 sequential tasks: { create cluster control plane "cluster-3", 2 sequential sub-tasks: { wait for control plane to become ready, 2 parallel sub-tasks: { create nodegroup "ng1-public", create nodegroup "ng2-private", }, } } 2022-07-15 07:03:59 [ℹ] building cluster stack "eksctl-cluster-3-cluster" 2022-07-15 07:04:00 [ℹ] deploying stack "eksctl-cluster-3-cluster" 2022-07-15 07:04:30 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-cluster" 2022-07-15 07:05:01 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-cluster" 2022-07-15 07:06:02 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-cluster" 2022-07-15 07:07:03 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-cluster" 2022-07-15 07:08:04 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-cluster" 2022-07-15 07:09:05 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-cluster" 2022-07-15 07:10:06 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-cluster" 2022-07-15 07:11:07 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-cluster" 2022-07-15 07:12:08 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-cluster" 2022-07-15 07:13:09 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-cluster" 2022-07-15 07:14:10 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-cluster" 2022-07-15 07:16:18 [ℹ] building nodegroup stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:16:18 [ℹ] --nodes-min=4 was set automatically for nodegroup ng1-public
  • 12. 2022-07-15 07:16:18 [ℹ] --nodes-max=4 was set automatically for nodegroup ng1-public 2022-07-15 07:16:18 [ℹ] building nodegroup stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:16:18 [ℹ] --nodes-min=10 was set automatically for nodegroup ng2-private 2022-07-15 07:16:18 [ℹ] --nodes-max=10 was set automatically for nodegroup ng2-private 2022-07-15 07:16:19 [ℹ] deploying stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:16:19 [ℹ] deploying stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:16:19 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:16:19 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:16:50 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:16:50 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:17:22 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:17:24 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:18:46 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:19:11 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:20:25 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:20:26 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:21:45 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:22:01 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:23:04 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:23:27 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:23:57 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:24:23 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:25:07 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public"
  • 13. 2022-07-15 07:25:14 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:26:44 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:27:05 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:27:52 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:28:01 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:28:02 [ℹ] waiting for the control plane availability... 2022-07-15 07:28:02 [✔] saved kubeconfig as "/home/cloudshell-user/.kube/config" 2022-07-15 07:28:02 [ℹ] no tasks 2022-07-15 07:28:02 [✔] all EKS cluster resources for "cluster-3" have been created 2022-07-15 07:28:03 [ℹ] adding identity "arn:aws:iam::880298856041:role/eksctl-cluster-3-nodegroup-ng1-pu-NodeIn stanceRole-1ESFR9RNWEIEY" to auth ConfigMap 2022-07-15 07:28:04 [ℹ] nodegroup "ng1-public" has 0 node(s) 2022-07-15 07:28:04 [ℹ] waiting for at least 4 node(s) to become ready in "ng1-public" 2022-07-15 07:28:58 [ℹ] nodegroup "ng1-public" has 4 node(s) 2022-07-15 07:28:58 [ℹ] node "ip-192-168-11-150.eu-north-1.compute.internal" is ready 2022-07-15 07:28:58 [ℹ] node "ip-192-168-6-223.eu-north-1.compute.internal" is ready 2022-07-15 07:28:58 [ℹ] node "ip-192-168-62-220.eu-north-1.compute.internal" is ready 2022-07-15 07:28:58 [ℹ] node "ip-192-168-77-236.eu-north-1.compute.internal" is ready 2022-07-15 07:28:58 [ℹ] adding identity "arn:aws:iam::880298856041:role/eksctl-cluster-3-nodegroup-ng2-pr-NodeIn stanceRole-1SDLTX7E68HZV" to auth ConfigMap 2022-07-15 07:28:59 [ℹ] nodegroup "ng2-private" has 0 node(s) 2022-07-15 07:28:59 [ℹ] waiting for at least 10 node(s) to become ready in "ng2-private" 2022-07-15 07:31:32 [ℹ] nodegroup "ng2-private" has 10 node(s) 2022-07-15 07:31:32 [ℹ] node "ip-192-168-105-13.eu-north-1.compute.internal" is ready 2022-07-15 07:31:32 [ℹ] node "ip-192-168-106-192.eu-north-1.compute.internal" is ready 2022-07-15 07:31:32 [ℹ] node "ip-192-168-106-228.eu-north-1.compute.internal" is ready 2022-07-15 07:31:32 [ℹ] node "ip-192-168-127-188.eu-north-1.compute.internal" is ready
  • 14. 2022-07-15 07:31:32 [ℹ] node "ip-192-168-128-244.eu-north-1.compute.internal" is ready 2022-07-15 07:31:32 [ℹ] node "ip-192-168-152-186.eu-north-1.compute.internal" is ready 2022-07-15 07:31:32 [ℹ] node "ip-192-168-158-59.eu-north-1.compute.internal" is ready 2022-07-15 07:31:32 [ℹ] node "ip-192-168-173-144.eu-north-1.compute.internal" is ready 2022-07-15 07:31:32 [ℹ] node "ip-192-168-177-237.eu-north-1.compute.internal" is ready 2022-07-15 07:31:32 [ℹ] node "ip-192-168-189-236.eu-north-1.compute.internal" is ready 2022-07-15 07:31:35 [ℹ] kubectl command should work with "/home/cloudshell-user/.kube/config", try 'kubectl get nodes' 2022-07-15 07:31:35 [✔] EKS cluster "cluster-3" in "eu-north-1" region is ready ❗직접 소스에서 생성하는건 안됨 [cloudshell-user@ip-10-0-146-72 ~]$ eksctl create cluster -f https://raw.githubusercontent.com/weaveworks/eksctl/main/examples/03-two -nodegroups.yaml Error: reading config file "https://raw.githubusercontent.com/weaveworks/eksctl/main/examples/03-tw o-nodegroups.yaml": open https://raw.githubusercontent.com/weaveworks/eksctl/main/examples/03-two -nodegroups.yaml: no such file or directory ❗또한 --name 지정도 안됨. 필요하면 yaml 내에 기입하도록 함 [cloudshell-user@ip-10-0-146-72 ~]$ eksctl create cluster -f /tmp/03-two-nodegroups.yaml --name eks-122-2nodegroups Error: cannot use --name when --config-file/-f is set 3.배포된 EKS 클러스터 확인 [cloudshell-user@ip-10-0-73-129 ~]$ kubectl get node NAME STATUS ROLES AGE VERSION ip-192-168-105-13.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c ip-192-168-106-192.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c ip-192-168-106-228.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c ip-192-168-11-150.eu-north-1.compute.internal Ready <none> 18m v1.22.9-eks-810597c ip-192-168-127-188.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c
  • 15. ip-192-168-128-244.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c ip-192-168-152-186.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c ip-192-168-158-59.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c ip-192-168-173-144.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c ip-192-168-177-237.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c ip-192-168-189-236.eu-north-1.compute.internal Ready <none> 17m v1.22.9-eks-810597c ip-192-168-6-223.eu-north-1.compute.internal Ready <none> 18m v1.22.9-eks-810597c ip-192-168-62-220.eu-north-1.compute.internal Ready <none> 18m v1.22.9-eks-810597c ip-192-168-77-236.eu-north-1.compute.internal Ready <none> 18m v1.22.9-eks-810597c 4.배포된 EKS 클러스터의 노드그룹 확인 [cloudshell-user@ip-10-0-73-129 ~]$ eksctl get nodegroup --cluster=cluster-3 --region=eu-north-1 CLUSTER NODEGROUP STATUS CREATED MIN SIZE MAX SIZE DESIRED CAPACITY INSTANCE TYPE IMAGE ID ASG NAME TYPE cluster-3 ng1-public CREATE_COMPLETE 2022-07-15T07:16:19Z 4 4 4 m5.xlarge ami-05f51b54cf23c7116 eksctl-cluster-3-nodegroup-ng1-public-NodeGroup-7JY8Z9GUVN0J unmanaged cluster-3 ng2-private CREATE_COMPLETE 2022-07-15T07:16:19Z 10 10 10 m5.large ami-05f51b54cf23c7116 eksctl-cluster-3-nodegroup-ng2-private-NodeGroup-G8OUJ4H7ULSJ unmanaged 5.Yaml 파일로 설치된 EKS 클러스터 삭제 [cloudshell-user@ip-10-0-73-129 ~]$ eksctl delete cluster -f /tmp/03-two-nodegroups.yaml 2022-07-15 07:51:58 [ℹ] deleting EKS cluster "cluster-3" 2022-07-15 07:52:01 [ℹ] will drain 2 unmanaged nodegroup(s) in cluster "cluster-3" 2022-07-15 07:52:01 [ℹ] starting parallel draining, max in-flight of 1 2022-07-15 07:52:03 [ℹ] cordon node "ip-192-168-11-150.eu-north-1.compute.internal" 2022-07-15 07:52:03 [ℹ] cordon node "ip-192-168-105-13.eu-north-1.compute.internal" 2022-07-15 07:52:03 [ℹ] cordon node "ip-192-168-106-192.eu-north-1.compute.internal" 2022-07-15 07:52:03 [ℹ] cordon node "ip-192-168-6-223.eu-north-1.compute.internal" 2022-07-15 07:52:04 [ℹ] cordon node "ip-192-168-62-220.eu-north-1.compute.internal" 2022-07-15 07:52:04 [ℹ] cordon node "ip-192-168-106-228.eu-north-1.compute.internal" 2022-07-15 07:52:04 [ℹ] cordon node "ip-192-168-127-188.eu-north-1.compute.internal"
  • 16. 2022-07-15 07:52:04 [ℹ] cordon node "ip-192-168-77-236.eu-north-1.compute.internal" 2022-07-15 07:52:04 [ℹ] cordon node "ip-192-168-128-244.eu-north-1.compute.internal" 2022-07-15 07:52:04 [ℹ] cordon node "ip-192-168-152-186.eu-north-1.compute.internal" 2022-07-15 07:52:05 [ℹ] cordon node "ip-192-168-158-59.eu-north-1.compute.internal" 2022-07-15 07:52:05 [ℹ] cordon node "ip-192-168-173-144.eu-north-1.compute.internal" 2022-07-15 07:52:05 [ℹ] cordon node "ip-192-168-177-237.eu-north-1.compute.internal" 2022-07-15 07:52:05 [ℹ] cordon node "ip-192-168-189-236.eu-north-1.compute.internal" 2022-07-15 07:52:20 [✔] drained all nodes: [ip-192-168-77-236.eu-north-1.compute.internal ip-192-168-6-223.eu-north-1.compute.internal ip-192-168-11-150.eu-north-1.compute.internal ip-192-168-62-220.eu-north-1.compute.internal] 2022-07-15 07:52:28 [✔] drained all nodes: [ip-192-168-158-59.eu-north-1.compute.internal ip-192-168-105-13.eu-north-1.compute.internal ip-192-168-128-244.eu-north-1.compute.internal ip-192-168-106-228.eu-north-1.compute.internal ip-192-168-177-237.eu-north-1.compute.internal ip-192-168-173-144.eu-north-1.compute.internal ip-192-168-189-236.eu-north-1.compute.internal ip-192-168-127-188.eu-north-1.compute.internal ip-192-168-152-186.eu-north-1.compute.internal ip-192-168-106-192.eu-north-1.compute.internal] 2022-07-15 07:52:29 [ℹ] deleted 0 Fargate profile(s) 2022-07-15 07:52:32 [✔] kubeconfig has been updated 2022-07-15 07:52:32 [ℹ] cleaning up AWS load balancers created by Kubernetes objects of Kind Service or Ingress 2022-07-15 07:52:35 [ℹ] 2 sequential tasks: { 2 parallel sub-tasks: { delete nodegroup "ng2-private", delete nodegroup "ng1-public", }, delete cluster control plane "cluster-3" [async] } 2022-07-15 07:52:36 [ℹ] will delete stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:52:36 [ℹ] waiting for stack "eksctl-cluster-3-nodegroup-ng2-private" to get deleted 2022-07-15 07:52:36 [ℹ] will delete stack
  • 17. "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:52:36 [ℹ] waiting for stack "eksctl-cluster-3-nodegroup-ng1-public" to get deleted 2022-07-15 07:52:36 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:52:36 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:53:07 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:53:07 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:53:43 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:53:44 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:54:42 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:54:45 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:56:31 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng2-private" 2022-07-15 07:56:42 [ℹ] waiting for CloudFormation stack "eksctl-cluster-3-nodegroup-ng1-public" 2022-07-15 07:56:44 [ℹ] will delete stack "eksctl-cluster-3-cluster" 2022-07-15 07:56:45 [✔] all cluster resources were deleted