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

Google Cloud의 Kubernetes 클러스터 요구사항

기여자

Cloud Manager를 사용하여 Google에서 관리되는 GKE(Google Kubernetes Engine) 클러스터와 자체 관리 Kubernetes 클러스터를 추가하고 관리할 수 있습니다. 클러스터를 Cloud Manager에 추가하려면 먼저 다음 요구사항을 충족해야 합니다.

참고 이 항목에서는 _Kubernetes cluster_를 사용합니다. 여기서 구성은 GKE 및 자체 관리되는 Kubernetes 클러스터의 경우 동일합니다. 클러스터 유형은 구성이 다른 곳에서 지정됩니다.

요구 사항

아스트라 트리덴트

Astra Trident의 최신 버전 4개 중 하나가 필요합니다. Cloud Manager에서 Astra Trident를 직접 설치할 수 있습니다. 당신은 해야 한다 "사전 요구 사항을 검토합니다" Astra Trident를 설치하기 전

Astra Trident를 업그레이드하려면 "운영자와 함께 업그레이드하십시오".

Cloud Volumes ONTAP

Cloud Volumes ONTAP는 Kubernetes 클러스터와 동일한 테넌시 계정, 작업 공간 및 커넥터 아래의 Cloud Manager에 있어야 합니다. "구성 단계를 보려면 Astra Trident 문서로 이동합니다".

Cloud Manager 커넥터

Connector는 필요한 권한으로 Google에서 실행 중이어야 합니다. 아래에서 자세히 알아보십시오.

네트워크 연결

Kubernetes 클러스터와 Connector 간, Kubernetes 클러스터와 Cloud Volumes ONTAP 사이에 네트워크 연결이 필요합니다. 아래에서 자세히 알아보십시오.

RBAC 인증

Cloud Manager는 Active Directory를 사용 또는 사용하지 않는 RBAC 지원 클러스터를 지원합니다. Cloud Manager Connector 역할은 각 GKE 클러스터에서 권한이 부여되어야 합니다. 아래에서 자세히 알아보십시오.

커넥터를 준비합니다

Kubernetes 클러스터를 검색 및 관리하려면 Google의 Cloud Manager Connector가 필요합니다. 새 Connector를 만들거나 필요한 권한이 있는 기존 Connector를 사용해야 합니다.

새 커넥터를 작성합니다

아래 링크 중 하나에 있는 단계를 따르십시오.

기존 Connector에 필요한 사용 권한 추가(관리되는 GKE 클러스터 검색)

관리되는 GKE 클러스터를 검색하려면 Connector의 사용자 지정 역할을 수정하여 권한을 제공해야 할 수 있습니다.

단계
  1. 인치 "클라우드 콘솔"에서 * 역할 * 페이지로 이동합니다.

  2. 페이지 맨 위에 있는 드롭다운 목록을 사용하여 편집할 역할이 포함된 프로젝트나 조직을 선택합니다.

  3. 사용자 지정 역할을 클릭합니다.

  4. 역할 편집 * 을 클릭하여 역할의 권한을 업데이트합니다.

  5. 역할에 다음과 같은 새 권한을 추가하려면 * 권한 추가 * 를 클릭합니다.

    container.clusters.get
    container.clusters.list
  6. Update * 를 클릭하여 편집된 역할을 저장합니다.

네트워킹 요구 사항을 검토합니다

Kubernetes 클러스터와 Connector 간, Kubernetes 클러스터와 클러스터에 백엔드 스토리지를 제공하는 Cloud Volumes ONTAP 시스템 간에 네트워크 연결을 제공해야 합니다.

  • 각 Kubernetes 클러스터에는 Connector로부터 인바운드 연결이 있어야 합니다

  • Connector는 포트 443을 통해 각 Kubernetes 클러스터에 대한 아웃바운드 연결을 가지고 있어야 합니다

이 연결을 제공하는 가장 간단한 방법은 Kubernetes 클러스터와 같은 VPC에 Connector와 Cloud Volumes ONTAP를 구축하는 것입니다. 그렇지 않으면 다른 VPC 간에 피어링 연결을 설정해야 합니다.

다음은 동일한 VPC의 각 구성 요소를 보여 주는 예입니다.

AKS Kubernetes 클러스터 및 동일한 VPC의 커넥터 및 Cloud Volumes ONTAP에 대한 연결 아키텍처의 다이어그램

RBAC 승인을 설정합니다

RBAC 검증은 AD(Active Directory)가 활성화된 Kubernetes 클러스터에서만 실행됩니다. AD를 사용하지 않는 Kubernetes 클러스터는 검증을 자동으로 통과합니다.

Connector가 클러스터를 검색 및 관리할 수 있도록 각 Kubernetes 클러스터에서 커넥터 역할을 승인해야 합니다.

백업 및 복원

백업 및 복원에는 기본 인증만 필요합니다.

스토리지 클래스를 추가합니다

Cloud Manager를 사용하여 스토리지 클래스를 추가하고 클러스터에서 백엔드의 변경 사항을 모니터링하려면 확장된 인증이 필요합니다.

Astra 트리덴트 설치

Astra Trident를 설치하려면 Cloud Manager에 대한 전체 인증을 제공해야 합니다.

참고 Astra Trident를 설치할 때 Cloud Manager는 Astra Trident와 스토리지 클러스터와 통신하는 데 필요한 자격 증명이 포함된 Astra Trident 백엔드 및 Kubernetes 암호를 설치합니다.

YAML 파일에서 ''subjects:name:''을(를) 구성하려면 Cloud Manager의 고유 ID를 알아야 합니다.

고유 ID는 다음 두 가지 방법 중 하나로 찾을 수 있습니다.

  • 명령 사용:

    gcloud iam service-accounts list
    gcloud iam service-accounts describe <service-account-email>
  • 의 서비스 계정 세부 정보 를 클릭합니다 "클라우드 콘솔".

    Cloud Console의 서비스 계정 세부 정보 스크린샷

클러스터 역할 및 역할 바인딩을 생성합니다.

  1. 귀하의 승인 요구 사항에 따라 다음 텍스트가 포함된 YAML 파일을 생성합니다. 'Subjects:kind:' 변수를 사용자 이름으로 바꾸고 'Subjects:user:'를 인증된 서비스 계정의 고유 ID로 바꿉니다.

    백업/복원

    Kubernetes 클러스터의 백업 및 복원을 위한 기본 인증을 추가하십시오.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
        name: cloudmanager-access-clusterrole
    rules:
        - apiGroups:
              - ''
          resources:
              - namespaces
          verbs:
              - list
              - watch
        - apiGroups:
              - ''
          resources:
              - persistentvolumes
          verbs:
              - list
              - watch
        - apiGroups:
              - ''
          resources:
              - pods
              - pods/exec
          verbs:
              - get
              - list
              - watch
        - apiGroups:
              - ''
          resources:
              - persistentvolumeclaims
          verbs:
              - list
              - create
              - watch
        - apiGroups:
              - storage.k8s.io
          resources:
              - storageclasses
          verbs:
              - list
        - apiGroups:
              - trident.netapp.io
          resources:
              - tridentbackends
          verbs:
              - list
              - watch
        - apiGroups:
              - trident.netapp.io
          resources:
              - tridentorchestrators
          verbs:
              - get
              - watch
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
        name: k8s-access-binding
    subjects:
        - kind: User
          name:
          apiGroup: rbac.authorization.k8s.io
    roleRef:
        kind: ClusterRole
        name: cloudmanager-access-clusterrole
        apiGroup: rbac.authorization.k8s.io
    스토리지 클래스

    Cloud Manager를 사용하여 스토리지 클래스를 추가하려면 확장 인증을 추가합니다.

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
        name: cloudmanager-access-clusterrole
    rules:
        - apiGroups:
              - ''
          resources:
              - secrets
              - namespaces
              - persistentvolumeclaims
              - persistentvolumes
              - pods
              - pods/exec
          verbs:
              - get
              - list
              - watch
              - create
              - delete
              - watch
        - apiGroups:
              - storage.k8s.io
          resources:
              - storageclasses
          verbs:
              - get
              - create
              - list
              - watch
              - delete
              - patch
        - apiGroups:
              - trident.netapp.io
          resources:
              - tridentbackends
              - tridentorchestrators
              - tridentbackendconfigs
          verbs:
              - get
              - list
              - watch
              - create
              - delete
              - watch
    ---
    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
        name: k8s-access-binding
    subjects:
        - kind: User
          name:
          apiGroup: rbac.authorization.k8s.io
    roleRef:
        kind: ClusterRole
        name: cloudmanager-access-clusterrole
        apiGroup: rbac.authorization.k8s.io
    Trident를 설치합니다

    명령줄을 사용하여 전체 인증을 제공하고 Cloud Manager에서 Astra Trident를 설치할 수 있도록 합니다.

    kubectl create clusterrolebinding test --clusterrole cluster-admin --user <Unique ID>
  2. 클러스터에 구성을 적용합니다.

    kubectl apply -f <file-name>