Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

Contrail Insights OpenStack in 고가용성(HA)

고가용성(HA) 설계 개요

Contrail Insights 플랫폼은 고가용성을 위해 여러 호스트에 구축할 고가용성(HA). 플랫폼 서비스는 가상 IP 주소에서 수신하는 API 프록시를 사용하여 계속 통신합니다. 한 호스트만이 한 때 가상 IP를 가지기 때문에 하나의 API 프록시만 한 때 "활성" API 프록시가 됩니다.

API 프록시는 HAProxy에 의해 구현됩니다. HAProxy는 서비스에 따라 활성-대기 또는 로드 능동 활성 모드에서 서비스를 사용하도록 구성됩니다.

대부분의 경우, 한 호스트에 지정된 시간 내 가상 IP가 할당됩니다. 이 호스트는 "활성" HAproxy로 간주됩니다. 선선에 VRRP 프로토콜을 사용하는 keepalived를 통해 가상 IP 주소가 호스트에 할당됩니다.

서비스는 서로 다른 운영 모드로 복제됩니다. HAProxy는 "active-passive" 모드에서 단일 서비스 인스턴스로 모든 요청을 전송합니다. 서비스에 장애가 발생하면 HAProxy는 다른 호스트로부터 새로운 "활성"을 선택하고 새로운 "활성" 서비스에 요청을 전송합니다. "active-active" 모드에서 HAProxy 로드는 서비스가 운영되는 호스트 전반에서 요청의 균형을 맞출 수 있습니다.

Contrail Insights 플랫폼은 고가용성을 위해 3 노드, 5 노드 또는 7 노드 구성에 구축할 수 있습니다.

요구 사항

  • 플랫폼이 설치된 각 호스트의 경우 Contrail Insights 소프트웨어 요구 사항에 대한 Contrail Insights 일반 요구 사항을 참조하십시오. 에이전트 지원 Contrail Insights 목록은 Contrail Insights Agent Requirements를 참조하세요.

  • 참고:

    업그레이드 공지: Contrail Insights 3.2.6에서 시작하여 라이선스 파일에 대한 요구 사항이 제거됩니다. 3.2.6보다 일찍 버전을 설치하는 경우 설치 전에 라이선스가 필요합니다.

    라이선스 키를 에서 얻을 수 mailto:APPFORMIX-KEY-REQUEST@juniper.net. 요청 시 다음과 같은 정보를 제공합니다.

연결

  • 하나의 가상 IP 주소가 모든 플랫폼 호스트 간 공유됩니다. 이 IP 주소는 설치하기 전에 호스트에서 사용할 수 없습니다. 설치 후 모든 플랫폼 호스트에서 도달할 수 있습니다.

  • 대시보드 클라이언트(브라우저 내)는 가상 IP에 IP 연결이 있어야 합니다.

  • 설치를 위한 각 플랫폼 호스트와 통신을 위해 이들 호스트에서 실행되는 서비스를 위한 IP 주소입니다.

  • keepalived_vrrp_interface IP 주소를 할당하는 데 사용되는 각 플랫폼 호스트에 대해 설명됩니다. 이 인터페이스의 구성 방법에 대한 자세한 내용은 이 섹션에서 sample_inventory 설명하고 있습니다.

고가용성을 위해 Contrail Insights 설치

고가용성을 위해 Contrail Insights 호스트에 설치하려면 다음을 제공합니다.

  1. 소프트웨어 다운로드에서 Contrail Insights 플랫폼 노드로 다운로드할 수 있는 Contrail Insights 패키지를 다운로드하십시오. 아래 파일 다운로드:

    3.2.6보다 일찍 버전을 설치하는 경우 Contrail Insights 플랫폼 노드에 Contrail Insights 라이선스 파일을 복사합니다.

  2. 설치자 노드에 Ansible을 설치합니다. Ansible은 에 docker와 docker Python 패키지를 appformix_controller 설치합니다.

    Ansible 2.3용:

  3. Ansible이 설치 노드와 노드 간에 실행될 수 있도록 Python과 모든 플랫폼 호스트에 python-pip appformix_controller 설치하십시오.

  4. 에이전트가 실행되는 호스트에 python pip Contrail Insights 설치합니다.

  5. Ansible에 의해 모든 플랫폼 호스트에 암호 없이 로그인하려면, Ansible 플레이북이 실행되는 노드에서 SSH 공용 키를 만든 다음 키를 모든 플랫폼 호스트에 복사합니다.

  6. sample_inventory 파일을 템플릿으로 사용하여 호스트 파일을 생성합니다. 모든 플랫폼 호스트 및 컴퓨팅 호스트 세부 정보를 추가합니다.

    참고:

    참고: 5-node 또는 7-node 구축의 경우 에 모든 노드를 appformix_controller 나열합니다.

  7. 최상위 디렉토리에서 이름을 지정한 디렉토리를 만든 다음 이 디렉토리 내부에 명명된 파일을 group_vars all 생성합니다.

    새로 생성된 파일에 다음 항목을 all 추가합니다.

    3.2. Contrail Insights 6보다 일찍 버전을 설치하는 경우 group_vars/all

  8. OpenStack 컨트롤러 노드()에서 파일을 복사하여 소스에 복사하여 컨트롤러 서비스에 대한 관리 권한에 액세스하기 위한 openrc /etc/contrail/openrc appformix_controller 어댑터를 인증합니다.

    참고:

    3.Contrail Insights 버전에서는 OpenStack Octavia Load Balancer 서비스 발견에 대한 지원이 추가됩니다. Contrail Insights 상태 정보(예: 로드 런서 상태 정보 및 특징 정보)만 provisioning_status operating_status 수집합니다. 이 서비스 검색을 위해 옥타비아 서비스의 엔드포인트를 파일 내 변수로 appformix_octavia_endpoint_url group_vars/all 제공합니다. 예를 들어:

    옥타비아 로드 런서(Load Balancer) 서비스에 대한 비용도 구성할 수 있습니다. 로드 런서 비용 구성을 참조합니다.

  9. 생성된 인벤토리 파일로 Ansible을 실행합니다.

  10. 플레이북을 루트 사용자로 실행하면 이 단계를 건너 뜁니다. 루트가 아닌 사용자(예: "ubuntu"), 사용자 "ubuntu"는 사용자 그룹에 docker 액세스해야 합니다. 다음 명령어는 사용자를 docker 그룹에 추가합니다.