본문 바로가기
IT 둘러보기

[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf

by 날고싶은커피향 2023. 3. 15.

 [오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf

  1. 1. QA 기술 공유 및 교육 시스템 아키텍처 설계 기술 전수 패키지 관리 프로젝트 관리 지속적인 기술지원 최신 아키텍처 리딩
  2. 2. 5
  3. 3. 6 Red Hat 25% Mirantis 10% IBM 8% Rackspace… *independent… HP 6% Huawei 4% NEC 3% SUSE 3% Intel 3% HPE 3% VMware 2% AT&T 2% Google 48% *independent 19% Red Hat 19% Huawei 4% Microsoft 2% VMware 2% IBM 1% Intel 1%
  4. 4. 로그분석 Backup Monitoring Service Mash 서비스 패키지 매니저 서비스 카탈로그 CI / CD 인증/인가 CRI CNI CSI
  5. 5. 백업 / 복구 시스템 Velero backup controller ` DevOps시스템 모니터링 시스템 애플리케이션 카탈로그 시스템 관리포탈 Sidecar Proxy Sidecar Proxy Sidecar Proxy 서비스 매시 소스 다운로드 소스 빌드 이미지 빌드 이미지 Push Yaml Push 배포 쿠버네티스 보안/인증 시스템
  6. 6. Logging Backup CI / CD Monitoring Customer Service Service Mesh Cluster
  7. 7. 대시보드/포탈 Rancher 멀티클러스터 관리를 지원하며, 포탈 화면 제공 모니터링 Prometheus / Grafana 많은 사용자 보유하여 많은 서비스에 모니터링 메트릭을 지원하며, 다양한 대시보드 예제가 있으며 사용자가 원하는 포 맷으로 변경 가능 Storage NFS or Vendor driver NFS를 기본적으로 지원하며 범용적이어서 기본 장착이 용이 소스 버전 관리 Bitbucket 아틀라시안 제품 많은 사용자 보유 Gittea 가볍고 필요한 git 서버 기능은 모두 지원 빌드 라이브러리 관리 Nexus 성능 및 가용성이 높으며 많은 사용자 보유 웹 서버 Nginx 대용량 트래픽 처리에 용이 Code Inspection Sonarqube 다양한 프로그래밍 언어의 정적 코드 검사 및 DevOps 연동 지원 도커 레지스트리 harbor 제품은 조금 무겁지만 플러그인으로 UI 및 helm chart 지원 이미지 보안 검사 기능을 지원 배포 툴 ArgoCD 클라우드 베이스의 배포 지원 및 다양한 배포방식(Rollout, Blue/Green, Canary) 및 플러그인 지원 빌드 파이프라인 Tekton Kubernetes 자원을 기반으로 구축되어 자원 확장 및 구성/관리가 용이 Jenkins 범용적으로 많이 사용하는 제품으로 많은 플러그인과 파이프라인 예제가 있음 백업 Velero object storage 기반 백업. 별다른 대안이 없음 Service Mesh Linkerd istio와 같은 기능은 대부분 지원하면서 사이드카로 동작하는 proxy가 가벼워 시스템 부하가 적음 Logging ELK or EFK 범용적으로 많이 사용되고 dashboard template이 많음 오케스트레이션 Kubernetes 버전별 K8S에서 기본 제공 패키지 매니저 Helm Kubernetes 패키지 관리 서비스 카탈로그 Kubeapps 패키지 명세서를 이용해서 손쉽게 애플리케이션을 배포하고 관리
  8. 8. Compute Node (BareMetal) Kubernetes 오픈스택 Compute Node VM Pool Kubernetes 오픈스택(Ironic) Compute Node (BareMetal) Kubernetes
  9. 9. 12 구성 환경 Kubernetes Container Zone Openstack Controller Keystone Horizon Orchestration DB Baremetal ironic node Controll Application Monitoring Grafana Prometheus Neutron OpenSwitch L3 Agent DHCP Agent Nova Cinder Ironic Glance Manila Octavia OpenStack Deploy Nexus Ansible Storage Zone OpenStack Compute zone Compute Node L3 Agent Name Spaces Route FIP Open vSwitch master Worker Worker container con #1 Apps container con #1 Apps Bridges Int Tunnel vlan external LB Node LB Node WEB Tenant/Zone LB Node LB Node Tanant VM #1 Tanant VM #1 VM # 1 Apps Kernel WAS Tenant / Zone LB Node LB Node Tanant VM #1 Tanant VM #1 VM # 1 Apps Kernel Ironic node Server #3 Server #2 Server #1 Compute node (vm) 1 2 3 4 6 5
  10. 10. 프라이빗 오픈스택 / 쿠버네티스 사례 - 기상청 기상청 전체 시스템 클라우드 전환 Large Scaled Service AWS와 유사한 다양한 클러스터 방식의 클라우드 구성 “다양한 사용자 용도와 환 경으로 구성된 멀티 클러 스터 구성” OpenStack위의 VM 생성 • 중요 업무 • 기존 업무 • 내부망 오픈스택 Compute Node VM Pool ••• OpenStack 인프라에 Kubernetes 생성 • 개발 인프라 • 노후 인프라 활용 BareMetal 인프라에 Kubernetes 구성 • 고객 서비스 • 가용성 • Large Scale Traffic BareMetal 인프라에 GPU Farm 구성 • ML 업무 • AI 개발 오픈스택 Compute Node VM Pool Kubernetes Compute Node (BareMetal) Kubernetes 오픈스택(Ironic) Compute Node (BareMetal) VM Pool Kubernetes GPU *다양한 용도의 클러스터를 AWS 모델이라 칭함 프로젝트 기간 : 2019.10 ~ 2019.12 / 2020.8~2020.12 / 2021~
  11. 11. 오픈스택 Compute Node VM Pool ••• 오픈스택 Compute Node VM Pool Kubernetes 오픈스택(Ironic) Compute Node (BareMetal) VM Pool Kubernetes GPU Compute Node (BareMetal) Kubernetes 홈페이지 홈페이지 홈페이지 지진앱 지진앱 지진앱 푸쉬앱 푸쉬앱 푸쉬앱 컨트롤러 컨트롤러 컴퓨팅 컴퓨팅 오픈스택 Compute Node VM Pool ••• 컨트롤러 컨트롤러 컴퓨팅 컴퓨팅 웹 API 웹 API K-DASH K-DASH K-DASH K-DASH K-DASH NFV Controller SDN Controller NFV Computing Ceph Controller NFS Gateway Ceph Cluster Compute Node Control Node 하드웨어 인프라 오픈스택 Heat(Orchestration) Horizon Dashboard Keystone 인증 Neutron 네트워크 Cinder Block스토리지 Nova 컴퓨팅 Glance 이미지 Swift Object스토리지 Ceilometer 미터링 Manila 공유파일시스템 Ironic 베어메탈 프로비저닝 •••
  12. 12. 오픈스택 Compute Node VM Pool ••• 오픈스택 Compute Node VM Pool Kubernetes 오픈스택(Ironic) Compute Node (BareMetal) VM Pool Kubernetes GPU Compute Node (BareMetal) Kubernetes 홈페이지 홈페이지 홈페이지 지진앱 지진앱 지진앱 푸쉬앱 푸쉬앱 푸쉬앱 컨트롤러 컨트롤러 컴퓨팅 컴퓨팅 오픈스택 Compute Node VM Pool ••• 컨트롤러 컨트롤러 컴퓨팅 컴퓨팅 웹 API 웹 API K-DASH K-DASH K-DASH K-DASH K-DASH NFV Controller SDN Controller NFV Computing Ceph Controller NFS Gateway Ceph Cluster Compute Node (BareMetal) 하드웨어 인프라 Cluster Logging Backup CI / CD Monitoring Customer Service Service Mash Kubernetes (Playce Kube)
  13. 13. 오픈스택 Compute Node VM Pool ••• 오픈스택 Compute Node VM Pool Kubernetes 오픈스택(Ironic) Compute Node (BareMetal) VM Pool Kubernetes GPU Compute Node (BareMetal) Kubernetes 홈페이지 홈페이지 홈페이지 지진앱 지진앱 지진앱 푸쉬앱 푸쉬앱 푸쉬앱 컨트롤러 컨트롤러 컴퓨팅 컴퓨팅 오픈스택 Compute Node VM Pool ••• 컨트롤러 컨트롤러 컴퓨팅 컴퓨팅 웹 API 웹 API K-DASH K-DASH K-DASH K-DASH K-DASH NFV Controller SDN Controller NFV Computing Ceph Controller NFS Gateway Ceph Cluster 하드웨어 인프라 Cluster Kubernetes (Playce Kube) VM Pools ••• Compute Node 오픈스택 Heat(Orchestration)
  14. 14. 오픈스택 Compute Node VM Pool ••• 오픈스택 Compute Node VM Pool Kubernetes 오픈스택(Ironic) Compute Node (BareMetal) VM Pool Kubernetes GPU Compute Node (BareMetal) Kubernetes 홈페이지 홈페이지 홈페이지 지진앱 지진앱 지진앱 푸쉬앱 푸쉬앱 푸쉬앱 컨트롤러 컨트롤러 컴퓨팅 컴퓨팅 오픈스택 Compute Node VM Pool ••• 컨트롤러 컨트롤러 컴퓨팅 컴퓨팅 웹 API 웹 API K-DASH K-DASH K-DASH K-DASH K-DASH NFV Controller SDN Controller NFV Computing Ceph Controller NFS Gateway Ceph Cluster 하드웨어 인프라 Kubernetes (Playce Kube) VM Pools ••• 오픈스택 Compute Node BareMetal ••• Master Master Master GPU Workers GPU Workers GPU Workers
  15. 15. Private으로 40대 용량
  16. 16. 멀티 클러스터를 관리를 위한 통합 사례 커뮤니티 오픈소스로 제1금융권 구축 통합관리 클러스터 구성 // // 별도의 통합관리 클러스터 구성 통합관리 클러스터에서 멀티클러스터 관리 멀티 클러스터간 서비스 모니터링 프로젝트 기간 : 2019.10 ~ 2019.12 / 2020.8~2020.12 / 2021~ PaaS만 필요한 부분 / IaaS만 필요한 부분 / IaaS와 PaaS가 필요한 부분 / 개발자를 위한 PaaS 영역 통합관리 K8S CI/CD PROD DEV 통합관리 K8S CI/CD PROD DEV K8S 설치모듈 실행으로 클러스터 생성 배포 서버 CI/CD PROD DEV
  17. 17. S사 AI 가상상담 AI/ML 기반으로 작동하는 서비스를 대상으로 효율적인 스케쥴링 프로젝트 기간 : 2021.6~ 2021.8 PaaS 구축 AI 가상상담 플랫폼 운영환경 구축 Master Node Worker Node GPU * 4 Master Node Worker Node GPU * 4 Master Node Worker Node GPU * 4 Worker Node GPU * 4 Worker Node GPU * 4 Switch LoadBalancer GPU/Mem 관련 매트릭 • GPU Utilization • Power Draw • Fan Speed • Temp • GPU Clock Speed • Mem Clock Speed • Memory Alloc POD의 KUDA 지원 Notebook 사용 GUP 지원 Docker Runtime 구성 NVIDIA GPUs Driver 구성
  18. 18. 인도네시아 국세 시스템 클라우드 아키텍처 구성 운영, 개발, DR 환경별로 최적화된 클러스터 Zone 구성 “다양한 사용자 용도와 환 경으로 구성된 운영 클러 스터 구성” OpenStack / K8s Zone 구성 • OpenStack: 배치, DB • K8S: 업무 서비스 DR구성은 운영의 Down-Size로 구성 OpenStack 인프라에 VM Zone, K8S Zone 구성 • 효율적 자원 분배 Zone별 원격 백업 정책 • 300km 이상의 센터간 백업 가능한 클러스터 구성 프로젝트 기간 : 2021.1~ 2021.4 / 2021.8~현재 IaaS/PaaS 구축 운영환경/DR 컨설팅 및 구축 진행중 오픈스택 Compute Node BareMetal Kubernetes Containers VM Pool 오픈스택 Compute Node BareMetal Kubernetes Containers VM Pool 오픈스택 BareMetal BareMetal Kubernetes Containers VM Pool 운영 클러스터 Kubernetes 오픈스택 DR 클러스터 Kubernetes 오픈스택 Infra Code Backup VM Image Snapshot
  19. 19. 소스 다운로드 빌드 검증 이미지 생성 Deployment Template을 활용해 신속한 DevOps구성 및 자동화 GitOps 구현으로 인프라 및 Application 설정을 upload/배포를 동시에 가능하도록 구현 설계 포인트
  20. 20. DMZ (망분리) Internal 서비스(망분리) Build Pod WEB WEB WEB Build Pod WEB WEB WAS WEB WEB WEB WEB WEB WAS WEB WEB WEB WEB WEB WAS CI/CD Cluster Source Repo Deploy Img/Lib Repo Maven Repo Container Repo 개발 클러스터 검증 클러스터 운영 클러스터 DR 클러스터 Build Server Build Server Build Pod WEB WEB WEB WEB WEB WAS
  21. 21. 개발자 환경 (PC) CI/CD Cluster Source Repo Deploy Img/Lib Repo Library Repo Container Repo 개발/ 검증 Cluster 운영/ DR Cluster GIT IntelliJ / EClipse JDK Chrome Service Service Service Service Service Service Service Service
  22. 22. 소스 다운로드 소스 빌드 이미지 빌드 이미지 Push Yaml Push 배포
  23. 23. • Pipeline Script • Yaml, Json 지원 • 파이프라인 생성을 위한 다양한 템플릿 제공 - Git - Build (java, Vuejs, Nodejs) - Tagging - Deployment - etc. • 파이프라인 관리 • 기존 파이프라인 Re-use • 템플릿 활용으로 빠른 Pipeline 생성 • 배포 이미지 관리 • 이미지 생명주기 관리 • 이미지 분석 및 보안 취약 점 검증 • Application 배포 지원 • Git-Ops와 연동하여 IaC 지원 • 다양한 배포 방식 지원 - Rollout - Canary - Blue-Green
  24. 24. 오픈스택(Ironic) Compute Node (BareMetal) VM Pool Kubernetes GPU
  25. 25. Q&A
반응형