brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Dec 29. 2023

16탄-1.테라폼-네이버 클라우드 쿠버네티스 명령서버

테라폼으로 네이버 클라우드에서 쿠버네티스를 구축하여 운영해보자.

하나씩 따라해 보자.



<1> 콘솔로 퍼블릭서브넷에 로키 리눅스나 우분트 서버 1대 만들자.

<2> access-key , secret-key 생성과 권한부여

<3> 명령서버에 테라폼 명령어 설치

<4> 테라폼으로 쿠버네티스 클러스터 생성




<1> 콘솔로 퍼블릭서브넷에 로키 리눅스나 우분트 서버 1대 만들자.


1

terra-dev-vpc

192.168.0.0/16


terra-dev-pub1

192.168.0.0/24



2

가상서버 1대 로키 리눅스로 생성한다.

가상서버 1대 우분트로 생성한다.

Cetnos 없어짐 

새로운 공인 IP 할당

terra-dev-ec2






<2> access-key , secret-key 생성과 권한부여



1

이용관리 > 마이 페이지 > 계정 관리

ncloud 환경 설정 하기

access-key , secret-key를 알아야 한다.

my page > 인증키 관리에서 확인 할수 있다.



2

서버 로그인

passwd 



3

ncloud CLI 다운로드


wget https://www.ncloud.com/api/support/download/files/cli/CLI_1.1.23_20241121.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




4

네이버 클라우드 리소스 만들수 있도록 권한 받기

Access키, 시크릿키로 권한 받기


ncloud configure

set [DEFAULT]'s configuration.

Ncloud Access Key ID []: EQCygJㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌ

Ncloud Secret Access Key []: 3z0xYㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌㅌ

Ncloud API URL (default:https://ncloud.apigw.ntruss.com) []:




5

권한 부여 확인


ncloud server getRegionList






<3> 명령서버에 테라폼 명령어 설치



1

로키 리눅스의 경우 - 아마존 리눅스 버전 설치하면 동작 한다.

Linux - Amazon Linux 


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


[root@new2222222 cli_linux]# terraform -version

Terraform v1.8.4

on linux_amd64



2

우분트의 경우


wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg


echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list


sudo apt update && sudo apt install terraform



3

Centos 의 경우 


sudo yum install -y yum-utils


sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo


sudo yum -y install terraform



terraform -version

Terraform v1.6.6

on linux_amd64


참고

https://developer.hashicorp.com/terraform/install?product_intent=terraform





<4> 테라폼으로 쿠버네티스 클러스터 생성



1

kubectl 설치


curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

kubectl version




2

TF 소스 받아 쿠버네티스 클러스터 생성


ncloud  소스



cd

wget  https://github.com/NaverCloudPlatform/terraform-provider-ncloud/archive/refs/heads/master.zip

unzip master.zip



cd /root/terraform-provider-ncloud-main/examples/nks




3

사용을 위한 인증


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




4

등록


cd

ncp-iam-authenticator create-kubeconfig --region KR --clusterUuid   b01xxxxxxxxxx --output kubeconfig.yaml


ncp-iam-authenticator create-kubeconfig --region <region-code> --clusterUuid <cluster-uuid> --output kubeconfig.yaml




참고 

최신 명령서버 만들기

https://brunch.co.kr/@topasvga/3974




다음

https://brunch.co.kr/@topasvga/3594




감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari