Cloud/Openstack

Magnum 유저 가이드 번역 (Ocata ver.)

범데이 2021. 8. 15. 17:47
728x90

원문: https://docs.openstack.org/magnum/ocata/userguide.html

 

Magnum User Guide — magnum 4.1.5.dev7 documentation

Magnum User Guide This guide is intended for users who use Magnum to deploy and manage clusters of hosts for a Container Orchestration Engine. It describes the infrastructure that Magnum creates and how to work with them. Section 1-3 describe Magnum itself

docs.openstack.org

 


목차

  • 용어
  • ClusterTemplate
  • Cluster

 


용어

Cluster (이전에는 Bay라고 함)

클러스터는 Magnum이 컨테이너 오케스트레이션 엔진을 시작하는 구성이다. 클러스터가 생성된 후 사용자는 클러스터에 직접 컨테이너를 추가할 수 있다. 또는 pods 내 Kubernetes 컨테이너 오케스트레이션 엔진의 경우 해당 구현과 관련된 논리적 구성이다. ClusterTemplate을 기반으로 클러스터가 생성된다.


ClusterTemplate (이전에는 BayModel라고 함)

Magnum의 ClusterTemplate은 Nova의 flavor와 거의 동일하다. Magnum이 주어진 ClusterTemplate을 사용하여 클러스터를 생성할 때 사용할 컨테이너 오케스트레이션 엔진, 키 쌍 및 이미지와 같은 옵션을 정의하는 템플릿 역할을 한다.


COE (Container Orchestration Engine)

컨테이너 오케스트레이션 엔진은 논리적으로 매그넘에서 클러스터로 표시되는 하나 이상의 컨테이너 수명 주기를 관리한다. Magnum은 Docker Swarm, Kubernetes 및 Mesos를 포함하여 각각 장단점이 있는 다양한 컨테이너 오케스트레이션 엔진을 지원한다.

 


ClusterTemplate

ClusterTemplate은 클러스터를 어떻게 구성할 지 형성하는 매개변수 모음이다. 일부 매개변수는 클러스터의 인프라와 관련이 있고 다른 매개변수는 특정 COE와 관련이 있다. 일반적인 워크플로에서 사용자는 ClusterTemplate을 만든 다음 ClusterTemplate을 사용하여 하나 이상의 클러스터를 만든다. 클라우드 공급자는 여러 ClusterTemplate을 정의하고 사용자에게 제공할 수도 있다. 이 ClusterTemplate을 사용하는 클러스터가 존재하는 경우 ClusterTemplate을 업데이트하거나 삭제할 수 없다.

 

ClusterTemplate의 파라미터 정의와 사용법은 다음과 같다. mandatory, infrastucture, COE 구성으로 느슨하게 그룹화됩니다.

 

–coe <coe>

사용할 컨테이너 오케스트레이션 엔진을 지정한다. 지원되는 COE에는 'kubernetes', 'swarm', 'mesos'가 포함됩니다. 환경에 추가 클러스터 드라이버가 설치된 경우 새 COE 이름에 대한 클러스터 드라이버 설명서를 참조하자. 이것은 필수 매개변수이며 기본값은 없다.

 

–image <image>

클러스터의 서버를 부팅하기 위한 Glance의 기본 이미지 이름 또는 UUID. 이미지에는 클러스터 드라이버에 적절하게 정의된 'os-distro' 속성이 있어야 한다. 현재 지원되는 이미지의 경우 os-distro 이름은 다음과 같다.

 

COE os-distro
Kubernetes Fedora-atomic, CoreOS
Swarm Fedora-atomic
Mesos Ubuntu

이것은 필수 매개변수이며 기본값은 없다.

 

–keypair <keypair>

SSH 액세스를 위해 클러스터 서버에서 구성할 SSH 키 쌍의 이름 또는 UUID. 클러스터의 서버에 ssh할 수 있으려면 키가 필요하다. 로그인 이름은 클러스터 드라이버에 따라 다르다. 템플릿에 키 쌍이 제공되지 않으면 클러스터 생성 시 필요하다. 이 값은 클러스터 생성 중에 제공되는 모든 키 쌍 값으로 재정의됩니다.

 

–external-network <external-network>

클러스터의 외부 인터넷 연결을 제공하기 위한 Neutron 네트워크의 이름 또는 네트워크 ID이다. 이 네트워크는 외부 네트워크여야 한다. 즉, 'router:external' 속성은 'True'여야 한다. 클러스터의 서버는 사설 네트워크에 연결되고 매그넘은 이 사설 네트워크와 외부 네트워크 사이에 라우터를 생성한다. 이를 통해 서버는 이미지를 다운로드하고 검색 서비스에 액세스하고 컨테이너는 패키지 등을 설치할 수 있다. 반대 방향으로 외부 인터넷에서 서버 및 컨테이너에 대한 액세스를 제공하기 위해 외부 네트워크에서 유동 IP가 할당된다. 클러스터에서 호스팅되는 서비스. 이것은 필수 매개변수이며 기본값은 없다.

 

–name <name>

생성할 ClusterTemplate의 이름이다. 이름은 고유하지 않아도 된다. 여러 ClusterTemplate의 이름이 같은 경우 클러스터를 생성하거나 ClusterTemplate을 업데이트, 삭제할 때 UUID를 사용하여 ClusterTemplate을 선택해야 합니다. 이름을 지정하지 않으면 문자열과 숫자를 사용하여 임의의 이름이 생성된다(예: "pi-13-model").

 

--public ClusterTemplate에 대한 액세스는 일반적으로 관리자, 소유자 또는 소유자와 동일한 테넌트 내의 사용자로 제한됩니다. 이 플래그를 설정하면 ClusterTemplate이 공개되고 다른 사용자가 액세스할 수 있다. 기본값은 공개가 아니다.

 

–server-type <server-type>

클러스터의 서버는 VM(Virtual-Machine) 또는 BM(Bare-Metal)이다. 이 매개변수는 클러스터에 대해 생성할 서버 유형을 선택합니다. 기본값은 'vm'이다. 가능한 값은 'vm', 'bm'이다.

 

–network-driver <network-driver>

컨테이너에 네트워크를 제공하기 위한 네트워크 드라이버의 이름이다. 이것은 클러스터의 Neutron 네트워크와 다르며 별개이다. 작동 및 네트워킹 모델은 특정 드라이버에 따라 다르다. 자세한 내용  네트워킹 섹션을 참조하자. 지원되는 네트워크 드라이버 및 기본 드라이버는 다음과 같다.

COE Network-Driver Default
Kubernetes Flannel Flannel
Swarm Docker, Flannel Flannel
Mesos Docker Docker

 

–volume-driver <volume-driver>

컨테이너의 영구 저장소를 관리하기 위한 볼륨 드라이버의 이름이다. 지원되는 기능은 드라이버에 따라 다르다. 지원되는 볼륨 드라이버 및 기본 드라이버는 다음과 같다.

COE Volume-Driver Default
Kubernetes Cinder No Driver
Swarm Rexray No Driver
Mesos Rexray No Driver

 

–dns-nameserver <dns-nameserver>

The DNS nameserver for the servers and containers in the cluster to use. This is configured in the private Neutron network for the cluster. The default is ‘8.8.8.8’.

 

–flavor <flavor>

노드 서버 부팅을 위한 nova flavor ID이다. 기본값은 'm1.small'이다.

 

–master-flavor <master-flavor>

마스터 또는 관리자 서버를 부팅하기 위한 nova flavorID이다. 기본값은 'm1.small'이다.

 

–http-proxy <http-proxy>

서버에서 외부 인터넷 사이트로의 직접 http 액세스가 차단될 때 사용할 프록시의 IP 주소이다. 이는 특정 국가 또는 기업에서 발생할 수 있으며 프록시를 통해 서버와 컨테이너가 이러한 사이트에 액세스할 수 있다. 형식은 포트 번호가 포함된 URL입니다. 기본값은 'None'이다.

 

–https-proxy <https-proxy>

서버에서 외부 인터넷 사이트로의 직접 https 액세스가 차단될 때 사용할 프록시의 IP 주소이다. 이는 특정 국가 또는 기업에서 발생할 수 있으며 프록시를 통해 서버와 컨테이너가 이러한 사이트에 액세스할 수 있다. 형식은 포트 번호가 포함된 URL이다. 기본값은 'None'이다.

 

–no-proxy <no-proxy>

프록시 서버 사용 시 일부 사이트는 프록시를 거치지 않고 정상적으로 접속되어야 한다. 이 경우 이러한 사이트를 쉼표로 구분된 IP 목록으로 지정할 수 있다. 기본값은 'None'이다.

 

–docker-volume-size <docker-volume-size>

만일 지정된 경우, 컨테이너 이미지는 지정된 크기(GB)의 cinder 볼륨에 저장된다. 각 클러스터 노드에는 위 크기의 볼륨이 연결됩니다. 지정하지 않으면 이미지가 컴퓨팅 인스턴스의 로컬 디스크에 저장된다. 'devicemapper' 스토리지 드라이버의 경우 최소값은 3GB이다. 'overlay' 스토리지 드라이버의 경우 최소값은 1GB이다.

 

–docker-storage-driver <docker-storage-driver>

이미지 저장소와 컨테이너의 쓰기 가능한 계층을 관리하는 드라이버의 이름이다. 지원되는 드라이버는 'devicemapper' 및 'overlay'이다. 기본값은 'devicemapper' 이다.

 

–labels <KEY1=VALUE1,KEY2=VALUE2;KEY3=VALUE3...>

키=값 쌍 형태의 임의 레이블. 허용되는 키와 유효한 값은 클러스터 드라이버에 정의되어 있다. 클러스터 드라이버에 특정한 추가 매개변수를 전달하는 방법으로 사용된다. 지원되는 키/값 쌍 및 해당 사용법의 목록은 레이블에 대한 하위 섹션을 참조하자.

--tls-disabled TLS(전송 계층 보안)는 일반적으로 클러스터를 보호하기 위해 활성화된다. 경우에 따라 사용자는 예를 들어 개발 중이거나 특정 문제를 해결하기 위해 클러스터에서 TLS를 비활성화할 수 있다. 이 매개변수를 지정하면 사용자가 인증서 없이 COE endpoint에 액세스할 수 있도록 TLS가 비활성화된다. 기본값은 TLS enable이다.
--registry-enabled 기본적으로 Docker 이미지는 공용 Docker 레지스트리에서 가져오지만 경우에 따라 사용자가 개인 레지스트리를 사용할 수 있다. 이 옵션은 레지스트리 V2를 기반으로 하는 대체 레지스트리를 제공한다. Magnum은 이미지를 호스팅하기 위해 swift가 지원하는 클러스터에 로컬 레지스트리를 생성한다. 자세한 애용은 Docker Registry 2.0을 참조하자. 기본값은 공용 레지스트리를 사용하는 것이다.
--master-lb-enabled 베이에 여러 마스터가 존재할 수 있으므로 베이에 대한 API 엔드포인트를 제공하고 마스터에 요청을 전달하기 위해 로드 밸런서가 생성된다. LBaaS서비스를 사용할 수 없는 경우와 같이 이 옵션을 'false'로 설정하여 로드 밸런서 없이 베이를 생성할 수 있다. 이경우 마스터 중 하나가 API엔드포인트 역할을 한다. 기본값은 'true'이다. 즉, 베이에 대한 로드 밸런서를 생성하기 위한 것이다.
 
 
 
 

 


Cluster

클러스터는 COE의 ClusterTemplate 인스턴스이다. Magnum은 특정 ClusterTemplate에 정의된 속성과 클러스터에 대한 몇 가지 추가 매개변수를 참조하여 클러스터를 배포한다. 매그넘은 클러스터 드라이버가 제공하는 오케스트레이션 템플릿을 배포하여 필요한 모든 인프라를 생성하고 구성한다. 준비가 되면 클러스터는 컨테이너를 호스팅할 수 있는 완전히 작동하는 COE가 된다.

반응형

'Cloud > Openstack' 카테고리의 다른 글

OPEN STACK 구성요소  (0) 2021.07.21