NCP

[NCP] Kubernetes Service를 활용한 컨테이너 관리 후기

안녕하세요. ManVSCloud 김수현입니다.

오늘은 2월 19일 Naver Cloud Platform에서 진행한
“KUBERNETES SERVICE를 활용한 컨테이너 관리” 교육 후기에 대해 써볼까합니다.

우선 이번 교육의 경우 Intermediate 교육인데 Intermediate 교육은
[Big Data], [Kubenetes], [DevOps], [Media], [A.I], [Security] 과정이 있으며
현재 Naver Cloud Platform에서 알려진 전반기 교육 일정은 아래와 같으므로 참고하시면 좋을듯합니다.

1월 – Big Data
2월 – Kubenetes
3월 – DevOps
4월 – Media
5월 – A.I
6월 – Security


Theory

오전엔 Kubernetes이 대한 이해를 도울 수 있을만한 이론을 중심으로 강의가 시작되었습니다.

Naver Cloud Platform에서의 Kubernetes Service인 NKS에 대한 강의만 하는 것이 아니라
Kubernetes가 무엇인지, 왜 사용해야하는지, 어떻게 사용되고 있는지도 배울 수 있었습니다.

Docker에 대한 내용도 많이 언급되었는데 Docker는 저도 가끔 가벼운 테스트를 할 때 따로 도커를 이용하여 테스트를 할 때가 많습니다.
최근에 포스팅했던 도커로 설치한 jupyter notebook도 nginx proxy를 추가하여 잘 사용하고 있습니다.

Docker를 사용해보지 않으셨다면 Kubernetes를 사용하기 전에 Docker를 먼저 경험해보는 것을 권장합니다.


LABS

오후 시간부터는 실습이 이루어졌습니다.
[클러스터 생성], [Container Registry를 이용한 IMAGE 관리], [POD 운영/관리] 등 다양한 실습이 진행되었으며 실습 교재도 배포되어 혼자 실습을 해도 따라할 수 있을 만큼 잘 만들어져있었습니다.

물론 교재 배포 시 word파일에서 pdf파일로 변경되며 생각과는 다른 부분이 생겨 실습 중 어려움을 겪는 분들도 있었습니다.

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

배포된 교재에 위와 같은 부분이 있는데 그대로 복사하여 붙여넣게 되면 정상적인 yum 설치가 되지않습니다. gpgkey 부분이 pdf파일로 바뀌며 나뉘어 진듯 합니다.

pdf를 그대로 복사해버리면 빨간색 체크박스처럼 되었기에 yum 설치가 되지않습니다.
아래 파란 체크박스처럼 되어야하는 것입니다.
이 부분을 해결하며 문득 리눅서님이 말씀해주신 것들이 떠올라 링크 남겨봅니다.

실습 진행 중 쿠버네티스 설치와 웹 서비스 테스트 경험이 있었기에 큰 어려움은 없었습니다.

NKS에서는 VPC 기준 kubernetes 1.16.14 버전과 1.17.11 버전을 지원했습니다.
NKS를 사용한다면 NCP 기존 서비스(대표적으로 모니터링)와 연계하여 사용할 수 있고 조금 더 간편한 느낌이 있습니다.

대부분의 실습을 다 끝마쳤고 실습했던 부분은 나눠서 추가 포스팅을 해볼 생각입니다.
따로 교재가 없어도 NCP에서 제공하고 있는 설명서와 API 참조서가 있어 도움이 됐습니다.

배포된 교재에서 부족한 부분은 아래 링크를 참고했습니다.

실습 중 조금 당황한 부분이 있었는데 nks-metrics-exporter 생성 중에 nrn 값을 잘못넣어
pod가 정상적으로 올라오지 않고 CrashLoopBackOff 가 발생한 부분이 있었습니다.

[root@manvscloud-k8s-pub-kr2 lab5]# kubectl get pods
NAME                                   READY   STATUS             RESTARTS   AGE
apache-deployment-6f4bdc4b79-8z6vw     1/1     Running            0          33m
apache-deployment-6f4bdc4b79-hrr79     1/1     Running            0          33m
apache-deployment-6f4bdc4b79-nnv79     1/1     Running            0          33m
apache-pod                             1/1     Running            0          37m
nks-metrics-exporter-df9c85df4-jrbs6   0/1     CrashLoopBackOff   6          8m56s

문제는 정상적인 nrn값을 다시 넣고도 Running 상태로 돌아오지 않아 기존 pod를 삭제하고 재생성 했습니다. 혹시 저와 같은 케이스가 생긴 분이 있으실까봐 이 방법을 남깁니다.
kubectl get pod [pod이름] -o yaml | kubectl replace –force -f-

[root@manvscloud-k8s-pub-kr2 lab5]# kubectl get pod nks-metrics-exporter-df9c85df4-jrbs6 -o yaml | kubectl replace --force -f-
pod "nks-metrics-exporter-df9c85df4-jrbs6" deleted
pod/nks-metrics-exporter-df9c85df4-jrbs6 replaced

다시 kubectl get pods를 해보면 기존 CrashLoopBackOff 이던 pod는 Terminating 되고 새 pod가 정상적으로 Running되는 것을 알 수 있습니다.

[root@manvscloud-k8s-pub-kr2 lab5]# kubectl get pods
NAME                                   READY   STATUS        RESTARTS   AGE
apache-deployment-6f4bdc4b79-8z6vw     1/1     Running       0          34m
apache-deployment-6f4bdc4b79-hrr79     1/1     Running       0          34m
apache-deployment-6f4bdc4b79-nnv79     1/1     Running       0          34m
apache-pod                             1/1     Running       0          38m
nks-metrics-exporter-df9c85df4-jrbs6   0/1     Terminating   0          8s
nks-metrics-exporter-df9c85df4-zb2qd   1/1     Running       0          17s

이후 메트릭 생성이 잘 되어 Cloud Insight로 Monitoring 되는 것까지 확인할 수 있었습니다.


The End

Kubernetes를 테스트 하기위해 클라우드 또는 서버로 비용이 내는 것이 부담스러울 수 있기에 Kubernetes를 도입하기 전에 VMware나 VirtualMachine으로 테스트를 해볼 수도 있습니다.

이전에 제가 포스팅했던 글인데 참고하면 좋을듯합니다.
이전 블로그에서는 소스코드가 지원이 되지않아 yaml 파일이 띄워쓰기 없이 다 붙어있는데
이 부분은 빠른 시일내에 수정할 예정입니다.
yaml 파일 띄워쓰기 전부 수정 해두었습니다.
(yaml파일은 문법상 띄워쓰기와 빈 칸을 잘 사용해줘야합니다.)

3월은 DevOps 교육이 계획되어 있습니다. DevOps 교육도 참가할 예정입니다.
그리고 현재 NCP 교육 및 행사 일정에 “[3월] NAVER CLOUD PLATFORM Hands-on Lab”도 모집중이니 관심있으시면 신청해보시기 바랍니다.

KUBERNETES SERVICE를 활용한 컨테이너 관리 강의 해주신 NCP 강사분께 감사의 인사 올리며 포스팅을 마무리 하겠습니다.

긴 글 읽어주셔서 감사합니다.

Previous Post Next Post

You Might Also Like

No Comments

Leave a Reply