VHM 및 Kubernetes

가상 호스트 관리자(VHM)을 사용하여 Kubernetes 클러스터를 관리할 수 있습니다.

VHM을 통해 SUSE Manager는 클러스터에 대한 정보를 획득하고 보고할 수 있습니다. VHM에 대한 자세한 내용은 가상 호스트 관리자을 참조하십시오.

SUSE Manager를 Kubernetes와 함께 사용하려면 컨테이너 관리를 위해 SUSE Manager를 구성해야 합니다. 이와 함께 필요한 채널이 모두 있어야 하고 등록된 컨테이너 빌드 호스트를 사용할 수 있어야 합니다.

또한 다음 항목이 필요합니다.

  • 네트워크에서 사용할 수 있는 최소 한 개의 Kubernetes 클러스터

  • SUSE Manager 서버에 설치된 virtual-host-gatherer-Kubernetes 패키지

  • Kubernetes 버전 1.5.0 이상.

  • 컨테이너 빌드 호스트의 Docker 버전 1.12 이상

1. Kubernetes VHM 생성

Kubernetes 클러스터는 SUSE Manager에서 VHM으로 등록됩니다.

Kubernetes 클러스터를 등록하고 인증하려면 kubeconfig 파일이 필요합니다. Kubernetes 명령줄 도구인 kubectl을 사용해 kubeconfig 파일을 얻을 수 있습니다.

절차: Kubernetes VHM 생성
  1. SUSE Manager Web UI에서 시스템  가상 호스트 관리자로 이동합니다.

  2. 생성을 클릭하고 Kubernetes 클러스터를 선택합니다.

  3. Kubernetes 가상 호스트 관리자 추가 섹션에서 다음과 같은 파라미터를 사용합니다.

    • 레이블 필드에 VHM의 사용자 정의 이름을 입력합니다.

    • Kubernetes 클러스터에 대한 필수 데이터를 포함하는 kubeconfig 파일을 선택합니다.

  4. context 필드에서 클러스터에 적절한 컨텍스트를 선택합니다. kubeconfig 파일에 지정되어 있습니다.

  5. 생성을 클릭합니다.

절차: 클러스터의 노드 보기
  1. SUSE Manager Web UI에서 시스템  가상 호스트 관리자로 이동합니다.

  2. Kubernetes 클러스터를 선택합니다.

  3. 데이터 새로 고침 일정 잡기를 클릭하여 노드 데이터를 새로 고침합니다.

노드 데이터가 업데이트되는 데 약간의 시간이 걸릴 수 있습니다. 업데이트된 정보를 보려면 브라우저 창을 새로 고침해야 할 수 있습니다.

모든 연결 또는 인증 문제는 gatherer.log에 로깅됩니다.

등록 중에는 노드 데이터가 새로 고침되지 않습니다. 데이터는 수동으로 새로 고침해야 볼 수 있습니다.

2. 이미지 런타임 데이터 검색

SUSE Manager Web UI에서 이미지  이미지 목록으로 이동하여 Kubernetes 이미지에 대한 런타임 데이터를 볼 수 있습니다.

이미지 목록 표에는 다음 세 가지 열이 포함되어 있습니다.

  • 리비전:

    SUSE Manager이(가) 빌드한 이미지에 대한 모든 리빌드 또는 외부적으로 빌드되는 이미지에 대한 각 임포트에서 하나씩 증가하는 시퀀스 번호

  • 런타임:

    등록한 클러스터의 각 이미지에 대해 실행 중인 인스턴스의 전반적인 상태

  • 인스턴스:

    SUSE Manager에 등록된 모든 클러스터에 걸쳐 이 이미지를 실행하는 인스턴스의 수 숫자 옆의 팝업 아이콘을 클릭하면 숫자를 상세히 확인할 수 있습니다.

런타임 열에는 다음 상태 메시지 중 하나가 표시됩니다.

  • 모든 인스턴스가 SUSE Manager와 일치:

    실행 중인 모든 인스턴스는 SUSE Manager가 추적하는 이미지의 빌드와 동일한 빌드를 실행 중입니다.

  • 오래된 인스턴스가 발견됨:

    일부 인스턴스는 이미지의 이전 빌드를 실행 중입니다. 이미지를 다시 배포해야 할 수 있습니다.

  • 정보 없음:

    인스턴스 이미지의 체크섬은 SUSE Manager에 포함된 이미지 데이터와 일치하지 않습니다. 이미지를 다시 배포해야 할 수 있습니다.

절차: 이미지 빌드
  1. SUSE Manager Web UI에서 이미지  저장소로 이동합니다.

  2. 생성을 클릭하여 이미지 저장소를 생성합니다.

  3. 이미지  프로파일로 이동합니다.

  4. 생성을 클릭하여 이미지 프로파일을 생성합니다. Kubernetes에 배포하는 데 적합한 Dockerfile을 사용해야 합니다.

  5. 이미지  빌드로 이동하여 새 프로파일이 포함된 이미지를 빌드합니다.

  6. 등록한 Kubernetes 클러스터 중 하나로 이미지를 배포합니다. 이 작업은 kubectl 도구로 할 수 있습니다.

업데이트된 데이터는 이제 이미지  이미지 목록의 이미지 목록에서 사용할 수 있어야 합니다.

절차: 이전에 배포된 이미지 임포트
  1. SUSE Manager Web UI에서 이미지  이미지 저장소로 이동합니다.

  2. 임포트하려는 이미지를 소유한 레지스트리를 추가합니다(아직 없는 경우).

  3. 이미지  이미지 목록으로 이동하여 임포트를 클릭합니다.

  4. 필드를 완성하고, 생성한 이미지 저장소를 선택하고, 임포트를 클릭합니다.

임포트한 이미지는 이제 이미지  이미지 목록의 이미지 목록에서 사용할 수 있어야 합니다.

절차: 이전에 배포된 이미지 다시 빌드
  1. SUSE Manager Web UI에서 이미지  이미지 목록으로 이동하여 다시 빌드하려는 이미지가 포함된 행을 찾아 상세 정보를 클릭합니다.

  2. 빌드 상태 섹션으로 이동하여 다시 빌드를 클릭합니다. 다시 빌드하는 작업을 완료하는 데 시간이 다소 걸릴 수 있습니다.

다시 빌드하는 작업이 완료되면 이미지  이미지 목록의 이미지 목록에서 이미지의 런타임 상태가 업데이트됩니다. 이를 통해 인스턴스가 이미지의 이전 빌드를 실행 중임을 알 수 있습니다.

이미지가 원래 SUSE Manager로 빌드된 경우에만 이미지를 다시 빌드할 수 있습니다. 임포트한 이미지는 다시 빌드할 수 없습니다.

절차: 추가 런타임 데이터 검색
  1. SUSE Manager Web UI에서 이미지  이미지 목록으로 이동하여 실행 중인 인스턴스가 포함된 행을 찾아 상세 정보를 클릭합니다.

  2. 개요 탭으로 이동합니다. 이미지 정보 섹션의 런타임인스턴스 필드에 데이터가 있습니다.

  3. 런타임 탭으로 이동합니다. 이 섹션에는 등록한 모든 클러스터에서 이 이미지를 실행하는 Kubernetes Pod에 대한 정보가 포함되어 있습니다. 이 섹션의 정보는 다음 사항을 포함합니다.

    • Pod 이름

    • Pod가 상주하는 네임스페이스

    • 특정 Pod에 있는 컨테이너의 런타임 상태

3. 권한 및 인증서

kubeconfig 파일은 모든 내장 인증서 데이터를 포함하는 경우에만 SUSE Manager에서 사용할 수 있습니다.

SUSE Manager에서 실행하는 API 호출은 다음과 같습니다.

  • GET /api/v1/pods

  • GET /api/v1/nodes

SUSE Manager에 대해 권장되는 최소 권한은 다음과 같습니다.

  • 모든 노드를 나열할 수 있는 ClusterRole:

    resources: ["nodes"]
    verbs: ["list"]
  • 모든 네임스페이스에서 Pod를 나열할 수 있는 ClusterRole(역할 바인딩이 네임스페이스를 제한해서는 안 됨):

    리소스: [\pods\]
    verbs: [\list\]

/pods가 403 응답을 반환하면 SUSE Manager가 전체 클러스터를 무시합니다.

RBAC 인증 작업에 대한 자세한 내용은 https://kubernetes.io/docs/admin/authorization/rbac/를 참조하십시오.