핵심 개념 (OpenStack on K8s)

OpenStack 을 Kubernetes 위에서 운영하기 전에 잡아 두면 좋은 핵심 개념을 모았습니다.

참고

기여자 작업용 골격입니다. 각 절을 실습 경험과 공식 문서를 바탕으로 보강해 주세요.

왜 OpenStack 을 컨테이너로 운영하는가

  • 선언적 배포와 반복 가능한 업그레이드

  • 컨트롤 플레인 구성요소의 격리와 스케일링

  • Kubernetes 의 자가 치유(self-healing) 및 롤아웃/롤백 활용

  • GitOps 와 결합한 Day-2 운영 자동화

구성요소 매핑

OpenStack 의 주요 서비스가 Kubernetes 리소스로 어떻게 매핑되는지 정리합니다.

OpenStack 서비스

Kubernetes 상의 형태 (예)

Keystone (인증)

Deployment + Service, 외부 노출용 Ingress

Nova (compute)

컨트롤 컴포넌트는 Pod, 하이퍼바이저 노드는 별도 관리

Neutron (network)

Deployment/DaemonSet 조합

Glance (image)

Deployment + 오브젝트 스토리지 백엔드

데이터베이스 / 메시지 큐

Operator 또는 StatefulSet (MariaDB, RabbitMQ 등)

배포 방식 비교

컨테이너화된 OpenStack 을 올리는 배포 방식은 크게 둘입니다.

  • openstack-helm — Helm chart 기반, Kubernetes 위 배포

  • Kolla-Ansible — Ansible + Docker 기반(Kubernetes 아님)

두 방식의 상세 비교와 선택 기준은 Kolla-Ansible vs openstack-helm 에서 다룹니다. 두 방식이 공통으로 사용하는 컨테이너 이미지 레이어는 Kolla (컨테이너 이미지) 를 참고하세요.