네이버 클라우드 플랫폼에서 쿠버네티스 클러스터를 구성하는 방법에 대해서 소개하겠습니다.
클러스터 생성
클러스터 이름
: 사용자가 하고싶은 클러스터 이름을 설정하여 줍니다.
VPC
: VPC를 생성하여 줍니다. 저는 10.1.0.0/16 서브넷 마스크를 가지는 VPC를 생성하여 사용하였습니다.
Subnet
: Subnet을 자신의 네트워크 타입에 맞게 생성하여 줍니다. 저는 /24 서브넷 마스크를 가지는 서브넷으로 생성하였습니다.
LB Private 서브넷
: private 타입의 서브넷 중에서 LoadBalancer를 생성하여 줍니다. 로드밸런서는 무조건 Internet Gateway 전용 여부를 private로 해야만 선택이 됩니다.!
여기서 주의할점은 서브넷과 LB private 서브넷과 동일한 가용 Zone을 선택해야 보입니다.
이것때문에 많이 헤맸습니다..
노드풀 설정
노드풀 이름과 필요하신 설정들을 셋팅하시고 다음으로 진행하시면 되겠습니다.
그리고 인증키설정을 하시면 클러스터가 10분정도 후에 운영중으로 실행되게 됩니다.
클러스터에 접근하는 방법
여기서도 조금 헤맸습니다. 처음 해보는 작업이고 이해하지 못한채로 진행해서 그랬던 것 같습니다.
쿠버네티스 공식 홈페이지를 참고하여 kubectl을 설치해 줍니다.
https://kubernetes.io/ko/docs/tasks/tools/install-kubectl-macos/
저는 맥환경에서 설치하였습니다.
Homebrew를 통한 설치
brew install kubectl
curl를 통한 설치
# 최신 릴리즈를 다운받아 준다.
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
# kubectl 체크섬 파일을 받아온다.
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl.sha256"
# 체크섬을 통하여 검증하여 준다.
echo "$(cat kubectl.sha256) kubectl" | shasum -a 256 --check
# 검증이 성공한다면 다음과 같은 출력이 나오게 된다.
# kubectl: OK
# kubectl 바이너리를 실행가능하도록 만들어준다.
chmod +x ./kubectl
# kubectl 바이너리를 시스템 PATH로 옮긴다.
sudo mv ./kubectl /usr/local/bin/kubectl
sudo chown root: /usr/local/bin/kubectl
# 버전을 체크해본다.
kubectl version --client
네이버 클라우드 플랫폼에서 제공하는 쿠버네티스 클러스터는 로컬 환경의 kubectl을 통하여 원격 클라우드 상의 클러스터에 접근한다.
kubectl에 네이버 클라우드 인증서 적용
네이버 공식 클라우드를 참고하여 작성하였습니다.
https://guide.ncloud-docs.com/docs/k8s-iam-auth-ncp-iam-authenticator
우리의 로컬 컴퓨터에서 kubectl로 네이버 클라우드 쿠버네티스 클러스터에 접근하기 위해서는 네이버 인증서를 적용해야 합니다.
macos를 기준으로 설명하고 나머지 OS는 공식 문서를 참고하여 주세요!
Homebrew를 통한 설치
brew tap NaverCloudPlatform/tap
brew install ncp-iam-authenticator
curl를 통한 설치
# 바이너리 파일을 내려받습니다. (arm일 경우 amd를 arm으로 변경하여 주세요! )
curl -o ncp-iam-authenticator -L https://github.com/NaverCloudPlatform/ncp-iam-authenticator/releases/latest/download/ncp-iam-authenticator_darwin_amd64
# 바이너리에 실행 권한을 주세요
chmod +x ./ncp-iam-authenticator
# $HOME/bin/ncp-iam-authenticator를 생성하고 $PATH에 추가해 주십시오.
mkdir -p $HOME/bin && cp ./ncp-iam-authenticator $HOME/bin/ncp-iam-authenticator && export PATH=$PATH:$HOME/bin
# Shell Profile에 PATH를 추가해 주십시오.
echo 'export PATH=$PATH:$HOME/bin' >> ~/.bash_profile
echo 'export PATH=$PATH:$HOME/bin' >> ~/.zshrc
# 테스트
ncp-iam-authenticator help
ncp-iam-authenticator API 인증키값 설정
ncp-iam-authenticatior에 네이버로의 API 요청을 위한 인증키값을 설정해주어야 합니다.
마이페이지-계정관리-인증키 관리에서 API 인증키를 발급받아주세요!
$ export NCLOUD_ACCESS_KEY=ACCESSKEYIDACCESSKEY
$ export NCLOUD_SECRET_KEY=SECRETACCESSKEYSECRETACCESSKEYSECRETACCE
$ export NCLOUD_API_GW=https://ncloud.apigw.ntruss.com
저는 환경변수 설정을 통해서 설정해주었습니다.
update 혹은 create를 통하여 kubeconfig를 수정
ncp-iam-authenticator update-kubeconfig --region <region-code> --clusterUuid <cluster-uuid>
ncp-iam-authenticator create-kubeconfig --region <region-code> --clusterUuid <cluster-uuid> --output kubeconfig.yaml
region
: 한국은 KR입니다.
clusterUuid
: 네이버 클라우드 콘솔에 클러스터 정보로 들어가면 Uuid를 확인할 수 있습니다.
이 작업을 통하여 kubectl명령어의 config를 수정하여 로컬 컴퓨터에서 원격에 있는 네이버 클라우드 쿠버네티스 클러스터로 접근할 수 있습니다.
'데브옵스' 카테고리의 다른 글
[Jenkins] 젠킨스 빌드할 때 필요한 파일 미리 넣어두기 (0) | 2024.02.17 |
---|---|
[Jenkins] Jenkinsfile을 통해서 파이프라인 실행 (0) | 2024.02.16 |
윈도우에 우분투 설치 (1) | 2024.02.15 |
컨테이너 내부에서 도커 명령어를 사용하는 방법 (0) | 2023.11.04 |
젠킨스를 이용한 간단한 파이프라인 구성 (0) | 2023.11.04 |