Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

설치 전

  1. Red Hat으로 계정을 설정하고 주니퍼 네트웍스 있는 계정을 설정합니다.
    Red Hat 계정이 호스팅된 보조 설치 관리자 서비스를 사용해야 하며 Contrail 매니페스트, 컨테이너 패키지 및 도구를 다운로드하려면 주니퍼 네트웍스 계정이 필요합니다.
  2. 패브릭 네트워크를 설정하고 사용자 매니지드 네트워킹 설치 여부에 따라 노드를 패브릭에 연결합니다(그림 1) 또는 cluster-managed networking(그림 1).
  3. 보조 설치 관리자 클라이언트 시스템을 구성합니다.
    1. 보조 설치 관리자 클라이언트 머신에 새로운 OS를 설치하고 다음을 위해 최소로 OS를 구성합니다.
      • 정적 IP 주소 및 마스크(예: 172.16.0.10/24) 및 게이트웨이
      • 하나 이상의 DNS 서버에 액세스
      • 루트 SSH 액세스를 포함한 SSH 연결
      • Ntp
      • Jq
      주니퍼 예제에서 사용되는 보조 설치 관리자 클라이언트 시스템이 RHEL OS를 실행하고 있습니다.
    2. 헬름 3.0 이상 설치(선택 사항). Contrail Analytics를 설치하려면 헬름이 필요합니다.
      편의를 위해 https://helm.sh/docs/intro/install/ 다음 단계를 복사합니다.
      • get_helm.sh 스크립트를 다운로드합니다.

      • 헬름 설치.

  4. 주니퍼 네트웍스 Contrail Networking 매니페스트 및 도구 패키지를 다운로드합니다.
    1. 로컬 컴퓨터에서 Contrail Networking 매니페스트 및 도구 패키지(매니페스트 및 도구 참조)를 다운로드합니다.
    2. 다운로드한 매니페스트 및 도구 패키지를 Assisted Installer 클라이언트 머신에 복사하여 추출합니다.
    3. 사용할 매니페스트를 식별하고 별도의 디렉터리로 복사합니다. 매니페스트에 대한 설명은 릴리스의 매니페스트 및 도구를 참조하십시오.
      해당하는 경우 하위디렉터의 매니페스트를 포함하여 사용하려는 모든 매니페스트를 복사해야 합니다. 예제에서 매니페스트를 매니페스트 디렉터리로 복사 합니다 . 하위디렉터 자체를 복사하지 마십시오. 매니페스트 디렉토리는 플랫 디렉토리여야 합니다.
    4. 리포지토리 로그인 자격 증명으로 매니페스트를 채웁니다.

      릴리스 22.1을 실행하는 경우 이 단계는 적용되지 않습니다. 릴리스 22.1 매니페스트는 작동 중인 자격 증명과 함께 사전 최적화됩니다.

      릴리스 22.2 이상 실행 중인 경우 contrail-manifests-openshift/auth-registry 매니페스트에 리포지토리 로그인 자격 증명을 추가해야 합니다. 저장소 자격 증명 구성을 참조하십시오.

    5. 필요에 따라 환경에 맞는 매니페스트를 사용자 지정할 수 있습니다.

      VM에서 클러스터 노드를 실행하는 경우 다음 파일을 편집하여 인터페이스의 실제 이름을 참조합니다. 이러한 매니페스트는 VM의 명명된 인터페이스에서 체크섬 오프로드를 비활성화합니다. (체크섬 오프로드는 일반적으로 베어 메탈 서버의 실제 NIC에서만 지원됩니다.)

      • 99-disable-offload-master.yaml - 이 매니페스트는 Kubernetes 컨트롤 플레인 트래픽에 사용되는 인터페이스의 컨트롤 플레인 노드에서 오프로드를 비활성화합니다. 예시에서 172.16.0.0/24 네트워크에 연결하는 인터페이스입니다.
      • 99-disable-offload-worker.yaml - 이 매니페스트는 Kubernetes 컨트롤 플레인 트래픽에 사용되는 인터페이스의 작업자 노드에서 오프로드를 비활성화합니다. 예시에서 172.16.0.0/24 네트워크에 연결하는 인터페이스입니다.
      • 99-disable-offload-master-vrrp.yaml(릴리스 22.2 이상) 또는 99-disable-offload-master-ens4.yaml(릴리스 22.1) - 이 매니페스트는 Contrail 컨트롤 플레인 및 사용자 데이터 플레인 트래픽에 사용되는 인터페이스의 컨트롤 플레인 노드에서 오프로드를 비활성화합니다. Contrail 제어 및 데이터 트래픽을 위한 별도의 인터페이스를 실행하는 경우에만 이를 포함합니다(예: cluster-managed networking 사용 시). 클러스터 관리 네트워킹 예시에서 10.16.0.0/24 네트워크에 연결하는 인터페이스입니다.
      • 99-disable-offload-worker-vrrp.yaml(릴리스 22.2 이상) 또는 99-disable-offload-worker-ens4.yaml(릴리스 22.1) - 이 매니페스트는 Contrail 컨트롤 플레인 및 사용자 데이터 플레인 트래픽에 사용되는 인터페이스의 작업자 노드에서 오프로드를 비활성화합니다. Contrail 제어 및 데이터 트래픽을 위한 별도의 인터페이스를 실행하는 경우에만 이를 포함합니다(예: cluster-managed networking 사용 시). 클러스터 관리 네트워킹 예시에서 10.16.0.0/24 네트워크에 연결하는 인터페이스입니다.

      라인 ExecStart=/sbin/ethtool -K ens3 tx off 또는 ExecStart=/sbin/ethtool -K ens4 tx off 이러한 매니페스트에서 을(를) 찾고 인터페이스 이름을 컨트롤 플레인 또는 작업자 노드의 인터페이스 이름과 적절히 일치하도록 변경합니다.

    6. 클러스터 매니지드 네트워킹을 사용하는 경우 Contrail 제어 및 데이터 네트워크를 지정합니다.
      다음 파일을 편집하여 Contrail 컨트롤 플레인 및 사용자 데이터 플레인 트래픽에 사용하는 서브넷과 게이트웨이를 참조합니다.
      • 99-network-configmap.yaml - 이 매니페스트는 Contrail 컨트롤 플레인 및 사용자 데이터 플레인 트래픽에 대한 네트워크를 지정합니다. 매니페스트에서 contrail-network-configMap 사양을 압축 해제하고 적절한 서브넷 및 게이트웨이(예: 10.16.0.0/24 및 10.16.0.254)를 지정합니다.
  5. 보조 설치 관리자 클라이언트 시스템에 Contrailstatus를 설치합니다. Contrailstatus는 Contrail 마이크로서비스 및 Contrail 특정 리소스를 쿼리하는 데 사용할 수 있는 kubectl 플러그인입니다.
    Contrailstatus는 다운로드한 도구 패키지 내에서 패키징됩니다. kubectl-contrailstatus 실행 파일의 권한을 변경하고 /usr/local/bin으로 복사합니다.
  6. 로드 밸런서(사용자 관리 네트워킹으로 실행 중인 경우)를 설치합니다. 클러스터 매니지드 네트워킹으로 실행할 때 이 단계는 필요하지 않습니다.
    이 예에서는 보조 설치 관리자 클라이언트 머신에서 haxproxy를 실행합니다. 설치를 위해 다른 로드 밸런서 실행하도록 선택할 수 있습니다.
    1. 로드 밸런서(load balancer)를 설치합니다.
      예를 들어:
    2. 로드 밸런서 구성합니다.
      우리는 API를 배포하고 클러스터의 노드에 수신 트래픽을 배포하는 단일 IP 주소(172.16.0.10)를 사용합니다.
      표 1: 로드 밸런서 항목 예시
      트래픽 유형 전면 엔드 백엔드

      Api

      172.16.0.10:6443

      172.16.0.11:6443

      172.16.0.12:6443

      172.16.0.13:6443

      api-int

      172.16.0.10:22623

      172.16.0.11:22623

      172.16.0.12:22623

      172.16.0.13:22623

      https (1)

      172.16.0.10:443

      172.16.0.14:443

      172.16.0.15:443

      http

      172.16.0.10:80

      172.16.0.14:80

      172.16.0.15:80

      위의 매핑을 수행하는 haproxy 구성(/etc/haproxy/haproxy.cfg)의 예시입니다.
    3. 로드 밸런서가 시작됩니다.
      예를 들어:
      참고:

      Selinux를 실행하는 경우 포트에서 haproxy를 명시적으로 수신하도록 허용해야 할 수 있습니다(setsebool -P haproxy_connect_any 1))

  7. 네트워크에 DNS/DHCP 서버를 설치하여 Kubernetes 노드를 지원합니다.
    이 예에서는 보조 설치 관리자 클라이언트 머신에서 dnsmasq를 실행합니다. 설치를 위해 다른 DNS/DHCP 서버를 실행하도록 선택할 수 있습니다.
    1. DNS/DHCP 서버를 설치합니다.
      Dnsmasq는 일부 RHEL OS 패키지에 사전 설치되어 있습니다. 사전 설치되지 않은 경우 다음과 같이 설치할 수 있습니다.
    2. 도메인 이름 및 DHCP 항목을 구성합니다.
      표 2: DHCP 할당 예시
      정규화된 도메인 이름 IP 주소
      ocp1.mycluster.contrail.lan 172.16.0.11
      ocp2.mycluster.contrail.lan 172.16.0.12
      ocp3.mycluster.contrail.lan 172.16.0.13
      ocp4.mycluster.contrail.lan 172.16.0.14
      ocp5.mycluster.contrail.lan 172.16.0.15
      참고:

      보조 설치 서비스 사용 시 정규화된 도메인 이름은 다음과 같이 구성됩니다. <hostname>.<cluster name>.<domain name>

      이 예에서 호스트 이름을 클러스터 이름으로, mycluster contrail.lan 도메인 이름으로 사용합니다ocpn.

    3. DNS 항목을 구성합니다.
      표 3: DNS 항목 예
      호스트 이름 IP 주소 참고
      ocp1.mycluster.contrail.lan 172.16.0.11 DHCP 할당과 동일
      ocp2.mycluster.contrail.lan 172.16.0.12 DHCP 할당과 동일
      ocp3.mycluster.contrail.lan 172.16.0.13 DHCP 할당과 동일
      ocp4.mycluster.contrail.lan 172.16.0.14 DHCP 할당과 동일
      ocp5.mycluster.contrail.lan 172.16.0.15 DHCP 할당과 동일
      api.mycluster.contrail.lan 172.16.0.10 외부 API 트래픽에 대한 로드 밸런서. 사용자 관리 네트워킹에만 필요.
      api-int.mycluster.contrail.lan 172.16.0.10 내부 API 트래픽에 대한 로드 밸런서. 사용자 관리 네트워킹에만 필요.
      apps.mycluster.contrail.lan 172.16.0.10 수신 트래픽에 대한 로드 밸런서. 사용자 관리 네트워킹에만 필요.
      *.apps.mycluster.contrail.lan 172.16.0.10 수신 트래픽에 대한 로드 밸런서. 사용자 관리 네트워킹에만 필요.
      다음은 위의 할당을 수행하는 dnsmasq 구성( /etc/dnsmasq.conf)의 예시입니다.
    4. DNS/DHCP 서버를 시작합니다.
      예를 들어:
  8. Red Hat에서 OpenShift 명령줄 인터페이스 도구(oc)를 다운로드합니다. 이 패키지에는 kubectl이 포함되어 있습니다.
    1. 로컬 컴퓨터의 브라우저에서 https://console.redhat.com/openshift/downloads#tool-oc 이동하여 OpenShift 명령줄 인터페이스 도구(oc)를 다운로드합니다.
    2. 다운로드한 패키지를 보조 설치 관리자 클라이언트 머신 및 언타르로 복사합니다.
    3. oc 및 kubectl 실행 파일을 경로의 디렉터리로 복사합니다(예: /usr/local/bin).