- NCP K8s Service는 ncp-iam-authenticator를 통해서 IAM 인증을 제공한다.
- IAM 인증을 통해서 kubectl을 사용하기 위해
- ncp-iam-authenticator를 설치하고
- kubectl 설정 파일을 수정하여
- 이를 인증에 사용하도록 한다.
▪︎ ncp-iam-authenticator 설치 (for macOS)
1. Object Storage에서 ncp-iam-authenticator 바이너리를 다운로드
$ curl -o ncp-iam-authenticator <https://kr.object.ncloudstorage.com/nks-download/ncp-iam-authenticator/v1.0.5/darwin/amd64/ncp-iam-authenticator>
2. 바이너리에 실행 권한 추가
$ chmod +x ./ncp-iam-authenticator
3. $HOME/bin/ncp-iam-authenticator를 생성하고 $PATH에 추가
$ mkdir -p $HOME/bin && cp ./ncp-iam-authenticator $HOME/bin/ncp-iam-authenticator && export PATH=$PATH:$HOME/bin
4. Shell Profile에 PATH를 추가
- 나는 zsh 를 쓰고 있으므로 ~
$ echo 'export PATH=$PATH:$HOME/bin' >> ~/.zshrc
5. ncp-iam-authenticator 바이너리가 정상 동작하는지 테스트
$ ncp-iam-authenticator help
▪︎ IAM 인증 kubeconfig 생성
- 먼저 ncp-iam-authenticator를 사용하기 위해 API 인증키 값을 설정하는 두 가지 방법
- OS 환경변수 설정
- configure 파일 설정
- OS 환경변수가 configure 파일보다 우선시 된다 !
1️⃣ OS 환경변수 확인
- API 인증키 값 확인한다.
- 마이페이지 → 계정 관리 → 인증키 관리
- 확인한 API 인증키 값을 OS 환경변수로 설정한다.
$ export NCLOUD_ACCESS_KEY=[ACCESS_KEY_ID]
$ export NCLOUD_SECRET_KEY=[SECRET_ACCESS_KEY]
$ export NCLOUD_API_GW=https://ncloud.apigw.ntruss.com
- 전체 환경변수 보기
$ printenv
- 특정 환경변수 보기
$ echo $[value_name]
- 환경변수 삭제
$ unset [value_name]
2️⃣ configure 파일 설정
- 사용자 로컬 홈 디렉토리의 .ncloud 폴더에 configure 파일 생성 및 설정
- 없으면 만든다 !
$ cat ~/.ncloud/configure
[DEFAULT]
ncloud_access_key_id = [ACCESS_KEY_ID]
ncloud_secret_access_key = [SECRET_ACCESS_KEY]
ncloud_api_url = <https://ncloud.apigw.ntruss.com>
➡️ kubeconfig 생성
- ncp-iam-authenticator create-kubeconfig 으로 클러스터의 kubeconfig 생성한다.
$ ncp-iam-authenticator create-kubeconfig --region <region-code> --clusterUuid <cluster-uuid> --output kubeconfig.yaml
# 예시
$ ncp-iam-authenticator create-kubeconfig --region KR --clusterUuid 1234567890 --output kubeconfig.yaml
- region-code
- 클러스터의 리전 코드
- e.g) KR, SGN
- cluster-uuid
- 클러스터의 UUID
- --output
- kubeconfig 파일이 저장될 path
- 입력 안할 시 ./kubeconfig-<cluster-uuid>.yaml path로 파일 저장
- kubeconfig.yaml 파일로 kubectl 명령 테스트 성공 !
⏸ kubectl 명령어 단축
- 현재 kubectl 명령어를 사용하기 위해선 kubeconfig 환경 설정 파일까지 입력해야함
- 너무 길어서 불편,,
- 위에서 열심히 만들었던 kubeconfig.yaml 파일을 .kube/config 로 이름을 바꿔 이동하거나 복사한다.
- 잘 동작하는 것을 확인할 수 있다 !
'Cloud > NCP' 카테고리의 다른 글
RBAC 설정 (0) | 2022.11.13 |
---|---|
NKS Cluster 생성 (0) | 2022.11.13 |
NKS 클러스터 구축을 위한 준비 (0) | 2022.11.13 |