클라우드/Kubernetes
[Kubernetes] 여러 개의 클러스터에 하나의 컴퓨터에서 명령어 실행
Cloud_Park
2022. 10. 24. 12:51
여러 개의 NKS를 하나의 컴퓨터에서 명령어 내리기
쿠버네티스의 kubectl명령어는 기본적으로 ~/.kube/config 라는 파일에서 클러스터의 api 주소로 명령어를 보내게 된다.
config파일 주된 내용은
cluster : 연결할 클러스터의 api 주소 (k8s의 api 서버의 기본 포트는 6443)
user : 클러스터에 대한 인증 값을 지정
context : 클러스터와 유저를 하나로 명칭하여 context의 값으로 kubectl에서 context 이름 기준으로 세팅함
NKS는 생성시 config에 동일한 값 때문에 다수의 config값을 수정하기 어렵다 - user이름(동일), context이름(동일), cluster이름(NKS의 이름에 따라 다름)
아래 사진을 보면 이해하기 쉽다.
context는 cluster와 user를 하나로 묶는 역할을 한다.
중요한 것은 이름이 두개의 파일 모두 context의 이름(default), user의 이름 (user) 동일하다는 것이다.
변경하도록하자.
2개의 파일을 하나로 합치는 작업을 했다. 하나의 파일에 user명과 클러스터명을 각각(add-context, add-admin)로 변경 했고 (이는 사용 목적에 맞게 변경하면 알아보기 쉽다.)
경로: ~/.kube/config에 옮긴 후 명령어를 따라 실행해보자
$ kubectl config current-context //현재 연결 중인 context (클러스터)
$ kubectl config get-contexts //내가 열결할 수 있는 context (클러스터)
$ kubectl config use-context add-context //add-context로 변경