Skip to main content
Cloud Insights
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

NetApp Kubernetes 모니터링 운영자를 설치 또는 업그레이드하기 전에

기여자

NetApp Kubernetes 모니터링 운영자를 업그레이드하기 전에 이 정보를 읽어 보십시오

전제 조건:

  • 사용자 지정 또는 프라이빗 Docker 저장소를 사용하는 경우 사용자 지정 또는 프라이빗 Docker 저장소 사용 섹션의 지침을 따릅니다

  • NetApp Kubernetes 모니터링 오퍼레이터 설치는 Kubernetes 버전 1.20 이상에서 지원됩니다.

  • Cloud Insights가 백엔드 스토리지를 모니터링하고 Docker 컨테이너 런타임과 함께 Kubernetes를 사용하는 경우 Cloud Insights는 NFS 및 iSCSI에 대한 POD-PV-스토리지 매핑 및 메트릭을 표시할 수 있고, 다른 런타임에는 NFS만 표시할 수 있습니다.

  • 2022년 8월부터 NetApp Kubernetes Monitoring Operator는 Pod 보안 정책(PSP)을 지원합니다. 환경에서 PSP를 사용하는 경우 최신 NetApp Kubernetes Monitoring Operator로 업그레이드해야 합니다.

  • OpenShift 4.6 이상에서 실행 중인 경우 이러한 전제 조건이 충족되는지 확인하는 것 외에도 아래의 OpenShift 지침을 따라야 합니다.

  • 모니터링은 Linux 노드에만 설치됩니다. Cloud Insights에서는 해당 플랫폼에서 다음 Kubernetes 레이블을 찾는 Kubernetes 노드 선택기를 지정하여 Linux를 실행하는 Kubernetes 노드 모니터링을 지원합니다.

플랫폼

라벨

Kubernetes v1.20 이상

Kubernetes.IO/OS = Linux

Rancher + Cattle.IO를 오케스트레이션/Kubernetes 플랫폼으로 사용

Cattle.io/OS = Linux

  • NetApp Kubernetes Monitoring Operator 및 해당 종속성(Telegraf, kubbe-state-metrics, fluentbit 등)은 Arm64 아키텍처를 실행하는 노드에서 지원되지 않습니다.

  • curl, kubbtl 명령을 사용할 수 있어야 합니다. 옵션 설치 단계에서는 Docker 명령이 필요합니다. 최상의 결과를 얻으려면 이러한 명령을 경로에 추가하십시오. 최소한 에이전트, 클러스터 역할, clusterrolebindings, customresourcedefinitions, Deployments 와 같은 Kubernetes 개체에 대한 액세스 권한으로 kubctl을 구성해야 합니다. 네임스페이스, 역할, rolebindings, 비밀, serviceaccount, 등을 다룹니다. 이러한 최소 클러스터 역할 권한이 있는 YAML 파일의 예는 여기 를 참조하십시오.

  • NetApp Kubernetes 모니터링 운영자 설치에 사용할 호스트는 타겟 K8s 클러스터와 통신하도록 kubtl을 구성하고 Cloud Insights 환경에 인터넷에 연결되어 있어야 합니다.

  • 설치 중에 프록시 뒤에 있거나 모니터링할 K8s 클러스터를 작동하는 경우 프록시 지원 구성 섹션의 지침을 따르십시오.

  • NetApp Kubernetes Monitoring Operator는 다른 인스턴스와 충돌을 피하기 위해 고유한 kube-state-metrics를 설치합니다. 정확한 감사 및 데이터 보고를 위해 NTP(Network Time Protocol) 또는 SNTP(Simple Network Time Protocol)를 사용하여 Agent 시스템의 시간을 동기화하는 것이 좋습니다.

  • Operator를 다시 배포하는 경우(즉, 업데이트 또는 교체 중인 경우) _new_api 토큰을 생성할 필요가 없습니다. 이전 토큰을 다시 사용할 수 있습니다.

  • 또한, 최신 NetApp Kubernetes Monitoring Operator가 설치되어 있고 재생 가능한 API 액세스 토큰을 사용 중인 경우 만료되는 토큰이 자동으로 새/업데이트된 API 액세스 토큰으로 대체됩니다.

  • 네트워크 모니터링:

    • Linux 커널 버전 4.18.0 이상이 필요합니다

    • Photon OS는 지원되지 않습니다.

오퍼레이터 구성

새로운 버전의 연산자에서는 가장 일반적으로 수정된 설정을 _AgentConfiguration_custom 리소스에서 구성할 수 있습니다. 운용자를 배포하기 전에 _operator-config.YAML_file을 편집하여 이 리소스를 편집할 수 있습니다. 이 파일에는 일부 설정의 주석 처리된 예제가 포함되어 있습니다. 의 목록을 참조하십시오 "사용 가능한 설정" 를 참조하십시오.

다음 명령을 사용하여 연산자를 배포한 후에도 이 리소스를 편집할 수 있습니다.

 kubectl -n netapp-monitoring edit AgentConfiguration
배포된 버전의 운영자가 AgentConfiguration을 지원하는지 확인하려면 다음 명령을 실행합니다.
 kubectl get crd agentconfigurations.monitoring.netapp.com
"서버에서 오류 발생(NotFound)" 메시지가 표시되는 경우 AgentConfiguration을 사용하려면 먼저 연산자를 업그레이드해야 합니다.

시작하기 전에 유의해야 할 중요 사항

을(를) 사용하여 실행 중인 경우 프록시, 가 있습니다 사용자 지정 리포지토리또는 을(를) 사용하고 있습니다 OpenShift다음 섹션을 주의 깊게 읽으십시오.

에 대해서도 읽어 보세요 권한.

이전 설치에서 업그레이드하는 경우 를 읽으십시오 업그레이드 중 정보.

프록시 지원을 구성하는 중입니다

NetApp Kubernetes Monitoring Operator를 설치하기 위해 사용자 환경에서 프록시를 사용할 수 있는 두 가지 위치가 있습니다. 이러한 시스템은 동일하거나 별도의 프록시 시스템일 수 있습니다.

  • 설치 코드 조각을 실행하는 동안("curl" 사용) 프록시가 있어야 스니펫이 실행되는 시스템을 Cloud Insights 환경에 연결할 수 있습니다

  • 대상 Kubernetes 클러스터에서 Cloud Insights 환경과 통신하는 데 프록시가 필요합니다

둘 중 하나 또는 둘 모두에 대해 프록시를 사용하는 경우 NetApp Kubernetes 운영 모니터를 설치하려면 먼저 프록시가 Cloud Insights 환경에 대한 올바른 통신을 허용하도록 구성되어 있는지 확인해야 합니다. 예를 들어 운영자를 설치하려는 서버/VM에서 Cloud Insights에 액세스하고 Cloud Insights에서 바이너리를 다운로드할 수 있어야 합니다.

NetApp Kubernetes 운영 모니터를 설치하는 데 사용되는 프록시에 대해 Operator를 설치하기 전에 _http_proxy/https_proxy_environment 변수를 설정하십시오. 일부 프록시 환경에서는 _no_proxy 환경_변수를 설정해야 할 수도 있습니다.

변수를 설정하려면 * NetApp Kubernetes Monitoring Operator를 설치하기 전에 * 시스템에서 다음 단계를 수행하십시오.

  1. 현재 사용자에 대한 _https_proxy_and/or_http_proxy_environment 변수를 설정합니다.

    1. 설정 중인 프록시에 인증(사용자 이름/암호)이 없으면 다음 명령을 실행합니다.

       export https_proxy=<proxy_server>:<proxy_port>
      .. 설정 중인 프록시에 인증(사용자 이름/암호)이 있는 경우 다음 명령을 실행합니다.
      export http_proxy=<proxy_username>:<proxy_password>@<proxy_server>:<proxy_port>

Kubernetes 클러스터가 Cloud Insights 환경과 통신하는 데 사용되는 프록시의 경우 이러한 지침을 모두 읽은 후 NetApp Kubernetes 모니터링 운영자를 설치하십시오.

NetApp Kubernetes Monitoring Operator를 구축하기 전에 operator-config.yAML에서 AgentConfiguration의 프록시 섹션을 구성하십시오.

agent:
  ...
  proxy:
    server: <server for proxy>
    port: <port for proxy>
    username: <username for proxy>
    password: <password for proxy>

    # In the noproxy section, enter a comma-separated list of
    # IP addresses and/or resolvable hostnames that should bypass
    # the proxy
    noproxy: <comma separated list>

    isTelegrafProxyEnabled: true
    isFluentbitProxyEnabled: <true or false> # true if Events Log enabled
    isCollectorsProxyEnabled: <true or false> # true if Network Performance and Map enabled
    isAuProxyEnabled: <true or false> # true if AU enabled
  ...
...

사용자 지정 또는 프라이빗 Docker 저장소 사용

기본적으로 NetApp Kubernetes 모니터링 운영자는 Cloud Insights 저장소에서 컨테이너 이미지를 가져옵니다. 모니터링을 위한 타겟으로 사용되는 Kubernetes 클러스터가 있고 해당 클러스터가 사용자 지정 또는 프라이빗 Docker 저장소 또는 컨테이너 레지스트리에서만 컨테이너 이미지를 풀도록 구성된 경우 NetApp Kubernetes Monitoring Operator가 필요로 하는 컨테이너에 대한 액세스를 구성해야 합니다.

NetApp 모니터링 오퍼레이터 설치 타일에서 "이미지 풀 스니펫"을 실행합니다. 이 명령은 Cloud Insights 리포지토리에 로그인하고 오퍼레이터의 모든 이미지 종속성을 풀한 다음 Cloud Insights 리포지토리에서 로그아웃합니다. 메시지가 표시되면 제공된 리포지토리 임시 암호를 입력합니다. 이 명령은 옵션 기능을 포함하여 오퍼레이터가 사용하는 모든 이미지를 다운로드합니다. 이러한 이미지가 사용되는 기능은 아래를 참조하십시오.

핵심 운영자 기능 및 Kubernetes 모니터링

  • NetApp - 모니터링

  • kubbe-RBAC-proxy입니다

  • Kudbe-state-metrics를 나타냅니다

  • 텔레그라프

  • distroless-root-user.(거리 없는 루트 사용자

이벤트 로그

  • 유창한 비트

  • Kubernetes - 이벤트 - 수출자

네트워크 성능 및 맵

  • CI-NET-관찰자

회사 정책에 따라 운영 Docker 이미지를 프라이빗/로컬/엔터프라이즈 Docker 저장소로 밀어 넣습니다. 리포지토리에서 이러한 이미지에 대한 이미지 태그 및 디렉터리 경로가 Cloud Insights 리포지토리의 이미지 태그 및 디렉터리 경로와 일치하는지 확인합니다.

운영자 배포에서 모니터링 - 운영자 배포를 편집합니다. YAML을 편집하고 모든 이미지 참조를 수정하여 개인 Docker 저장소를 사용하십시오.

image: <docker repo of the enterprise/corp docker repo>/kube-rbac-proxy:<kube-rbac-proxy version>
image: <docker repo of the enterprise/corp docker repo>/netapp-monitoring:<version>

operator-config.yAML에서 AgentConfiguration을 편집하여 새로운 Docker 저장소 위치를 반영하십시오. 개인 리포지토리에 대한 새 imagePullSecret을 만듭니다. 자세한 내용은 https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ 참조하십시오

agent:
  ...
  # An optional docker registry where you want docker images to be pulled from as compared to CI's docker registry
  # Please see documentation link here: https://docs.netapp.com/us-en/cloudinsights/task_config_telegraf_agent_k8s.html#using-a-custom-or-private-docker-repository
  dockerRepo: your.docker.repo/long/path/to/test
  # Optional: A docker image pull secret that maybe needed for your private docker registry
  dockerImagePullSecret: docker-secret-name

OpenShift 지침

OpenShift 4.6 이상에서 실행 중인 경우 _operator-config.yAML_에서 AgentConfiguration을 편집하여 _Privileged_setting을 활성화해야 합니다.

# Set runPrivileged to true SELinux is enabled on your kubernetes nodes
runPrivileged: true

OpenShift는 일부 Kubernetes 구성 요소에 대한 액세스를 차단할 수 있는 수준 높은 보안을 구현할 수 있습니다.

권한

모니터링 중인 클러스터에 ClusterRole이 없는 사용자 지정 리소스가 포함되어 있는 경우 "보려는 애그리게이트", 이벤트 로그로 이러한 리소스를 모니터링하려면 운영자에게 수동으로 이러한 리소스에 대한 액세스 권한을 부여해야 합니다.

  1. edit_operator-additional-permissions.yaml_를 설치하기 전이나 설치 후 resource_ClusterRole/<namespace>-additional-permissions_를 편집합니다

  2. 동사 ["get", "watch", "list"]를 사용하여 원하는 apiGroups 및 리소스에 대한 새 규칙을 만듭니다. https://kubernetes.io/docs/reference/access-authn-authz/rbac/ 를 참조하십시오

  3. 변경 사항을 클러스터에 적용합니다

톨레러스와 얼룩을 볼 수 있습니다

NetApp-CI-Telegraf-DS_,netapp-ci-fluent-bit-DS 및_netapp-ci-net-observer-L4-DS_Demets는 모든 노드에서 데이터를 올바르게 수집하기 위해 클러스터의 모든 노드에 Pod를 예약해야 합니다. 운용자는 잘 알려진 일부 * 얼룩을 견딜 수 있도록 구성되었습니다. 노드에서 사용자 지정 얼룩을 구성하여 모든 노드에서 Pod가 실행되지 않도록 하는 경우 이러한 얼룩에 대해 * 공차 * 를 생성할 수 있습니다 "상담원 구성 _ 에서". 클러스터의 모든 노드에 사용자 지정 얼룩을 적용한 경우 운영자 포드를 예약 및 실행할 수 있도록 운영자 구축에 필요한 허용 오차도 추가해야 합니다.

Kubernetes에 대해 자세히 알아보십시오 "오염과 내약입니다".