참고 자료
https://brunch.co.kr/@topasvga/3819
0
작업 순서 - 7가지 설정
Pub1 서브넷에 로키나 우분트로 테러폼 설치된 명령서버 1대 생성-agame-web02-dev
Access-key , Secret-key 생성
ncloud cli 설치
권한 설정 ncloud configure
권한 확인 ncloud server getRegionList
테라폼 설치
kubectl 설치
1
access-key , secret-key를 알아야 한다.
이용관리 > 마이 페이지 > 계정 관리
my page > 인증키 관리에서 확인할 수 있다.
2
# ncloud CLI 다운로드
wget https://www.ncloud.com/api/support/download/files/cli/CLI_1.1.20_20240620.zip
unzip CLI_1.1.20_20240620.zip
cd CLI_1.1.20_20240620/
cd cli_linux/
cp ncloud /usr/bin/
ncloud help
최신버전
https://cli.ncloud-docs.com/docs/guide-clichange
3
# ncloud 권한 설정 - Access-key , Secret-key 입력
ncloud configure
# 리전에 서버 리스트 확인하기
ncloud server getRegionList
# 참고
ncloud server getRegionList 오류시
# 아래 경로에서 실행해야 한다.
[root@agame-web01-dev ~]# ncloud server getRegionList
/usr/bin/ncloud: line 2: ./jre8/bin/java: No such file or directory
cd /root/CLI_1.1.20_20240620/cli_linux
ncloud server getRegionList
4
테라폼 설치?
로키 리눅스의 경우 - 아마존 리눅스 버전 설치하면 동작한다.
Linux - Amazon Linux
cd
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
cd
ncp-iam-authenticator create-kubeconfig --region KR --clusterUuid b01xxxxxxxxxx --output kubeconfig.yaml
# -clusterUuid는 콘솔에서 확인하자. 쿠버네티스 클러스터 UUID이다.
6
쿠버네티스 API에 명령을 내리는 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
7
# alials 단축 명령어
vi ~/.bash_profile
# 맨 아래줄에 아래 내용 추가
alias k='kubectl --kubeconfig="/root/kubeconfig.yaml"'
alias kw='watch -d kubectl get deploy,svc,pods --kubeconfig="/root/kubeconfig.yaml"'
source ~/.bash_profile
k get nodes
[root@agame-web01-dev ~]# k get nodes
NAME STATUS ROLES AGE VERSION
agame-dev-np1-w-5e0j Ready <none> 77m v1.28.10
# 새 터미널에서 모니터링
kw
참고
7가지 설치 매뉴얼
https://brunch.co.kr/@topasvga/3941
1
TF 소스 다운로드하여 쿠버네티스 클러스터 생성
mkdir tf-nks
cd tf-nks
2
TF 소스 다운로드 - 일부 개선 된 버전
만들어진 쿠버네티스 클러스터
만들어진 네트워크 서브넷
3
3개 tf파일 만든다.
vi main.tf
variables.tf
versions.tf
4
# access-key. secret-key 수정
# 버전 1.27 -> 1.28로 변경
vi variables.tf
5
테라폼으로 네이버 클라우드 네트워크와 쿠버네티스 생성해 보자
아래 3 과정을 거친다.
terraform init
terraform plan
terraform apply -auto-approve
6
# 30분 후 NKS 클러스터와 노드풀이 생성된다.
ncloud_nks_cluster.cluster: Still creating... [16m30s elapsed]
ncloud_nks_cluster.cluster: Still creating... [16m40s elapsed]
ncloud_nks_cluster.cluster: Still creating... [16m50s elapsed]
ncloud_nks_cluster.cluster: Still creating... [17m0s elapsed]
ncloud_nks_cluster.cluster: Creation complete after 17m7s [id=8153719e-345f-4adc-bf95-5bcf80e56e7b]
ncloud_nks_node_pool.node_pool: Creating...
ncloud_nks_node_pool.node_pool: Still creating... [10s elapsed]
ncloud_nks_node_pool.node_pool: Still creating... [20s elapsed]
ncloud_nks_node_pool.node_pool: Still creating... [30s elapsed]
ncloud_nks_node_pool.node_pool: Still creating... [40s elapsed]
ncloud_nks_node_pool.node_pool: Still creating... [9m31s elapsed]
ncloud_nks_node_pool.node_pool: Still creating... [9m41s elapsed]
ncloud_nks_node_pool.node_pool: Still creating... [9m51s elapsed]
ncloud_nks_node_pool.node_pool: Creation complete after 9m59s [id=8153719e-345f-4adc-bf95-5bcf80e56e7b:pool1]
Apply complete! Resources: 7 added, 0 changed, 0 destroyed.
[root@agame-web01-dev tf-nks]#
# 타이머
https://vclock.kr/timer/#countdown=00:10:00&enabled=0&seconds=0&sound=xylophone&loop=1
7
생성된 네트워크
생성된 클러스터
8
모니터링
watch -d kubectl get nodes --kubeconfig=/root/kubeconfig.yaml
k describe node node2-w-5ek0
k describe node agame-dev-np1-w-5e0j
kw
k scale deployment deployment-2048 --replicas=2
1
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
2
# 원본 소스로 트러블 슈팅해서 TF파일 완성하기
3
https://brunch.co.kr/@topasvga/3819
4
# 참고자료 = 테라폼 시작하기 - 네트워크부터 만들어보자 (선택) , 기초 공부
https://brunch.co.kr/@topasvga/3594
5
https://brunch.co.kr/@topasvga/3944
감사합니다.