Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Helm 차트를 사용하여 고가용성을 갖춘 멀티노드 Contrail OpenStack Ocata 프로비저닝

참고:

Contrail 릴리스 1912.L1부터 Contrail Networking에서 Helm 지원을 사용할 수 없습니다. 이 문서의 Helm 지원 내용은 Contrail Networking 릴리스 1907부터 1912년을 지원합니다.

다음은 Helm 차트를 사용하여 OpenStack Ocata 및 고가용성을 갖춘 멀티노드 Contrail 시스템을 프로비저닝하기 위한 설치 절차입니다.

참고:

Contrail Command는 Helm 배포 Contrail 클러스터에서 지원되지 않습니다.

시스템 사양

이 절차에서는 주니퍼 OpenStack Helm 인프라와 OpenStack Helm 리포지토리를 사용하여 OpenStack Ocata Contrail 멀티노드 구축을 프로비저닝합니다.

이 절차는 다음으로 테스트됩니다.

  • 운영 체제 : 우분투 17.03.2 LTS

  • 커널: 4.4.0-112-generic

  • 도커: 1.13.1-cs9

  • 투구: v2.7.2

  • 쿠버네티스: v1.9.3

  • OpenStack: Ocata

지원되는 플랫폼 목록은 https://www.juniper.net/documentation/en_US/release-independent/contrail/topics/reference/contrail-supported-platforms.pdf 을 참조하십시오.

설치 준비

이 섹션은 OpenStack Ocata 및 고가용성을 갖춘 멀티노드 Contrail을 프로비저닝하기 전에 시스템을 준비하는 데 필요한 전제 조건입니다.

  1. 마스터 노드에서 SSH 키를 생성하고 모든 노드에 복사하며, 아래 예에서는 IP 주소가 10.13.82.43, 10.13.82.44 및 10.13.82.45인 3개의 노드가 사용됩니다.

  2. NTP가 모든 노드에 구성되어 있고 각 노드가 사용자 환경의 시간 서버와 동기화되어 있는지 확인합니다. 아래 예에서 NTP 서버 IP는 "10.84.5.100"입니다.

  3. contrail-helm-deployer를 가져옵니다.

    주니퍼 네트웍스에서 프로비저닝 호스트로 다운로드합니다contrail-helm-deployer-5.1.0-0.38.tgz.

    • scp contrail-helm-deployer-5.1.0-0.38.tgz 클러스터의 모든 노드에.

    • 모든 노드에서 contrail-helm-deployer-5.1.0-0.38.tgz의 압축을 풉니다.

      tar -zxf contrail-helm-deployer-5.1.0-0.38.tgz -C /opt/

  4. 필요한 변수를 내보냅니다.

  5. 필요한 패키지를 설치하고 쿠버네티스를 배포한다.

    참고:

    다른 버전의 Kubernetes, CNI 또는 Calico를 설치하려면 의 기본값${OSH_INFRA_PATH}/tools/gate/playbooks/vars.yaml을 재정의하도록 편집 ${OSH_INFRA_PATH}/tools/gate/devel/local-vars.yaml 합니다.

  6. Ansible 기본 프로비저닝을 위해 마스터 노드에 인벤토리 파일을 생성합니다. 다음 출력에서 10.13.82.43/.44/.45는 노드의 IP 주소이며 1단계에서 생성된 SSK 키를 사용합니다.

  7. 클러스터의 마스터 노드에 환경 파일을 생성합니다.

    참고:

    기본적으로. Kubernetes v1.9.3, Helm v2.7.2 및 CNI v0.6.0이 설치됩니다. 다른 버전을 설치하려면 파일을 편집 ${OSH_INFRA_PATH}/tools/gate/devel/multinode-vars.yaml 하여 에 ${OSH_INFRA_PATH}/playbooks/vars.yaml제공된 값을 재정의하십시오.

    샘플 multinode-vars.yaml :

  8. 마스터 노드에서 플레이북을 실행합니다.

  9. kube-dns 모든 노드의 연결을 확인합니다. Kubernetes 클러스터별 이름을 확인할 수 있는지 확인하는 데 사용합니다nslookup.

OpenStack Helm 설치 차트

이 절차를 사용하여 OpenStack Helm 차트를 설치합니다.

  1. OpenStack Helm 차트를 설치하기 전에 노드의 기본 레이블을 검토하십시오.

    기본 노드에는 및 레이블 openstack-control-plane 이 있습니다 openstack-compute-node. 기본 구성은 모든 노드에 OpenStack Helm(OSH) Pod를 생성합니다. 다음 명령을 사용하여 기본 OpenStack 레이블을 확인합니다.

    특정 노드에서 OSH Pod 생성을 제한해야 하는 경우 OpenStack 레이블을 비활성화합니다. 다음 예제에서는 노드에서 레이블을 openstack-compute-node 비활성화하는 ubuntu-contrail-9 방법을 보여줍니다.

  2. OpenStack Helm 차트를 배포합니다.

Contrail Helm 차트 설치

다음 절차에 따라 Contrail Helm 차트를 설치합니다.

  1. Contrail 포드에 레이블을 지정합니다. 모든 Contrail 포드는 다음 레이블을 사용하여 네임스페이스 contrail에 배포됩니다.

    • 컨트롤러 구성 요소 - 구성, 제어, 분석

    • vRouter 커널—opencontrail.org/vrouter-kernel

    • vRouter DPDK—opencontrail.org/vrouter-dpdk

    다음 예제에서는 레이블을 DPDK로, 레이블을 커널 vrouter로 지정하는 ubuntu-contrail-11 ubuntu-contrail-10방법을 보여 줍니다.

  2. Contrail을 위한 Kubernetes ClusterRoleBinding을 생성합니다.

  3. Contrail Helm 차트를 설정하고 각 차트에 대한 values.yaml 파일에서 시스템에 특정한 구성 설정을 설정합니다.

    참고:

    다른 환경 변수를 추가해야 하는 경우 해당 차트의 values.yaml 파일에 추가합니다.

  4. Helm install 명령을 사용하여 각 Contrail Helm 차트를 구축합니다.

  5. Contrail 포드가 가동되어 실행 중이면 OpenStack Heat 차트를 배포합니다.

  6. 완료되면 컴퓨팅 키트 테스트를 실행합니다.

    (k8s-master)> ./tools/deployment/multinode/143-compute-kit-opencontrail-test.sh

OpenStack Helm Contrail 클러스터 기본 테스트

다음 명령을 사용하여 OpenStack Helm Contrail 클러스터의 가상 네트워크 및 가상 머신에 대한 기본 테스트를 수행합니다.

Contrail OpenStack Helm 클러스터 액세스

다음 주제를 사용하여 OpenStack 및 Contrail 웹 UI에 액세스하고 명령줄 인터페이스(CLI)를 위해 OpenStack 클라이언트를 준비하십시오.

Contrail OpenStack Helm 클러스터 액세스