Skip to main content

31. [BackEnd] kubectl & k9s

위 두 도구들은 kubernates 클러스터에 접속하는 2개 cli 툴이다.

kubectl


여기 보구 설치 가능

AWS EKS와 연결 방법

aws eks update-kubeconfig --name <클러스터이름> --region <지역 코드>

근데 권한이 필요하다는 에러가 나올 것입니다.

권한 설정 방법

AWS IAM > 액세스 관리 > 사용자 그룹 > 권한 > 권한 추가 > 인라인 정책 생성 >

서비스 : EKS, All 체크, Resource: ALL > 정책이름 설정하면 끝

권한 설정하고 위 연결 명령어를 실행하면 작동합니다.

하게 된다면 ~/.kube/config가 생깁니다.

이 파일을 봤을 때 contexts.context.cluster가 이름이 됩니다.

이를 사용해서 여러 클러스터가 있을 때 아래 명령어로 전환할 수 있습니다.

kubectl config user-context <이름>

에러 해결


error: You must be logged in to the server (the server has asked for the client to provide credentials)

위와 같은 에러가 납니다. 해결 방법은 아래와 같습니다.

IAM > 내 보안 자격 증명 > 액세스 키 > 액세스 키 만들기 > 만든키로 값넣기

vi ~/.aws/credentials

기존 [default]키는 [github]로 변경하고 이 액세스키 값을 default에 추가합니다.

kubectl cluster-info

로 확인할 수 있습니다.

GitHub CLI Credential 사용 방법


export AWS_PROFILE=github

Github user가 cluster 사용가능하도록 설정


apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapUsers: |
- groups:
- system:masters
userarn: <유저 arn>
username: <유저 이름>

영상이랑 format이 바뀌어서 꽤나 고생했습니다.

그래서 참조할 수 있는 URL을 저장해놔야겠습니다. 여기는 aws-auth.yaml에 대한 예시가 담겼습니다.

여기는 전체적인 과정이 담겼습니다.

이게 Github 유저에게 cluster 사용 권한을 주는 것입니다.

k9s


kubectl보다 쉽고 좋은 툴이다.

여기에서 다운로드할 수 있다.

근데 이거 잘 안된다.

이 분이 잘 정리해놓으셨다.