이하 Kubernetes -> k8s로 표시
지금은 테스트 용이여서 simple-svc에 외부 접근 가능한 LoadBalancer를 붙여줬지만 실제로는 gateway를 생성할 것이기 때문에 simple-svc와 같은 msa는 ClusterIP로 만들어 내부 접근만 가능하게 할 예정이다.
VPC, 서브넷 생성
Server 생성 - ubuntu18.04
인증키
서버 생성할 때 인증키 생성하면 .cer 파일이 생성된다.
하지만 이것을 그대로 서버 접속할 때 쓰면 에러가 난다
.pem으로 확장파일을 바꿔야한다
관리자 비밀번호 확인에서 username, password 확인
이 때 pem 파일을 넣어줘야한다
$ passwd
# kubectl 설치
## 최신 release 버전 다운로드
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
## kubectl 설치
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
## 설치 확인
kubectl version --client
#ncp-iam-authenticator 설치
curl -o ncp-iam-authenticator https://kr.object.ncloudstorage.com/nks-download/ncp-iam-authenticator/v1.0.5/linux/amd64/ncp-iam-authenticator
chmod +x ./ncp-iam-authenticator
mkdir -p $HOME/bin && cp ./ncp-iam-authenticator $HOME/bin/ncp-iam-authenticator && export PATH=$PATH:$HOME/bin
## bash shell profile에 PATH 추가
echo 'export PATH=$PATH:$HOME/bin' >> ~/.bash_profile
## 테스트
ncp-iam-authenticator help
#IAM 인증 kubeconfig 생성
##### 이때 ACCESS_KEY나 SECRET_KEY는 [마이 페이지]>[계정 관리]>[인증키 관리] 에서 확인
export NCLOUD_ACCESS_KEY=ACCESSKEYIDACCESSKEY
export NCLOUD_SECRET_KEY=SECRETACCESSKEYSECRETACCESSKEYSECRETACCE
export NCLOUD_API_GW=https://ncloud.apigw.ntruss.com
# kubeconfig 생성
###### 이때 region-code는 KR, cluster-uuid는 kubernetes-service > 클러스터 이름 (UUID), 괄호안에 있다
ncp-iam-authenticator create-kubeconfig --region <region-code> --clusterUuid <cluster-uuid> --output kubeconfig.yaml
## 테스트
kubectl cluster-info --kubeconfig=/home/moondysmell/kubeconfig.yaml
### Kubernetes control plane is running at ~ 이러면서 잘 나오면 성공
#alias 설정으로 쉽게 명령어 치기
alias kubectl='kubectl --kubeconfig="/home/moondysmell/kubeconfig.yaml"'
## 테스트
kubectl cluster-info
docker login -u <access-key-id> -p <password> mahnacwv.kr.private-ncr.ntruss.com
네이버 클라우드 플랫폼 VPC 안에 있기 때문에 private endpoint 사용
Login Succeeded 뜨면 성공
kubectl create secret docker-registry regcred --docker-server=<registry-end-point> --docker-username=<access-key-id> --docker-password=<secret-key> --docker-email=<your-email>
계정 아이디: API 인증 키의 Access Key Id 확인
계정 비밀번호: API 인증 키의 Secret Key 확인
사용자 이메일: 사용자 계정 이메일 주소
secret/regcred created 뜨면 성공