목표 콘솔로 Ncloud 쿠버네티스를 생성해 보자. 쿠버네티스에 게임 서비스 1개를 올려보자. 브런치 글 이미지 1 브런치 글 이미지 2 진행 개발자가 명령 내릴 명령서버를 하나 만든다. = 네트워크를 만들어야 명령서버를 만들 수 있다. 쿠버네티스에 게임 서비스 1개 올린다. = 쿠버네티스용 네트워크를 만든다. <18> 명령서버를 위한 192 네트워크 생성과 명령서버 1대 생성 <19> 쿠버네티스 용 네트워크와 쿠버네티스 생성 <20> 명령서버에 툴설치와 권한 주기 <21> 쿠버네티스에 서비스 올리기 <22> 서비스 동작 확인 <23> 리소스 삭제 - 라우팅 테이블 삭제, 쿠버네티스 삭제, LB 삭제 <1> 명령서버를 위한 192 네트워크 생성과 명령서버 1대 생성 vpc 192.168.0.0/16 , pub1 192.168.0.0/24로 네트워크 만든다. 로키 리눅스로 명령서버 1대 생성한다. <2> 쿠버네티스 용 네트워크와 쿠버네티스 생성 1 vpc생성 기본 네트워크로 pub2, pri1, pub-nat1, pub-lb1, pri-lb1 서브넷 5개 만들어보자. 쿠버네티스를 Private에 구축하려면 pub-lb1, pri-lb1 , pri1 , pub-nat1 - 4개 서브넷이 필수이다. 쿠버네티스를 Public에 구축하려면 pub-lb1, pri-lb1 , pub1 - 3개 서브넷이 필수이다. bgame-dev-vpc 10.0.0.0/20 bgame-dev-pub1 10.0.0.0/24 bgame-dev-pri1 10.0.2.0/23 bgame-dev-pub-nat1 10.0.4.0/24 bgame-dev-pub-lb1 10.0.5.0/24 bgame-dev-pri-lb1 10.0.7.0/24 브런치 글 이미지 3 2 Ncloud Kubernetes Service 생성하기 생성하기 bgame-dev-k8 s1 3 쿠버네티스 설치 위치? Private에 설치해 보자. 브런치 글 이미지 4 네이버 가이드 https://guide.ncloud-docs.com/docs/k8s-k8sprep 4 LB Private 서브넷 , LB Public 서브넷 이 별도로 필수이다. (네이버 클라우드) 서브넷 추가로 만들자. 브런치 글 이미지 5 브런치 글 이미지 6 5 NAT 생성하기 bgame-dev-nat1 공인 브런치 글 이미지 7 6 노드풀은 우부트만 가능하다. 노드는 1~250개까지 가능하다. 250개 ㄷㄷㄷㄷ 3개만 한다. 추가 bgame-nodepool1 브런치 글 이미지 8 추가 다음 브런치 글 이미지 9 7 새로운 인증키 test-05-31-1 8 브런치 글 이미지 10 정리 쿠버네티스 서비스를 하기 위해서는 5개의 서브넷이 필요하다. <3> 명령서버에 툴설치와 권한 주기 1 이용관리 > 마이 페이지 > 계정 관리 ncloud 환경 설정 하기 access-key , secret-key를 알아야 한다. my page > 인증키 관리에서 확인할 수 있다. 2 ncloud CLI 다운로드 wget https://www.ncloud.com/api/support/download/files/cli/CLI_1.1.19_20240321.zip unzip CLI_1.1.19_20240321.zip cd CLI_1.1.19_20240321/ cd cli_linux/ cp ncloud /usr/bin ncloud help 최신버전 https://cli.ncloud-docs.com/docs/guide-clichange CLI 다운로드 cli.ncloud-docs.com 3 ncloud configure ncloud server getRegionList 4 sudo yum install -y yum-utils shadow-utils sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.repo sudo yum -y install terraform terraform -version 5 사용을 위한 인증 ncp-iam 설치 curl -o ncp-iam-authenticator -L https://github.com/NaverCloudPlatform/ncp-iam-authenticator/releases/latest/download/ncp-iam-authenticator_linux_amd64 chmod +x ./ncp-iam-authenticator mkdir -p $HOME/bin && cp ./ncp-iam-authenticator $HOME/bin/ncp-iam-authenticator && export PATH=$PATH:$HOME/bin echo 'export PATH=$PATH:$HOME/bin' >> ~/.bash_profile ncp-iam-authenticator help 메뉴얼 https://guide.ncloud-docs.com/docs/k8s-iam-auth-ncp-iam-authenticator 6 cd ncp-iam-authenticator create-kubeconfig --region KR --clusterUuid b01xxxxxxxxxx --output kubeconfig.yaml 7 kw <4> 쿠버네티스에 서비스 올리기 1 kubectl create deployment nginx-project --image=nginx --dry-run=client -o yaml --port=80 > nginx-deploy.yaml --kubeconfig kubeconfig.yaml kubectl apply -f nginx-deploy.yaml --kubeconfig kubeconfig.yaml kubectl get pods --kubeconfig kubeconfig.yaml 2 cat < 서비스 동작 확인 1 브런치 글 이미지 12 2 콘솔에서 네트워크 서브넷 확인 브런치 글 이미지 13 3 브런치 글 이미지 14 4 브런치 글 이미지 15 5 참고자료 https://brunch.co.kr/@topasvga/3183 네이버5탄-0. 쿠버네티스 서비스 쿠버네티스 클러스터 생성은 다음과 같은 내용을 만든다. 네트워크 만들기 - 네이버 클라우드는 로드밸런서 용으로 Private LB서브넷을 만들어야 한다. 쿠버네티스 클러스터 생성 명령 서버 생성 brunch.co.kr/@topasvga/3183 <6> 리소스 삭제 - 라우팅 테이블 삭제, 쿠버네티스 삭제, LB 삭제 1 라우팅 테이블에서 NAT 설정 삭제 프라이빗에 0.0.0.0/0 NAT1 라우팅 테이블 삭제 2 NAT1 삭제 3 쿠버네티스 삭제 (5분) 쿠버네티스는 Server에서 반납이 안됨. Ncloud Kubernestes Service에서 삭제해야 함. 4 LB 삭제 네트워크 삭제 - VPC 삭제 전 서브넷부터 삭제하자. 5 서브넷 삭제 6 VPC 삭제 브런치 글 이미지 16 브런치 글 이미지 17 terraform destroy --auto-approve 참고사이트 테라폼을 통해 Ncloud Kubernetes Service (NKS) 클러스터 구축하기 https://medium.com/naver-cloud-platform/cbe27e197a97