40.5. Ansible 기반 상태 점검


추가 진단 상태 점검은 OpenShift Container Platform 클러스터를 설치하고 관리하는 데 사용되는 Ansible 기반 툴 을 통해 사용할 수 있습니다. 현재 OpenShift Container Platform 설치에 대한 일반적인 배포 문제를 보고할 수 있습니다.

이러한 점검은 ansible-playbook 명령( 클러스터 설치중에 사용되는 것과 동일한 방법) 또는 컨테이너화된 openshift-ansible 버전을 사용하여 실행할 수 있습니다. ansible-playbook 메서드의 경우 openshift-ansible RPM 패키지에서 점검을 제공합니다. 컨테이너화된 방법의 경우 openshift3/ose-ansible 컨테이너 이미지는 Red Hat Container Registry 를 통해 배포됩니다. 각 메서드의 사용 예는 후속 섹션에 제공됩니다.

다음 상태 점검은 제공된 health.yml 플레이북을 사용하여 배포된 OpenShift Container Platform 클러스터에 대해 Ansible 인벤토리 파일에 대해 실행해야 하는 진단 작업 집합입니다.

주의

잠재적인 변경으로 인해 상태 점검 플레이북이 환경에 적용할 수 있으므로 Ansible 배포 클러스터에 대해서만 플레이북을 실행하고 배포에 사용되는 동일한 인벤토리 파일을 사용해야 합니다. 변경 사항은 검사에서 필수 정보를 수집할 수 있도록 종속성을 설치하는 것으로 구성됩니다. 경우에 따라 현재 상태가 인벤토리 파일의 구성 요소와 다를 경우 docker 또는 네트워킹 구성 요소와 같은 추가 시스템 구성 요소가 변경될 수 있습니다. 인벤토리 파일이 기존 클러스터 구성을 변경할 것으로 예상하지 않는 경우에만 이러한 상태 점검을 실행해야 합니다.

표 40.1. 진단 상태 점검
이름 확인목적

etcd_imagedata_size

이 검사에서는 etcd 클러스터에서 OpenShift Container Platform 이미지 데이터의 총 크기를 측정합니다. 계산된 크기가 사용자 정의 제한을 초과하면 확인에 실패합니다. 제한이 지정되지 않은 경우 이 검사는 이미지 데이터 크기가 etcd 클러스터에서 현재 사용된 공간 중 50% 이상인 경우 실패합니다.

이 검사에서 오류가 발생하면 etcd의 상당한 공간이 OpenShift Container Platform 이미지 데이터에 의해 수집되고 있으므로 결국 etcd 클러스터가 충돌할 수 있습니다.

etcd_max_image_data_size_bytes 변수를 전달하여 사용자 정의 제한을 설정할 수 있습니다. 예를 들어 etcd_max_image_data_size_bytes=40000000000 을 설정하면 etcd에 저장된 총 이미지 데이터가 40GB를 초과하면 검사가 실패합니다.

etcd_traffic

이 검사는 etcd 호스트의 더 높은 일반 트래픽을 감지합니다. etcd 동기화 기간 경고가 있는 journalctl 로그 항목이 있으면 실패합니다.

etcd 성능 향상에 대한 자세한 내용은 OpenShift Container Platform etcd 호스트 및 Red Hat 지식베이스 권장 사항을 참조하십시오.

etcd_volume

이 검사를 통해 etcd 클러스터의 볼륨 사용량이 사용자 지정 최대 임계값 미만인지 확인합니다. 최대 임계값이 지정되지 않은 경우 기본값은 총 볼륨 크기의 90% 입니다.

사용자 정의 제한은 etcd_device_usage_threshold_percent 변수를 전달하여 설정할 수 있습니다.

docker_storage

docker 데몬(노드 및 컨테이너화된 설치)을 사용하는 호스트에서만 실행됩니다. Docker의 총 사용량이 사용자 정의 제한을 초과하지 않는지 확인합니다. 사용자 정의 제한이 설정되지 않은 경우 docker 의 최대 사용량 임계값은 사용 가능한 총 크기의 90%로 설정됩니다.

인벤토리 파일의 변수를 사용하여 총 백분율 사용량에 대한 임계값 제한을 설정할 수 있습니다(예: max_thinpool_data_usage_percent=90).

또한 Docker의 스토리지에서 지원되는 구성을 사용하고 있는지 확인합니다.

curator, elasticsearch, fluentd, kibana

이 검사 세트는 Curator, Kibana, Elasticsearch 및 Fluentd Pod가 배포되었으며 실행 중이며 제어 호스트와 노출된 Kibana URL 간에 연결을 설정할 수 있는지 확인합니다. 이러한 검사는 클러스터 로깅 이 활성화된 배포에서 실행되도록 openshift_logging_install_logging 인벤토리 변수가 true 로 설정된 경우에만 실행됩니다.

logging_index_time

이 검사는 로깅 스택 배포에서 Elasticsearch를 통해 로그 생성 및 로그 집계 간의 일반 시간 지연보다 더 많은 것을 감지합니다. 시간 초과(기본적으로 30초) 내에 Elasticsearch를 통해 새 로그 항목을 쿼리할 수 없는 경우 실패합니다. 로깅이 활성화된 경우에만 점검이 실행됩니다.

openshift_check_logging_index_timeout_seconds 변수를 전달하여 사용자 정의 타임아웃을 설정할 수 있습니다. 예를 들어, openshift_check_logging_index_timeout_seconds=45 를 설정하면 새로 생성된 로그 항목이 45초 후에 Elasticsearch를 통해 쿼리할 수 없는 경우 점검이 실패합니다.

sdn

이 검사는 OpenShift Container Platform SDN의 다음 클러스터 수준 진단을 수행합니다.

  • 마스터 호스트가 kubelet에 연결할 수 있는지 확인합니다.
  • 노드가 패킷을 서로 라우팅할 수 있는지 확인합니다.
  • 노드 주소의 유효성을 검사합니다.
  • HostSubnet 오브젝트의 유효성을 검사합니다.

ansible-playbook 명령을 사용하여 openshift_checks_output_dir 변수를 지정하는 경우 확인에서 지정된 디렉터리에 있는 로그, OVS 흐름, iptables 규칙 및 기타 네트워크 구성 정보를 비롯하여 OpenShift Container Platform API에서 네트워킹 관련 오브젝트도 저장합니다. 변수를 설정하는 방법에 대한 예는 아래의 ansible-playbook 명령 사용 예제를 참조하십시오.

이 검사는 oc adm diagnostics 명령이 진단 Pod를 예약할 수 없거나 진단 Pod에서 문제를 해결하기 위한 충분한 정보를 제공하지 못하는 경우 Pod 또는 인프라 문제를 진단하는 데 도움이 될 수 있습니다.

참고

설치 프로세스의 일부로 실행되는 유사한 검사 집합은 클러스터 사전 설치 검사 구성에서 확인할 수 있습니다. 인증서 만료를 확인하기 위한 또 다른 검사 집합은 인증서 재배포를 참조하십시오.

40.5.1. ansible-playbook을 통한 상태 점검 실행

ansible -playbook 명령을 사용하여 openshift- ansible 상태 점검을 실행하려면 플레이북 디렉터리로 변경하고 클러스터의 인벤토리 파일을 지정하고 health.yml 플레이북을 실행합니다.

$ cd /usr/share/ansible/openshift-ansible
$ ansible-playbook -i <inventory_file> \
    playbooks/openshift-checks/health.yml

명령줄에서 변수를 설정하려면 원하는 변수가 key=value 형식으로 -e 플래그를 포함합니다. 예를 들면 다음과 같습니다.

$ cd /usr/share/ansible/openshift-ansible
$ ansible-playbook -i <inventory_file> \
    playbooks/openshift-checks/health.yml \
    -e openshift_check_logging_index_timeout_seconds=45 \
    -e etcd_max_image_data_size_bytes=40000000000

특정 검사를 비활성화하려면 플레이북을 실행하기 전에 인벤토리 파일에 쉼표로 구분된 확인 이름 목록을 사용하여 openshift_disable_check 변수를 포함합니다. 예를 들면 다음과 같습니다.

openshift_disable_check=etcd_traffic,etcd_volume

또는 ansible-playbook 명령을 실행할 때 -e openshift_disable_check=<check1>,<check2> 를 사용하여 변수로 비활성화하도록 검사를 설정합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.