Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

Contrail Insights OpenStack을 위한 설치 및 구성

OpenStack 시작하기

Contrail Insights OpenStack 클러스터의 호스트 및 가상 머신에 대한 리소스 제어 및 가시성을 제공합니다. 이 주제에서는 OpenStack 클러스터에 Contrail Insights 설치하는 방법을 설명합니다. Contrail Insights Agent는 호스트 상에서 실행되어 호스트 자체의 리소스 소비와 해당 호스트에서 실행되는 가상 머신을 모니터링합니다. 본 Contrail Insights 본 Contrail Insights 및 Contrail Insights Agent Requirements를 참조하십시오. 그림 1은 OpenStack을 Contrail Insights 아키텍처를 보여줍니다.

그림 1: Contrail Insights 아키텍처와 OpenStack Contrail Insights Architecture with OpenStack
  • Contrail Insights Agent는 컴퓨팅 노드의 리소스 사용량을 모니터링합니다.

  • Contrail Insights 플랫폼은 시스템을 구성하는 REST API를 제공합니다.

  • Contrail Insights DataManager는 여러 에이전트의 데이터를 저장합니다.

  • Contrail Insights 대시보드는 웹 기반 사용자 인터페이스를 제공합니다.

  • 어댑터는 플랫폼별 리소스를 발견하고 Contrail Insights 플랫폼을 구성합니다.

  • 어댑터는 OpenStack 및 Kubernetes용입니다.

요구 사항

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

  • 지원되는 OpenStack 버전: Icehouse, Juno, Kilo, Liberty, Mitaka, Newton, Ocata.

  • 소프트웨어 Contrail Insights 요구 사항에 대한 일반 요구 사항을 참조하십시오.

  • 관리자는 OpenStack을 관리합니다.

  • OpenStack 서비스에 대한 API 액세스: Cinder, Glance, Heat, Keystone, Neutron, Nova, Swift. Contrail Insights 서비스에서 정보를 읽습니다. 관리자 계정은 읽기 전용 API 호출에 대한 충분한 권한을 제공해야 합니다. 또한 Contrail Insights 플랫폼은 해당 서비스가 수신되는 호스트 및 포트에 대한 연결을 열 수 있어야 합니다. Contrail Insights , 또는 서비스 엔드포인트를 사용하도록 admin internal public 구성할 수 있습니다. 섹션의 OS_ENDPOINT_TYPE OpenStack 환경 변수를 참조하십시오. Contrail Insights 10.

  • 참고:

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

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

3단계 워크플로우

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

  1. OpenStack을 구성합니다.

  2. Ansible 인벤토리 생성

  3. 설치 Contrail Insights.

OpenStack 구성

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

  1. 사용자 계정을 만들고 Appformix에 이름을 지정합니다.

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

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

Ansible 인벤토리 생성

Ansible은 소프트웨어를 컴퓨팅 노드 및 플랫폼 호스트에 구축하는 데 사용됩니다. Ansible 인벤토리 파일은 클러스터의 호스트 그룹을 설명합니다. 릴리스 파일과 별도로 인벤토리를 정의하여 인벤토리를 업그레이드를 위해 사용할 수 있습니다.

Contrail Insights 2개의 그룹 컴퓨팅과 appformix_controller. 각 그룹은 해당 그룹의 호스트를 나열합니다. 에이전트만이 컴퓨팅 호스트에 설치됩니다. 에이전트와 Contrail Insights 플랫폼 서비스는 호스트에 appformix_controller 설치됩니다.

선택적으로 openstack_controller 그룹을 정의할 수 있습니다. Agent는 OpenStack 컨트롤러 서비스를 실행하는 호스트를 모니터링하기 위해 이 그룹의 호스트에 설치됩니다. (v2.3.0의 신규)

파일과 파일이 포함된 디렉토리(또는 선택한 inventory hosts 이름)를 group_vars/all 생성합니다. 예를 들어:

이 파일에는 각 그룹의 호스트 inventory/hosts 목록이 포함되어 있습니다. 예를 들어:

Ansible 인벤토리 설명서를 참조하십시오.

Ansible 구성 변수

이 Contrail Insights 소프트웨어에는 네트워크 설정 구성을 수행하는 많은 Ansible Contrail Insights 있습니다. 향후 업그레이드를 위해 설정 및 인벤토리를 사용할 수 있을 때 파일의 변수 값을 inventory/group_vars/all 정의합니다.

파일에서 OpenStack에 대한 네트워크 구성을 위해 Contrail Insights inventory/group_vars/all 변수를 구성합니다.

인터넷에서 파일을 페치할 수 없는 플랫폼 호스트에 종속성 설치 단계는 플랫폼 종속성 을 참고하십시오.

사전 사전 준비를 위한 HTTP Proxy 구성

Ansible 플레이북은 인터넷에서 파일을 페치하여 플랫폼 호스트에 사전 사전 전제어를 설치합니다. Platform Host가 인터넷 액세스에 대한 HTTP 프록시를 요구하는 경우 다음과 같은 변수를 inventory/group_vars/all 구성합니다.

은 사전 전제어를 설치하기 위해 명령을 호출할 때 사용되는 환경 변수를 정의하는 prerequisites_env 스크리전입니다. 위 예제에서 단일 프록시를 HTTP 및 HTTPS URL에 액세스하는 데 단일 프록시를 사용할 수 있기 때문에 위 예제에서 동일한 프록시 URL(http://proxy.example.com:1234)이 두 가지 환경 변수 모두에 http_proxy https_proxy 사용됩니다. 편리한 경우, 프록시 URL은 변수에서 한 번 http_proxy_url 정의됩니다. 네트워크의 프록시 요구 사항에 필요한 경우 prerequisites_env 조정

설치 Contrail Insights

설치하려면 Contrail Insights:

  1. Ansible을 기본 플랫폼 노드에 Contrail Insights 설치합니다. Ansible은 플랫폼에 docker와 docker-py를 설치합니다.

    참고:

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

  2. 다음 명령을 사용하여 컴퓨팅 libvirt 노드에 설치합니다.

    커널 기반 가상 머신(KVM)과 컴퓨팅 노드에서 실행되는 가상 머신에서 데이터를 수집하기 위한 관련 패키지를 설치합니다.

  3. Contrail Insights Agent가 실행되는 컴퓨팅 노드에서 python이 설치된지 virtualenv 확인합니다.

  4. Ansible을 통해 Contrail Insights 플랫폼 노드에서 암호 없는 로그인을 통해 노드에 에이전트를 설치할 수 있습니다. Ansible 플레이북이 실행되는 노드에서 SSH 공용 키를 만든 다음 키를 노드에 appformix_controller 복사합니다.

  5. 파일을 Sample_Inventory 템플릿으로 사용하여 호스트 파일을 만듭니다.

  6. 인벤토리 파일에 나열된 모든 호스트가 Contrail Insights 있는지 확인

  7. 배포의 최상위 수준에서 으로 명명된 디렉토리를 group_vars 생성합니다.

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

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

  9. group_vars디렉토리에서 으로 명명된 파일을 all 생성합니다. 다음을 추가하십시오.

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

  10. Contrail Insights OpenStack 클러스터와 통신하도록 구성해야 합니다. Ansible 플레이북은 OpenStack 환경 변수를 사용하여 openStack 환경의 Contrail Insights 구성합니다.

  11. 10개 환경 변수를 포함하는 파일을 소스로 하여 openrc Ansible-playbook을 실행할 쉘 환경에 변수가 포함되도록 합니다. 그런 다음 플레이북을 Contrail Insights 다운로드하여 appformix_openstack.yml 설치합니다. 이전 작성한 inventory 디렉토리로의 경로를 지정합니다.

  12. 웹 브라우저에서 Contrail Insights Dashboard를 오픈합니다. 예를 들어:

    OpenStack 환경 변수를 사용하여 Ansible에 의해 최초 구성이 수행되어 10 에서Skip Installation을 선택합니다. OpenStack Contrail Insights 사용하여 대시보드에 로그인합니다.

추가 Ansible 구성

추가 Ansible 구성 설정:

  1. Keystone SSL 지원 클러스터에 설치하려면 파일에 다음과 같은 변수를 group_vars/all 포함합니다.

    Contrail Insights Ansible은 이 CA(certificate authority) 모든 Contrail Insights 플랫폼 노드에 이 Contrail Insights 이 CA(certificate authority) 파일을 사용하여 Keystone에 알려 줄 것입니다.

    참고:

    데프문(Deprecation Notice) : 이전에는 2.19.5에서 시작된 매개 변수가 Contrail Insights 이제 더 이상 appformix_mongo_cache_size_gb Contrail Insights 3.2.0에서 지원되지 않습니다. Mongo는 Contrail Insights 3.2.0 버전에서 시작하여 Contrail Insights 플랫폼 노드에서 최대 40%의 가용 메모리를 사용하도록 구성됩니다.

  2. 클러스터에서 네트워크 디바이스 모니터링을 활성화하려면 파일에 다음을 group_vars/all 포함하십시오.

  3. 클러스터에 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 로그 파일에 대한 전체 경로로 설정해야 합니다. 여러 콤마 분리된 경로를 지정할 수 있습니다.

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

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

  4. 버전 Contrail Insights 2.19.8에서 OpenStack 서비스에 연결하기 위해 타임아웃 값을 구성할 수 있습니다. 이 타임아웃의 기본값은 초로, 초 또는 초 사이의 값(두 가지 포함)으로 변경할 10 520 있습니다. 값을 변경하기 위해 다음 변수를 group_vars/all 추가하십시오.

    Contrail Insights 플랫폼이 설치된 후 타임아웃 값을 수정하려면 위에서 설명한 대로 변수를 파일에 추가하고 설치 플레이북을 다시 Contrail Insights group_vars/all 있습니다. 플레이북이 완료된 후 appformix-openstack-adapter Docker 컨테이너를 다시 시작합니다.

업그레이드 공지

참고:

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

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

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

참고:

버전 3.Contrail Insights 경우 변수는 사용 appformix_openstack_factory_plugins 안 됩니다. 모든 OpenStack 로그 파서 플러그인은 변수에 지정해야 appformix_openstack_log_plugins 합니다. 이전 버전에서 버전 3.0으로 업그레이드할 때 에 정의되어 있는 모든 OpenStack 로그 파서 플러그인을 으로 appformix_openstack_factory_plugins appformix_plugins appformix_openstack_log_plugins 이동하십시오. 또한, Contrail Insights 버전 3.0에서 위의 3단계에 설명된 대로 이 목록의 모든 엔트리를 값으로 log_file_path 지정해야 합니다.

버전 2.18.x에서 버전 3.0으로 업그레이드할 때 파일에서 다음과 같은 변경을 group_vars/all 합니다.

버전 2.18.x:

버전 3.0.x:

OpenStack 컨트롤러 노드 ()에서 Contrail Insights 플랫폼 노드로 파일을 소스하여 컨트롤러 서비스에 대한 관리자 권한에 액세스하기 위해 어댑터를 openrc /etc/contrail/openstackrc 인증합니다. 파일에는 다음과 같이 표시됩니다.

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

노드를 다른 노드에서 Contrail Insights

다음에서 노드를 Contrail Insights:

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

  2. 편집된 인벤토리 파일로 Ansible을 실행합니다. 그러면 노드와 모든 리소스가 노드에서 Contrail Insights.

OpenStack Contrail Insights 업그레이드

Contrail Insights 플레이북을 실행하여 손쉽게 appformix_openstack.yml 업그레이드할 수 있습니다. 설치와 동일한 절차를 따르고

OpenStack 클러스터에서 Contrail Insights 제거

모든 Contrail Insights 제거하고 삭제하기 위해 다음 명령을 실행합니다.