PaaS/Kubernetes

(세미나) 2021 Kubernetes Community 발표회 정리

armyost 2021. 9. 9. 18:43
728x90

개요 

기존에는 클라우드 네이티브란 시스템이 클라우드 환경에서 안정적이고 좋은성능으로 운영되는 것을 의미하였으나, 

현재 클라우드 네이티브는 고객의 니즈를 어떻게 빠르게 구현하는가, 빠르게 올리는가 를 의미하고 있음

이에 따라 Kubernetes와 CI/CD가 대두되기 시작하였다.

 

공식적인 Kubernetes Community Days Korea 가 런칭하였고 https://kcd-korea.net에 가입하면된다. 

 

 

 

세션 1. Keynote | 쿠버네티스 장인 기업이 알려주는 오픈소스 이야기 

 

VMware에서는 Kubernetes에 상당한 contribution을 하고 있다.
Kubernetes 창시자 3명중 2명이 VMware로 온 상태

VMware는 Kubernetes 커뮤니티의 리더가 되고자 한다.

 

VMware는 Kubernetes를 네이티브하게 지원하기 위해 아래와 같은 제품를 리드하고 있다. (이는 오픈소스로 제공되고 있다고 함)

 

1) Cluster API
클러스터 생성 및 라이프사이클 관리는 Kubernetes에서 사용하는 cluster API 기술을 사용하여 Tanzu별도의 Cluster API를 구현하였다.

> tanzu cluster create...

이는 쿠버네티스 하위에 있는 API로써..

Tanzu Kubernetes Grid 라는 걸로 라이프 사이클 관리

 


2) Harbor
각각의 프로젝트 별로 이미지를 관리. 이미지 Signing 과 신뢰성 검증
docker private registry v2 API 호환성을 가지는 컨테이너 저장소로 엔터프라이즈를 위한 기능을 제공하는 Private  Container Registry 이다.

3) Octant

웹기반 쿠버네티스 클러스터의 리소스 모니터링 도구
리소스 모니터링, 리소스의 yaml파일 수정, 관계 파악
다른 대시보드와 차별된점은 플러그인 지원을 한다는 것이다. jenkins등 오픈소스에 플러그인 제공하고 있음

4) Cloud Native Buildpacks
효율적으로 이미지를 만들어 낼 수 있다.  

5) Contour
Contour Kubernetes ingress controller 를 통해 수신된 요청을 라우팅 규칙에 따라 분배

6) Velero
쿠버네티스 클러스터의 백업 복권 마이크레이션 지원 도구
전체 클러스터 네잌스페이스 또는 레이블을 통한 부분 백업, 스케쥴에 따른 반복적, 안정적 복구, 하나의 클러스터에서 다른 클러스터로 Kubernetes 지원 이관

7) Antrea
쿠버네티스 cni를 구현한 네트워킹 솔루션

8) pinniped
쿠버네티스에서 사용하는 인증 서비스
통합된 로그인 환경등 인증 모듈

9) sonobuoy
쿠버네티스 상태 진단 도구, 디버깅을 위한 워크로드 진단.

 

VMware Tanzu에서 추천하는 웨비나

https://tanzu.vmware.com/content/webinars

 

https://kube.academy/tours/2021

 

 

세션 2. 무신사는 왜 Kubernetes를 사용하게 되었나?

어플리케이션은 Monolistic에서 MSA로 변신중인데 배포가 따라가주지 못하고 있는 상태

 

Jenkins로 CI를 하고 있고

AWS CodePipeline으로 배포하고 있다.

 

기존 배포는 총 소요시간 15시간으로 장시간에 걸쳐 배포되다보니 통합배포하게 되고 한번의 deploy가 복잡도가 높아지게 됨

 

Terraform은 실수를 줄이고 속도도 빠르다. 

 

무신사 CI/CD 구조

d

 

 

세션 3. 스마일게이트 ci/cd 경험담

 

Kustomize 라는 서비스 배포용 manifest 구성을 정의해서 관리중이다.
서비스 manifest를 하나의 Kustomize 으로 관리 및 배포 가능

Argo Rollout ARGO 에서 지원하는 CRD
Manifest를 수정해 blue green canary 스크립팅

 

 

세션 4. MicroService로 변환

 

마치 베터리가 포함된 가전제품처럼 개발자들이 개발외 신경쓰지 않게 플랫폼화 필요