NCP 콘솔을 이용해 쿠버네티스에 간단한 게임을 배포해보겠습니다.
미리할것)
1. 쿠버네티스 설치(mac)
brew install kubectl
2. ncp cli 연결하기
https://hgk5722.tistory.com/562
1. VPC 생성
1) VPC 생성
IP 주소 범위는 10.0.0.0/21로 하겠습니다. 대역폭 10번대가 있으신 분은 172나 192을 사용하시면 됩니다.
2) subnet 생성
쿠버네티스는 private, public 로드밸런서를 위한 서브넷을 2개 생성해 주어야 합니다.
2. 쿠버네티스 생성
1) 쿠버네티스 생성
메뉴바 -> NKS -> 클러스터 생성
위 사진처럼 설정해 주시면 됩니다. 네트워크 타입은 Private입니다. 프라이빗 서브넷에서 동작하는 노드들이 nat 게이트웨이와 통신해야 하기 때문입니다.
2) 노드풀 생성
노드풀 생성시 노드 수는 2개로 지정하겠습니다.
3) nat gateway 생성
메뉴바 -> VPC -> nat gateway 생성
4) UUID 확인
쿠버네티스 생성까지 시간이 좀 걸립니다. UUID를 기억해둡시다!
5) Route Table에 있는 프라이빗 테이블이랑 nat gateway 연결하기
private-table -> route 설정 -> 목적지 0.0.0.0/0 / Target 유형 NATGW / Target 이름 nat1
*프라이빗 서브넷에 있는 노드들이 nat 게이트웨이와 연결되어 인터넷에 연결될 수 있게 해줍니다.
3. ncp cli와 연결
ncp-iam-authenticator 설치를 해주어야 합니다.
https://guide.ncloud-docs.com/docs/k8s-iam-auth-ncp-iam-authenticator
이 곳에서 자신의 운영체제에 맞게 선택해서 설치하면 됩니다.
맥을 사용하신다면 home brew로 설치하는 것을 추천드립니다.
그리고 그전에 ncp cli를 인증키로 연결해야 합니다.
ncloud configure
설치가 완료되셨다면 자신이 만든 쿠버네티스의 UUID를 다음 명령어에 넣어 ncp cli에서 실행해 보시기 바랍니다.
ncp-iam-authenticator create-kubeconfig --region KR --clusterUuid <자신의 UUID> --output kubeconfig.yaml
그러면 이제 실행한 디렉토리에 kubeconfig.yaml 파일이 생성됩니다.
이제 생성된 config 파일을 기반으로 ncp와 연결해야 합니다.
환경 변수 KUBECONFIG를 설정해서 ncp에서 만든 쿠버네티스와 내 컴퓨터를 연결합니다.
위의 yaml 파일의 경로를 복사합니다.
/Users/ganghyeong-geun/Desktop/work/cloud/ncloud-study-0818/FIN_CLI_1.1.20_20240620/cli_linux/kubeconfig.yaml
이렇게 되어 있는데
export KUBECONFIG=/Users/ganghyeong-geun/Desktop/work/cloud/ncloud-study-0818/FIN_CLI_1.1.20_20240620/cli_linux/kubeconfig.yaml
이렇게 환경 변수를 설정해줍니다.
kubectl cluster-info
클러스터 정보확인을 하면
kubectl get nodes 명령어로 생성한 노드 2개도 확인할 수 있습니다.
4. 쿠버네티스 노드에 게임 올리기
다음 명령어를 터미널에 입력해 노드에 2048 게임을 올려봅니다.
cat <<EOF | kubectl create -f -
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment-2048
spec:
selector:
matchLabels:
app.kubernetes.io/name: app-2048
replicas: 2
template:
metadata:
labels:
app.kubernetes.io/name: app-2048
spec:
containers:
- image: alexwhen/docker-2048
name: app-2048
ports:
- containerPort: 80
EOF
# 결과
deployment.apps/deployment-2048 created
쿠버네티스 외부에서 접속할 수 있도록 해줍니다.
kubectl expose deployment deployment-2048 --port=80 --type=LoadBalancer
# 결과
service/deployment-2048 exposed
로드밸런서 확인하기
kubectl get svc
이 부분을 웹 브라우저의 주소창에 입력하면 2048 게임이 실행됩니다!
'[Cloud] > [NCP]' 카테고리의 다른 글
[NCP] 테라폼으로 NCP에 쿠버네티스 설치 (4) | 2024.08.20 |
---|---|
[NCP] ncp cli 맥에서 경로 설정하기 (0) | 2024.08.19 |
[NCP] NCP 로드밸런서 생성 및 연결 (0) | 2024.08.17 |
[NCP] NCP CLI로 VPC, 인스턴스 접근하기(macOS) (0) | 2024.08.16 |
[NCP] NCP Global DNS(도메인을 NCP 인스턴스와 연결하기) (0) | 2024.08.15 |