관리자 클러스터에 대해 준비된 사용자 인증 정보 구성

이 문서에서는 Google Distributed Cloud에서 관리자 클러스터에 대해 준비된 사용자 인증 정보를 구성하는 방법을 보여줍니다.

준비된 사용자 인증 정보가 있으면 관리자 클러스터의 보안 비밀에 관리자 클러스터의 사용자 인증 정보를 저장할 수 있습니다. 이렇게 하면 비밀번호 및 서비스 계정 키를 관리자 워크스테이션에 보관할 필요가 없으므로 하나의 보안 요소가 제공됩니다.

절차 개요

  1. 보안 비밀 구성 파일을 작성합니다.

  2. 관리자 클러스터 구성 파일에서 enabled를 true로 설정합니다.

  3. gkectl prepare 실행

  4. 관리자 클러스터를 만듭니다.

보안 비밀 구성 파일 작성

보안 비밀 구성 파일의 템플릿을 생성합니다.

gkectl create-config secrets

위 명령어는 secrets.yaml이라는 파일을 생성합니다. 원하는 경우 이 파일의 이름과 위치를 변경할 수 있습니다.

보안 비밀 구성 파일 문서를 살펴보고 구성 파일을 숙지합니다. 이 문서를 개별 탭 또는 창으로 열어 두는 것이 좋습니다.

다음은 보안 비밀 구성 파일의 예시입니다. 하나의 보안 비밀 그룹에는 vCenter 사용자 인증 정보에 대한 값과 4개의 서비스 계정 키가 있습니다.

apiVersion: v1
kind: ClusterSecrets
secretGroups:
- secrets
  vCenter:
    username: "my-vcenter-account"
      password: "U$icUKEW#INE"
    componentAccessServiceAccount:
      serviceAccountKeyPath: "my-key-folder/component-access-key.json"
    registerServiceAccount:
      serviceAccountKeyPath: "my-key-folder/connect-register-key.json"
    stackdriverServiceAccount:
      serviceAccountKeyPath: "my-key-folder/log-mon-key.json"
    cloudAuditLoggingServiceAccount:
      serviceAccountKeyPath: "my-key-folder/audit-log-key.json"

관리자 클러스터 구성 파일

관리자 클러스터 만들기에 설명된 대로 관리자 클러스터 구성 파일을 만듭니다.

관리자 클러스터 구성 파일에서 preparedSecrets.enabledtrue로 설정합니다.

preparedsecrets:
  enabled: true

관리자 클러스터 구성 파일에 다음 필드의 값을 지정하지 마세요. Google Distributed Cloud가 준비된 보안 비밀에서 사용자 인증 정보 및 키를 가져오므로 이러한 필드가 필요하지 않습니다.

  • vCenter.credentials.fileRef.path
  • componentAccessServiceAccountKeyPath
  • loadBalancer.f5BigIP.credentials.fileRef.path
  • gkeConnect.registerServiceAccountKeyPath
  • stackdriver.serviceAccountKeyPath
  • cloudAuditLogging.serviceAccountKeyPath
  • privateRegistry.credentials.fileRef.path

환경 초기화

OS 이미지를 vSphere로 가져오고 컨테이너 이미지를 비공개 레지스트리(지정된 경우)로 푸시합니다.

gkectl prepare --config ADMIN_CLUSTER_CONFIG --secret-config SECRETS_CONFIG

다음을 바꿉니다.

  • ADMIN_CLUSTER_CONFIG: 관리자 클러스터 구성 파일의 경로입니다.

  • SECRETS_CONFIG: 보안 비밀 구성 파일의 경로입니다.

관리자 클러스터 만들기

관리자 클러스터를 만듭니다.

gkectl create admin --config ADMIN_CLUSTER_CONFIG --secret-config SECRETS_CONFIG

다음을 바꿉니다.

  • ADMIN_CLUSTER_CONFIG: 관리자 클러스터 구성 파일의 경로입니다.

  • SECRETS_CONFIG: 보안 비밀 구성 파일의 경로입니다.

사용자 인증 정보 순환

사용자 인증 정보를 순환하려면 보안 비밀 구성 파일이 필요합니다. 다음과 같은 두 가지 방법을 사용할 수 있습니다.

  • gkectl create-config secrets를 실행하여 새 보안 비밀 구성 파일을 생성합니다. 새 서비스 계정 키로 파일을 작성합니다.

  • 관리자 클러스터에서 보안 비밀 구성 파일을 생성합니다. 그런 다음 선택한 서비스 계정 키를 새 키로 바꿉니다.

    관리자 클러스터에서 보안 비밀 구성 파일을 생성하려면 다음 명령어를 실행하세요.

    gkectl get-config admin --export-secrets-config \
      --bundle-path BUNDLE \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    다음을 바꿉니다.

    • BUNDLE: Google Distributed Cloud 번들 파일의 경로

    • ADMIN_CLUSTER_KUBECONFIG: 관리자 클러스터 kubeconfig 파일의 경로

사용자 인증 정보를 순환합니다.

gkectl update credentials CREDENTIAL_TYPE \
    --config ADMIN_CLUSTER_CONFIG \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --secret-config SECRETS_CONFIG \
    --admin-cluster

다음을 바꿉니다.

  • CREDENTIAL_TYPE: vsphere, f5bigip, privateregistry, componentaccess, register, stackdriver, cloudauditlogging 중 하나입니다.

  • ADMIN_CLUSTER_CONFIG: 관리자 클러스터 구성 파일의 경로입니다.

  • ADMIN_CLUSTER_KUBECONFIG: 관리자 클러스터 kubeconfig 파일의 경로입니다.

  • SECRETS_CONFIG: 보안 비밀 구성 파일의 경로

업데이트

준비된 사용자 인증 정보를 사용하는 관리자 클러스터를 업데이트하려는 경우 대부분은 클러스터 업데이트에 설명된 안내를 따르면 됩니다.

하지만 업데이트의 일부로 Cloud Logging 및 Cloud Monitoring 또는 Cloud 감사 로그를 사용 설정하려면 다음 단계를 수행합니다.

  1. 보안 비밀 구성 파일을 생성합니다.

  2. 보안 비밀 구성 파일에서 stackdriverServiceAccount.serviceAccountKeyPathcloudAuditLoggingServiceAccount.serviceAccountKeyPath 또는 둘 다를 제공합니다.

  3. 클러스터를 업데이트합니다.

    gkectl update admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
      --config ADMIN_CLUSTER_CONFIG \
      --secret-config SECRETS_CONFIG