관리 메뉴

피터의 개발이야기

[EKS] eksctl 자주사용 명령어 본문

AWS/EKS

[EKS] eksctl 자주사용 명령어

기록하는 백앤드개발자 2022. 10. 2. 21:28
반응형

ㅁ 개요

 ㅇ 자주 사용하는 eksctl 명령어를 저장하기 위한 글이다.

 ㅇ 사용했던 명령어를 조금씩 업데이트하고 있다.

 

ㅁ EKS 클러스터 생성

eksctl create cluster --name k8s-peterica \
--region ap-northeast-2 \
--version 1.21 \
--nodegroup-name work-nodes \
--nodes 1 \
--nodes-min 1 \
--nodes-max 3 \
--node-type t3.medium \
--node-volume-size=20 \
--with-oidc \
--ssh-access \
--ssh-public-key aws-login-key \
--managed

 

ㅁ 노드그룹 scale 조정

[ec2-user@ip-172-31-43-214 ~]$ eksctl scale nodegroup --name=work-nodes --cluster=k8s-demo --nodes=1
2022-08-02 01:46:56 [ℹ]  scaling nodegroup "work-nodes" in cluster k8s-demo
2022-08-02 01:46:56 [ℹ]  waiting for scaling of nodegroup "work-nodes" to complete
2022-08-02 01:47:27 [ℹ]  nodegroup successfully scaled

 

ㅁ EKS WorkNode 버젼 확인

# eksctl를 통한 workNode 조회
$ eksctl get ng --cluster k8s-peterica
CLUSTER		NODEGROUP	STATUS	CREATED			MIN SIZE	MAX SIZE	DESIRED CAPACITY	INSTANCE TYPE	IMAGE ID	ASG NAME						TYPE
k8s-peterica	work-nodes	ACTIVE	2022-09-19T12:53:07Z	1		2		1			t3.medium	AL2_x86_64	eks-work-nodes-3ac1aae7-96b0-a054-d0e2-e4cfab4b1094	managed

# kubectl를 이용한 eks 버젼확인
$ kubectl get no -o wide
NAME                                               STATUS   ROLES    AGE     VERSION                INTERNAL-IP     EXTERNAL-IP   OS-IMAGE         KERNEL-VERSION                 CONTAINER-RUNTIME
ip-192-168-27-28.ap-northeast-2.compute.internal   Ready    <none>   7m44s   v1.21.14-eks-ba74326   192.168.27.28   3.35.24.209   Amazon Linux 2   5.4.209-116.367.amzn2.x86_64   docker://20.10.17

 ㅇ workNode의 eks 버젼이 1.21임을 확인 할 수 있다.

 ㅇ eks을 업그레이드를 하기 위해서는 workNodeGroup의 AMI_ID를 변경해야 한다.

 ㅇ eks버전에 따른  AMI 아이를 찾아야한다.

 

 

ㅁ EKSCTL 명령어를 통한 WorkNode EKS버젼 업그레이드

eksctl upgrade nodegroup --name=work-nodes --cluster=k8s-peterica --kubernetes-version=1.22

 

 

ㅁ 테스트를 마치고 노드 정리

[ec2-user@ip-172-31-43-214 ~]$  eksctl scale nodegroup --name=work-nodes --cluster=k8s-peterica --nodes=0 --nodes-min=0
2022-09-29 02:18:55 [ℹ]  scaling nodegroup "work-nodes" in cluster k8s-peterica
2022-09-29 02:18:56 [ℹ]  waiting for scaling of nodegroup "work-nodes" to complete
2022-09-29 02:22:01 [ℹ]  nodegroup successfully scaled

 

ㅁ addon 정보 가져오기

$ eksctl get addon --name vpc-cni --cluster k8s-peterica
2022-09-27 01:35:55 [ℹ]  Kubernetes version "1.22" in use by cluster "k8s-peterica"
2022-09-27 01:35:55 [ℹ]  to see issues for an addon run `eksctl get addon --name <addon-name> --cluster <cluster-name>`
NAME	VERSION			STATUS	ISSUES	IAMROLE	UPDATE AVAILABLE
vpc-cni	v1.9.1-eksbuild.1	ACTIVE	0		v1.11.4-eksbuild.1,v1.11.3-eksbuild.1,v1.11.2-eksbuild.1,v1.11.0-eksbuild.1,v1.10.3-eksbuild.1,v1.10.2-eksbuild.1,v1.10.1-eksbuild.1,v1.9.3-eksbuild.1

 

ㅁ kube-proxy 업그레이드

  ㅇ 업그레이드 목표 버젼은 1.22.11-eksbuild.2 이다.

 

$ eksctl update addon \
    --name kube-proxy \
    --version 1.22.11-eksbuild.2 \
    --cluster k8s-peterica \
    --force

 

 

ㅁ 함께 보면 좋은 사이트

 

 

Introduction - eksctl

Introduction Getting started Need help? Join Weave Community Slack. Listing clusters To list the details about a cluster or all of the clusters, use: eksctl get cluster [--name= ][--region= ] Basic cluster creation To create a basic cluster, but with a dif

eksctl.io

 ㅇ eksctl 사용법에 대한 홈페이지. 클러스터, 노드 등 자세한 사용법을 알 수 있다.

 

 

반응형
Comments