Fleet 수준 기능 관리

Fleet을 사용하면 여러 클러스터에서 엔터프라이즈 및 기타 Fleet 지원 기능을 동시에 관리할 수 있습니다. 예를 들어 일반적인 정책 집합을 적용하거나 클러스터 Fleet 전반에서 단일 서비스 메시를 만들 수 있습니다. 이 페이지에서는 Fleet의 기능을 관리하는 방법에 대해 간략히 설명합니다. 개별 기능을 구성하고 사용하는 방법은 해당 문서를 참조하세요.

Google Kubernetes Engine(GKE) Enterprise 버전을 사용 설정한 경우 Google Cloud 콘솔에서 기능을 관리할 수 있습니다. 모든 Fleet 사용자가 명령줄을 사용하여 기능을 관리할 수 있습니다.

일부 기능을 사용하면 Fleet 클러스터에 대해 Fleet 수준의 기본 기능 구성을 만들 수 있습니다. 예를 들어 Fleet에서 만드는 모든 클러스터에 정책 컨트롤러가 설치되고 구성되었는지 확인할 수 있습니다. Fleet 수준의 기본 구성은 GKE Enterprise를 사용 설정한 사용자에게만 제공됩니다.

기능 승인 섹션에서 클러스터의 Fleet 수준 기능 관리가 "내부에서" 작동하는 방식에 대해 자세히 알아보세요.

Fleet 수준 기능

Fleet 수준에서 다음 기능을 관리할 수 있습니다.

이 목록에 Fleet을 사용하거나 필요로 하는 모든 기능이 포함되어 있지는 않습니다. 예를 들어 Fleet 워크로드 아이덴티티 제휴는 Fleet의 구성원인 클러스터를 사용하지만 Fleet 수준의 구성이 필요하지 않으며 Anthos Service Mesh를 사용하려면 모든 제어 영역과 설정 옵션에 Fleet 멤버십이 필요합니다.

GKE Enterprise를 사용 설정한 경우 추가 비용 없이 이러한 모든 기능을 사용할 수 있습니다. GKE 표준 등급을 사용하는 경우 이러한 기능 중 일부를 개별적으로 사용하고 비용을 지불할 수 있습니다. 어떤 환경에서 어떤 기능을 사용할 수 있는지에 대한 자세한 내용은 배포 옵션 페이지를 참조하세요.

Fleet 수준 기능 설정

다음 섹션에서는 Fleet 수준 기능을 사용 설정하고 구성하는 방법을 설명합니다.

Fleet 수준 기능을 사용하려면 대부분의 경우 Fleet에 이 기능을 사용 설정하고 Fleet 구성원에 대해 구성합니다. 일부 구성(또는 추가 설정)은 일반적으로 클러스터 및 워크로드에서 이 기능을 실제로 사용하기 위해 필요합니다.

GKE Enterprise를 사용 설정한 경우 일부 기능에 Fleet 기본 클러스터 구성을 만들 수 있습니다. 즉, Fleet에서 만드는 모든 새 클러스터는 해당 기능에 대해 이미 구성된 설정으로 생성됩니다. 다른 기능의 경우 또는 엔터프라이즈 등급을 사용하지 않는 경우 개별 클러스터에서 기능을 구성해야 합니다.

Fleet 수준 기본값으로 기능 사용 설정

GKE Enterprise를 사용하면 일부 기능에 대해 GKE 클러스터의 Fleet 수준 기본 설정을 만들 수 있습니다. 이러한 설정을 만든 후에는 클러스터 생성 중 등록하는 GKE 클러스터가 Fleet 수준 구성으로 자동으로 구성됩니다. 예를 들어 정책 컨트롤러의 기본값을 설정하면 Fleet에서 만드는 각 새 클러스터에는 지정된 정책 번들 및 기타 설정이 포함된 지정된 버전의 정책 컨트롤러가 설치됩니다. Google Cloud 콘솔을 사용하여 기존 클러스터를 기본 설정으로 동기화할 수는 있지만 Fleet 기본 설정은 기존 Fleet 구성원 클러스터에 자동으로 적용되지 않습니다.

Fleet 수준 기본값으로 기능을 사용 설정하는 일반적인 절차는 다음과 같습니다.

콘솔

  1. Fleet 호스트 프로젝트에서 기능 관리자 페이지로 이동합니다.

    기능 관리자로 이동

    Google Cloud 콘솔을 사용하여 Fleet 수준 기본값 구성을 지원하는 기능은 Fleet 수준 기능 관리에 나열됩니다.

  2. 선택한 기능에 대해 구성을 클릭하고 안내에 따라 기능의 기본값을 사용 설정하고 구성합니다.

  3. 선택사항: Fleet의 기존 클러스터를 선택하고 새 설정으로 동기화합니다.

gcloud

  1. 기능에 대해 선택한 Fleet 기본값을 지정하는 YAML 파일을 만듭니다.
  2. 기능에 대한 enable 명령어를 실행하여 구성 파일을 전달합니다. 각 Fleet 수준 기능에는 고유한 enable 명령어가 있습니다. 예를 들어 mesh.yaml에 지정된 기본 구성으로 Fleet에 Anthos Service Mesh를 사용 설정하려면 Fleet 호스트 프로젝트에서 다음 명령어를 실행합니다.

    gcloud container fleet mesh enable --fleet-default-member-config mesh.yaml
    

또는 일부 기능의 경우 fleet create 또는 fleet update 명령어의 매개변수를 사용해서 Fleet 기본값을 지정할 수 있습니다. 자세한 내용은 선택한 기능에 대한 가이드를 참조하세요.

Terraform

선택한 Fleet 기본값을 지정하는 fleet_default_member_config 블록으로 google_gke_hub_feature 리소스를 정의합니다. 자세한 내용과 지원되는 Fleet 기능은 Terraform 문서를 참조하세요.

일부 기능은 이러한 옵션을 모두 사용하는 Fleet 기본 구성을 지원하지 않습니다. 지원되는 각 기능에 대해 Fleet 기본값을 설정하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.

개별 클러스터에서 Fleet 기능 사용 설정 및 구성

Fleet 기본 구성 대신 개별 클러스터에서 Fleet 기능을 개별적으로 구성할 수 있습니다. 다음과 같은 경우 이 옵션을 사용하는 것이 좋습니다.

  • GKE Enterprise가 사용 설정되어 있지 않습니다.
  • 기능을 사용하도록 기존 클러스터를 구성하려고 합니다.
  • Fleet 기본 구성을 사용할 수 없거나 선택한 도구로 사용할 수 없는 서비스를 사용하려고 합니다.

기능 사용 설정

이 단계가 모든 기능에 필요한 것은 아닙니다. 자세한 내용은 선택한 기능에 대한 가이드를 참조하세요.

콘솔

GKE Enterprise를 사용 설정했으면 Google Cloud 콘솔의 기능 관리자 페이지에서 기능을 사용 설정할 수 있습니다.

Fleet에 기능을 사용 설정하려면 다음 안내를 따르세요.

  1. Fleet 호스트 프로젝트에서 기능 관리자 페이지로 이동합니다.

    기능 관리자로 이동

    이 페이지에서 사용 설정할 수 있지만 구성되지 않은 기능은 기타 엔터프라이즈 지원 기능 관리 아래에 나열됩니다.

  2. 사용 설정하려는 기능의 패널에서 사용 설정을 클릭합니다.

  3. 표시되는 세부정보 패널에서 사용 설정... 버튼을 클릭합니다.

gcloud

각 Fleet 수준 기능에는 고유한 enable 명령어가 있습니다. 예를 들어 Fleet에 GKE ID 서비스를 사용 설정하려면 Fleet 호스트 프로젝트에서 다음 명령어를 실행하세요.

gcloud container fleet identity-service enable

자세한 내용은 Google Cloud SDK 참조 문서(및 베타알파 상응 문서)에서 전체 명령어 목록 또는 개별 기능 문서 집합을 참조하세요.

기능이 이미 사용 설정되었는지 확인하고 다른 기능 상태를 확인하는 방법은 Fleet 기능 상태 보기를 참조하세요.

개별 클러스터 구성

구성 단계는 기능에 따라 달라집니다. 자세한 내용은 다음 가이드를 참조하세요.

Fleet 기능 상태 보기

GKE Enterprise를 사용 설정한 경우 Google Cloud 콘솔에서 기능 관리자 대시보드를 사용하는 것이 Fleet 기능 상태를 확인하는 가장 쉬운 방법입니다.

기능 관리자로 이동

지원되는 기능의 경우 이 페이지에는 다음 상태의 Fleet 클러스터 수가 표시됩니다.

  • 이 기능이 사용 설정됨
  • 이 기능이 성공적으로 사용 설정됨
  • 이 기능에 대한 경고가 있음
  • 이 기능에 대한 오류가 있음

또한 해당 기능에 대해 Fleet 기본 설정이 구성되었는지 여부와 이러한 설정이 포함된 Fleet 구성원 클러스터 수를 확인할 수 있습니다. 사용 설정된 기능의 경우 해당 기능을 사용하여 클러스터를 나열하는 세부정보 페이지로 이동할 수 있으며, 구성된 경우 클러스터를 선택하고 Fleet 기본 설정에 동기화할 수 있습니다.

이 페이지를 사용하여 구성할 수 없는 기능(기타 엔터프라이즈 지원 기능 관리 아래에 표시됨)의 경우 Fleet에 이 기능이 사용 설정되어 있는지 확인하고 이 기능이 설치된 클러스터 수 및 기타 관련 정보를 보여주는 세부정보 패널을 볼 수 있습니다.

gcloud를 사용하여 기능 상태 보기

gcloud

다음 명령어를 실행하여 사용 설정된 모든 기능을 나열하세요.

gcloud container fleet features list

Fleet 수준 기능 사용 중지

Fleet 수준에서 기능을 사용 중지하려면 Fleet 호스트 프로젝트에서 다음을 수행하세요.

콘솔

기타 엔터프라이즈 지원 기능 관리에 나열된 Fleet 기능만 Google Cloud 콘솔에서 사용 중지할 수 있습니다.

  1. Fleet 호스트 프로젝트에서 기능 관리자 페이지로 이동합니다.

    기능 관리자로 이동

  2. 사용 중지하려는 기능의 패널에서 세부정보를 클릭합니다.

  3. 표시되는 세부정보 패널에서 사용 중지... 버튼을 클릭합니다.

gcloud

각 Fleet 수준 기능에는 고유한 disable 명령어가 있습니다. 예를 들어 Fleet에 대해 Anthos Service Mesh를 사용 중지하려면 Fleet 호스트 프로젝트에서 다음 명령어를 실행하세요.

gcloud container fleet mesh disable

자세한 내용은 Google Cloud SDK 참조 문서(및 베타알파 상응 문서)에서 전체 명령어 목록 또는 개별 기능 문서 집합을 참조하세요.

Fleet에 대해 기능을 사용 중지한 후 예상되는 동작을 보려면 관련 기능 문서를 참조하세요. 대부분의 경우 관련 구성이 클러스터에 계속 유지되지만 더 이상 Fleet 명령어 또는 Google Cloud 콘솔을 사용하여 기능을 중앙에서 관리할 수 없습니다.

기능 승인

Fleet 수준에서 기능을 관리하려면 클러스터에서 기능을 수행하도록 역할 기반 액세스 제어를 통해 승인되어야 합니다. Google Cloud는 기능 승인자라는 서비스를 사용합니다. 이 서비스는 Fleet 지원 기능에 대한 권한을 자동으로 설정하고 업데이트하므로 특히 Google에서 기능 업데이트를 출시할 때 모든 클러스터에 수동으로 기능 권한을 설정할 필요가 없습니다.

클러스터를 등록하면 클러스터에 적용된 매니페스트에는 클러스터에서 기능 승인자에게 cluster-admin 역할을 부여하는 ClusterRoleBinding이 포함되고 역할은 service-project-number@gcp-sa-gkehub.iam.gserviceaccount.com이라는 서비스 계정에 연결됩니다.

프로젝트에서 Fleet 지원 기능을 사용 중지하면 기능 승인자가 해당 기능에 해당하는 ClusterRoleClusterRoleBinding을 삭제하여 클러스터에서 이 기능이 작동하지 않게 됩니다.

감사 로그에서 기능 승인자 보기

GKE 감사 로그에서 기능 승인자 활동을 보려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 로그 탐색기를 엽니다.

    로그 페이지로 이동

  2. 다음 고급 쿼리를 실행합니다.

    resource.type="k8s_cluster"
    resource.labels.cluster_name="CLUSTER_NAME"
    resource.labels.location="CLUSTER_LOCATION"
    protoPayload.authenticationInfo.principalEmail="system:serviceaccount:gke-connect:connect-agent-sa"
    protoPayload.authenticationInfo.authoritySelector="service-PROJECT_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com"
    

    다음을 바꿉니다.

    • CLUSTER_NAME: 로그를 보려는 클러스터 이름입니다.
    • CLUSTER_LOCATION: 클러스터가 생성된 Google Cloud 위치입니다.
    • PROJECT_NUMBER: 클러스터를 소유하는 프로젝트의 Google Cloud 프로젝트 번호입니다.

비GKE 클러스터의 경우 Kubernetes 감사 로그가 저장된 위치를 찾고 유사한 쿼리를 실행합니다.