brunch
매거진 NCP

5. 네이버 클라우드 PRO - 쿠버네티스

by Master Seo

<1> 쿠버네티스 생성 , 게임 올리기

<4> 컨테이너 레지스트리에 도커 이미지 업로드 (요약)

<3> Pod 생성

<4> VPC Peering 구성





<1> 쿠버네티스 생성 , 게임 올리기


1

서브넷 추가 생성


슬라이드1.JPG
슬라이드2.JPG





4

# 쿠버네티스 생성 = 콘솔로 작업해주세요.


ncloud.com > Services > NKS



k8s-seo-07-01

네트워크 타입 : Public (여기서는 테스트라 퍼블릭에 설치한다!!)

네트워크 타입이 디폴트 Private 입니다. 꼭 Public으로 변경후 생성해 주세요!!!!



k8s-seo-node


1

추가

다음

생성


(35분)




2

# 리눅스 명령서버 생성 , 명령서버


# 리눅스로 된 명령서버 1대 만들기 - 로키 9.4 로 생성

# 리눅스 서버 로그인 , 쿠버네티스 유틸 다운로드 설치에 유틸 설치



# 명령툴들 설치하기



순서?

1) 네이버 클라우드에 권한이 있어야 한다.- access-key,secret-key ,ncp_iam_BPA , ncp_iam_BPKMK

2) ncloud CLI 다운로드 , ncloud configure 실행

3) # 서버 접속을 위한 보안 설정 = 나만 ssh 접속되게 하자.

4) # NKS 사용을 위한 인증 - ncp-iam 설치

5) # kubectl 명령어 설치

6) # alials 단축 명령어

7) 게임 올리기





<2> 컨테이너 레지스트리에 도커 이미지 업로드



1


cd


wget https://kr.object.ncloudstorage.com/ncp-script2024/lab_source.zip


unzip lab_source.zip






# 로키 9.4에서 도커 설치법


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


2

# 컨테이너 레지스트리를 사용해보자.


컨테이너 레지스트리를 사용하기 위해 오브젝트 스토리지를 콘솔로 만든다.

docker-image-seo1




2

컨테이너 레지스트리 만든다.

k8s-edu-seo1

버켓은 docker-image-seo1

생성




3

컨테이너 이미지 생성해 보자




cd lab_source/

cd lab2/

more Dockerfile

docker build -t image_apache .

docker images



docker run -tid -p 4000:80 --name=hello_apache image_apache


[root@init2 lab2]# docker run -tid -p 4000:80 --name=hello_apache image_apache

868298d5d78652a139aa528669c97d9b1a642286b92ec138f987c8b8345e0293



docker container ls


[root@init2 lab2]# docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

868298d5d786 image_apache "/usr/sbin/httpd -D …" 20 seconds ago Up 19 seconds 0.0.0.0:4000->80/tcp hello_apache

[root@init2 lab2]#



4

ACG > 0.0.0.0/0 4000 포트 허용



5

브라우저에서 공인ip:4000 으로 접속

650 test.png

6

# 리눅스 서버 로그인 , 쿠버네티스 접근 권한 부여


cd

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



7

# 컨테이너 레지스트리에 이미지 넣기

이용 가이드 참고 - 이용 가이드 클릭


741 push0.png




750 push.png



8

# 컨테이너 레지스트리에 이미지 넣기


# Container Registry 의 Public Endpoint 확인

예) k8s-edu-seo1.kr.ncr.ntruss.com



9

# 도커 로그인

# access-key , secret-key 준비

# Username 는 access-key , Password: 는 secret-key


docker login xxxxxxxxx.kr.ncr.ntruss.com

Username: ncp_iam_BPAMKR2pm0TU1

Password:

Login Succeeded



10

# 태그 붙이기

예) docker image tag image_apache < Container Registry 의 Public Endpoint >>/image_apache:1.0


docker image tag image_apache xxxxxxxxxxxx.kr.ncr.ntruss.com/image_apache:1.0





# 컨테이너 레지스트리에 이미지 넣기


docker push xxxxxxx.kr.ncr.ntruss.com/image_apache:1.0


Using default tag: latest

The push refers to repository [k8s-edu-seo1.kr.ncr.ntruss.com/image_apache]

tag does not exist: k8s-edu-seo1.kr.ncr.ntruss.com/image_apache:latest


[root@init2 ~]# docker push k8s-edu-seo1.kr.ncr.ntruss.com/image_apache:1.0

The push refers to repository [k8s-edu-seo1.kr.ncr.ntruss.com/image_apache]

c8289786e8a8: Pushed

a11483593969: Pushed

da5617b4e6fa: Pushed

1.0: digest: sha256:f5e41ceb6e54a88b00afeeb7bfabc31d5a58aa25e26390c4b89bdaf57f9240fc size: 948





11

# 콘솔 에서

# 컨테이너 레지스트리에서 올라간거 확인


700 image.png
710 image.png




<3> Pod 생성



1

# 참고 - secret 사용하기


k create secret docker-registry regcred --docker-server=t4h5vvxm.kr.private-ncr.ntruss.com --docker-username=ncp_iam_xxxxxx --docker-password=ncp_iam_xxxxxxx --docker-email=topasvag@kakao.com



[root@init2 lab3]# k get secret

NAME TYPE DATA AGE

regcred kubernetes.io/dockerconfigjson 1 22s




2

# pod 생성 랩 해보기


cd

cd lab_source/

cd lab3/


vi create_only_pod.yaml

k create -f create_only_pod.yaml

k get pods


k get pods -w



3

# 디플로이먼트로 pod 생성


vi create_deployment.yaml

k create -f create_deployment.yaml



4

디플로이먼트 로드 밸런서 연결



k apply -f create_service.yaml





<4> 컨테이너 레지스트리에 도커 이미지 업로드 (요약)



1

콘솔

컨테이너 레지스트리에서 퍼블릭 도메인 확인



2

리눅스 서버

docker login 퍼블릭 도메인

access-key , secret-key 필요하다.



3

컨테이너 레지스트리에 이미지 업로드 한다.

도커 이미지에 테그를 단다.

push 해서 이미지를 넣는다.


cd

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


# 콘솔에서 확인 - docker login Container Registry 의 Public Endpoint> 확인

예) xxxxxxxxxu-seo1.kr.ncr.ntruss.com



# 테그 붙이기


형식) docker image tag image_apache < Container Registry 의 Public Endpoint >>/image_apache:1.0


docker image tag image_apache k8s-edu-seo1.kr.ncr.ntruss.com >>/image_apache:1.0



# 컨테이너 레지스트리에 Push 하기


# docker push Container Registry 의 Public Endpoint >>/image_apache:1.0


docker push xxxxx.kr.ncr.ntruss.com >>/image_apache:1.0







<3> VPC Peering 구성


1

VPC간 서로 내부 통신을 가능하게 하는 Peering


2

VPC > VPC Peering



3

3개 입력후 생성

상대방 로그인 ID , VPC ID , VPC Name 필요



4

라우팅 테이블 추가 필요

Route Table


120 peering.png



5

상대 서버로 서로 ping test




다음

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


keyword
매거진의 이전글4. PRO - 내 서버 이미지 생성