Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

Contrail Insights OpenStack Helm용 설치

OpenStack Helm은 Kubernetes 클러스터에 OpenStack 서비스를 구축하기 위한 Helm 차트를 제공하는 프로젝트입니다. Contrail Insights Kubernetes 리소스는 물론 OpenStack 리소스를 단일 Dashboard에서 모니터링하기 위해 구축할 수 있습니다.

아키텍처 및 용어

Kubernetes 클러스터 노드

네트워크 모니터링을 진행하는 Kubernetes 클러스터의 기본 노드 및 Contrail Insights. 이들 노드는 Contrail Insights Agent를 실행합니다.

OpenStack 클러스터 노드

컨테이너에서 OpenStack 서비스(Keystone, Nova, Neutron 등)를 실행하는 클러스터의 Kubernetes 노드

Contrail Insights 플랫폼 노드

플랫폼 구성 Contrail Insights 설치할 노드 Kubernetes 클러스터 노드에 도달할 수 있습니다.

그림 1: Contrail Insights 및 OpenStack Helm 워크플로우 Contrail Insights and OpenStack Helm Workflow

요구 사항

다음은 OpenStack Helm을 위한 Contrail Insights 요구 사항입니다.

  • 지원되는 Kubernetes 버전: 1.8.x 이상

  • 하드웨어 및 Contrail Insights 요구 사항에 대한 자세한 일반 요구 사항을 참조하십시오.

  • Kubernetes API 서버에 대한 API 액세스. Contrail Insights API 서버에서 Kubernetes 클러스터에 대한 정보를 읽습니다. 구성 중에 제공되는 토큰은 읽기 전용 API 호출에 충분한 권한을 제공해야 합니다. 또한 Contrail Insights 플랫폼은 API 서버가 실행되는 호스트 및 포트에 대한 연결을 열 수 있어야 합니다.

  • OpenStack 서비스에 대한 API 액세스. Contrail Insights 다양한 OpenStack 서비스가 제공하는 API를 통해 OpenStack 클러스터에 대한 정보를 읽습니다. 구성 중에 제공되는 사용자 자격 증명은 읽기 전용 API 호출에 충분한 권한을 제공해야 합니다. 또한 Contrail Insights 플랫폼은 API 서버가 실행되는 호스트 및 포트에 대한 연결을 열 수 있어야 합니다.

  • 참고:

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

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

워크플로

설치는 다음과 같은 단계로 구성됩니다.

  1. 최초 설정.

  2. Agent 설치를 위한 사전 사전 전제

  3. Kubernetes 구성.

  4. Configuring OpenStack.

  5. 설치 Contrail Insights.

  6. 구성 옵션.

최초 설정

초기 설정을 위해 다음 명령을 실행합니다.

  1. 이 필수 패키지를 Contrail Insights 플랫폼 노드에 설치하십시오.

    참고:

    RHEL의 경우 포트 9000에 액세스하려면 다음 iptable 규칙이 필요합니다.

  2. Contrail Insights 플랫폼 노드에서 /etc/hosts 파일을 편집하고 Kubernetes 클러스터 노드에서 OpenStack의 IP 주소를 입력합니다.

  3. kubernetes 클러스터 노드에서 Contrail Insights 플랫폼 노드와 OpenStack 간에 암호가 없는 SSH를 설정합니다. 다음 명령을 실행하여 SSH 공용 키를 모든 노드에 생성하고 복사합니다.

Agent 설치를 위한 사전 전제

Contrail Insights 라이브러리를 사용하여 OpenStack 컴퓨팅 노드에서 실행되는 가상 머신에서 데이터를 libvirt 수집합니다. 모든 OpenStack 컴퓨팅에서 다음 명령을 실행하여 라이브러리를 설치합니다.

Kubernetes 구성

Contrail Insights Kubernetes 클러스터의 리소스에 대한 정보를 읽습니다. 소프트웨어는 클러스터의 모든 객체에 읽기 전용 액세스를 제공하는 역할 또는 또 다른 cluster-admin 역할을 필요로 합니다. 새로운 서비스 계정을 생성하고 Contrail Insights 할당하는 것이 cluster-admin 좋습니다. 새 Service Account를 생성하지 않는 경우, 서비스 구성 시 필요한 액세스 권한을 보유한 기존 Service Account에서 토큰을 Contrail Insights.

액세스가 필요한 새 Service Account를 Contrail Insights Kubernetes 클러스터 기본 노드의 OpenStack에서 다음 단계를 수행합니다.

  1. YAML 파일을 다음과 같이 작성합니다.

  2. 1단계에서 생성된 파일을 appformix 사용하여 Service Account를 생성합니다.

  3. Service Account가 생성된지 확인 네임스페이스에 주목해야 합니다.

  4. 다음과 cluster-admin 같이 Service Account에 역할을 추가하고 3단계에 언급된 네임스페이스에 대한 네임스페이스를 appformix 변경합니다.

  5. 다음 명령을 실행하여 Service Account에 필요한 액세스 appformix 권한을 부여합니다.

    명령의 출력은 를 통해 나타날 수 yes 있습니다.

  6. Contrail Insights Kubernetes 클러스터와 통신하도록 구성해야 합니다. Kubernetes 클러스터에서 설치하는 동안 사용할 Kubernetes Contrail Insights.

    kubernetes_cluster_url

    Kubernetes API Server의 URL입니다. 이 가치를 얻기 위해 Kubernetes 클러스터의 OpenStack에서 다음 명령을 실행합니다.

    kubernetes_auth_token

    이는 Service appformix Account의 인증 토큰입니다. 이 값을 얻기 위해 Kubernetes 클러스터의 OpenStack에서 다음 명령을 실행합니다.

모든 구성에 대한 OpenStack 관리자 Contrail Insights

Contrail Insights OpenStack 클러스터에 구성된 모든 프로젝트에 대한 정보를 읽습니다. 소프트웨어는 관리자 권한을 요구합니다. 새 관리자 계정을 생성하여 Contrail Insights. 새 관리자 계정을 생성하지 않는 경우 새 관리자 계정을 구성하는 동안 기존 관리자 계정의 사용자 이름과 암호를 Contrail Insights.

운영자에 대한 관리자 Contrail Insights OpenStack Horizon 대시보드에서 다음 단계를 수행합니다.

  1. 사용자 계정을 생성하고 이름을 appformix 지정합니다.

  2. 사용자 계정에 대한 새 프로젝트를 선택합니다.

  3. 으로 역할을 admin 선택합니다.

설치 Contrail Insights

설치하려면 Contrail Insights:

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

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

  2. contrail-insights-<version>.tar.gz 언지프(Unzip) 이 패키지에는 설치에 필요한 모든 Ansible 플레이북이 Contrail Insights.

    참고:

    나머지 단계는 디렉토리 내에서 contrail-insights-<version>/ 실행됩니다. 제품 이름이 "AppFormix"에서 "Contrail Insights"로 변경됐지만, UI 및 내부 명령 경로는 계속 AppFormix 표시되고 나중에 새 이름을 반영합니다.

  3. 템플릿으로 sample_inventory 사용하여 설치를 위한 인벤토리 파일을 만듭니다. 섹션에 Kubernetes 클러스터 노드와 섹션의 Contrail Insights compute 플랫폼 노드를 appformix_controller 설명합니다. 섹션에서 OpenStack 컨트롤러 서비스를 실행하는 노드를 openstack_controller 설명합니다.

  4. 으로 불리는 디렉토리를 group_vars 생성합니다. 에서 요구하는 구성 변수를 사용하여 이 디렉토리 내부에 all 이름을 Contrail Insights.

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

  5. Ansible 플레이북이 실행될 환경의 OpenStack Controller 노드에서 파일을 소스로 openrc 소스합니다. 파일에는 다음과 같이 표시됩니다.

  6. Ansible 플레이북을 실행합니다.

    오류 없이 플레이북을 실행하여 완료해야 합니다.

  7. 다음의 Contrail Insights 대시보드에 로그인합니다.

    Auth Service 드롭다운 목록에서 다음과 같은 3가지 옵션이 제공됩니다.

    OpenStack

    OpenStack 자격 증명으로 로그인하고 OpenStack 리소스만 볼 수 있습니다.

    Kubernetes

    자격 증명을 Contrail Insights 로그인하고 Kubernetes 리소스만 볼 수 있습니다.

    AppFormix

    자격 증명을 Contrail Insights 로그인하고 OpenStack 및 Kubernetes 리소스 모두를 볼 수 있습니다.

    마지막 두 가지 옵션의 경우 로그인에 사용하는 토큰은 Contrail Insights 플랫폼 노드에서 /opt/appformix/etc/appformix_token.rst에서 사용할 수 있습니다.

옵션 구성

클러스터에 Contrail Insights 인증된 플러그인을 설치하려면 파일에 다음과 같은 변수를 group_vars/all 포함합니다.

예를 들어:

설치할 수 Contrail Insights 인증 받은 플러그인의 목록은 파일에서 시작하는 항목을 plugin_info 찾아야 roles/appformix_defaults/defaults/main.yml 합니다.

OpenStack 로그 파서 플러그인은 각 OpenStack 서비스의 API 로그 파일을 파서 분석하여 API 통화 및 응답 상태 코드에 대한 메트릭을 수집합니다. 위의 플러그인을 설치하려면 위의 변수에 appformix_openstack_log_plugins group_vars/all 플러그인을 추가하십시오. 이 목록의 각 플러그인 엔트리에는 지정해야 하는 매개 log_file_path 변수가 필요합니다. 이 매개 변수는 OpenStack Controller 노드의 서비스 API 로그 파일에 대한 전체 경로로 설정해야 합니다. 다중 COMMA 분리 경로를 지정할 수 있습니다.

에 지정될 올바른 로그 파일을 식별하려면 클라이언트 IP 주소, REST 호출 유형 및 응답 상태 코드를 포함하는 다음과 같은 항목을 log_file_path 찾아야 합니다.

이들 파일의 기본 위치는 의 변수에 appformix_openstack_log_factory_plugins 나열되어 roles/appformix_defaults/defaults/main.yml 있습니다.

컨테이너화된 OpenStack 환경에서는 OpenStack 서비스를 실행하는 컨테이너 내부에서 로그 파일이 생성됩니다. 그러나 이 컨트롤러는 openStack 컨트롤러 호스트에서 Contrail Insights 플러그인을 읽을 수 있도록 제공해야 합니다. 지정된 경로는 OpenStack Controller 호스트의 파일 위치 log_file_path 입니다.

참고:

3.0 Contrail Insights 에서는 모든 OpenStack 로그 파서 플러그인을 변수에 지정해야 appformix_openstack_log_plugins 합니다. 이전 버전에서 3.0으로 업그레이드할 때 에 정의된 모든 OpenStack 로그 파서 플러그인을 으로 appformix_plugins appformix_openstack_log_plugins 이동하십시오. 또한, Contrail Insights 3.0에서 위와 같이 이 목록의 모든 엔트리는 값으로 log_file_path 지정해야 합니다.

노드를 다른 노드에서 Contrail Insights

인벤토리 파일을 편집하고 제거하려는 각 노드에 appformix_state=absent Contrail Insights.

편집된 인벤토리 파일로 Ansible을 실행합니다.

그러면 노드와 모든 리소스가 Contrail Insights.