본문 바로가기
IT 생활

EKS 명령어 정리

by freeyj 2022. 9. 15.

[버전정보]

# kubectl version --short

 

[사용가능한 오브젝트 리스트 출력]

# kubectl api-resources

 

[권한 확인]

AWS IAM 자격증명 확인

# aws sts get-caller-identity

 

AWS IAM table로출력

# aws iam list-users --output table
 

AWS IAM yaml로 출력

# aws iam list-users --output yaml
 

EKS 권한 확인

# kubectl describe configmap -n kube-system aws-auth

 

[Context 관리]

컨텍스트 리스트 출력

# kubectl config get-contexts

 

현재 컨텍스트 출력

# kubectl config current-context

 

컨텍스트 이동

# kubectl config use-context "이동할 컨텍스트 네임"

 

해당 컨텍스트 kubeconfig 설정을 표시

# kubectl config view

 

kubeconfig 생성 및 업데이트

# aws eks --region <region-code> update-kubeconfig --name <cluster_name>

Kubectl Context 란?
Kubernetes는 Kubeconfig라는 YAML 파일을 사용하여 Kubectl 에 대한 클러스터 인증 정보를 저장합니다. Context는 access parameters 그룹이며, 각 컨테스트에는 Kubernetes 클러스터, 사용 자 및 네임스테이스가 포함됩니다. 
클러스터를 만들면 클러스터의 대한 정보들이 Kubeconfig에 자동으로 추가됩니다.

 

[YAML 파일]

yaml 파일 생성 후 적용

# kubectl apply -f "name.yaml"

 

[kubectl get $object]

노드 조회

# kubectl get node -A

 

실행중인 파드 확인

# kubectl get pod

 

서비스의 모든 정보 확인

# kubectl get service -A

 

특정 서비스 정보 확인

# kubectl get service "Namespace명" 옵션 : -n / namespace가 default 가 아닐때

 

배포상태 진행 상황

# kubectl get deployment "app 이름"

 

생성된 파드의 디폴로이먼트 확인

# kubectl get deploymnet "Namesapce"

 

특정 리소스 yaml 파일 확인

# kubectl get (svc/deploy/pod ..etc) <이름> -n <네임스페이스> -o yaml

 

이벤트 출력

# kubectl get event

 

특정 namespace 확인

# kubectl get all -n "네임스페이스 이름"

 

특정 namespace 상태 확인

# kubectl get -n "네임스페이스 이름"deployments.apps/"서비스 이름"

 

namespace yaml 확인

# kubectl get -n "네임스페이스 이름" deployments.apps/"서비스 이름" -o yaml

 

namespace yaml 편집

# kubectl edit -n "네임스페이스 이름" deployments.apps/"서비스 이름"

 

pv,pvc 확인

# kubectl get pv

 

[Kubectl describe $object]

node 자세한 정보 확인

# kubectl describe nodes "node 명"


Pod 자세한 정보 확인

# kubectl describe pods "pod 명"

 

특정 서비스 자세한 정보 확인

# kubectl describe service "namespace명" 옵션 : -n / namespace가 default 가 아닐때

 

[암호화]

kubernetes 비밀을 암호화 할때 사용할 클러스터용 CMK 를 생성

# aws kms create-alias --alias-name alias/"별칭" --target-key-id $(aws kms create-key --query KeyMetadata.Arn --output text)

 
[서비스 확장]

백엔드 서비스 확장

# kubectl scale deployment "서비스명" --replicas=3