리소스 등록

이 페이지는 인프라 운영자용으로 작성되었습니다.

Anthos Management Center를 설치한 후 머신, 주소 풀, 부트스트랩 서비스를 등록해야 합니다. Management Center를 설치하기 전 Management Center 구성 파일을 수정하여 리소스를 이미 등록한 경우 추가 리소스를 등록하지 않는 한 이 페이지를 건너뛸 수 있습니다.

인벤토리 머신 등록

플랫폼 관리자가 사용자 클러스터를 만들기 위해서는 연결 해제 모드에서 실행되는 Anthos에서 사용 가능한 유휴 상태의 머신 풀을 필요로 합니다. 이 섹션에서는 사용자 클러스터를 만들기 위해 플랫폼 관리자가 나중에 사용할 수 있도록 Anthos 관리자 클러스터에 인벤토리 머신을 등록합니다. 이러한 머신은 관리자 클러스터 노드와 동일한 요구사항을 충족해야 합니다.

kubectl apply -f path/to/example-machine.yaml --kubeconfig=ADMIN_KUBECONFIG

example-machine.yaml 파일 예시:

apiVersion: baremetal.cluster.gke.io/v1alpha1
kind: InventoryMachine
metadata:
  name: IP_ADDRESS
  labels:
    "KEY": "VALUE"
spec:
  address: IP_ADDRESS

다음을 바꿉니다.

  • IP_ADDRESS: 머신의 IP 주소입니다(예: 10.200.0.10).
  • KEY:VALUE: 랙 위치를 나타내기 위한 키:값 쌍입니다(예: "rack": "r1020").

labels는 리소스에 연결된 자유 형식 키-값 쌍입니다. 이러한 라벨은 나중에 관리 센터에서 머신을 필터링하기 위해 사용될 수 있습니다. 예를 들어 라벨을 사용하여 랙 위치 또는 특별한 하드웨어 구성을 식별할 수 있습니다.

선택사항: 인벤토리 머신에 다른 SSH 키 사용

기본적으로 연결 해제 모드에서 실행되는 Anthos는 sshPrivateKeyPath(관리자 클러스터의 머신에 액세스하는 데 사용)에서 제공하는 SSH 키를 사용하여 이러한 인벤토리 머신에 액세스합니다. 관리자 클러스터 머신과 인벤토리 머신(사용자 클러스터에 사용됨)을 더 격리하기 위해 인벤토리 머신에 다른 SSH 키를 사용할 수 있습니다. 이러한 키를 사용하는 사용자 클러스터를 만들기 전 SSH 키를 만듭니다.

  1. 모든 인벤토리 머신에 SSH 공개 키를 배포합니다.

  2. 관리자 클러스터에 SSH 비공개 키를 보안 비밀로 저장합니다(예: user-cluster-ssh-key).

    kubectl create secret generic user-cluster-ssh-key -n anthos-creds --kubeconfig=ADMIN_KUBECONFIG \
      --from-file=id_rsa=/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
    

    /path/to/KEYPAIR_PRIVATE_KEY_FILENAME을 키-쌍을 출력할 경로로 바꿉니다.

  3. 사용자 클러스터를 만들 때 user-cluster-ssh-key와 같이 1단계에서 만든 보안 비밀을 anthos-creds 네임스페이스 아래에 지정합니다.

    이는 API로 클러스터를 만들 때만 지원됩니다. 사용자 클러스터 yaml 파일 내 클러스터 정의의 SSH 키를 sshKeySecret로 추가하고 imagePullSecret를 지정합니다. 예를 들면 다음과 같습니다.

      apiVersion: baremetal.cluster.gke.io/v1
      kind: Cluster
      metadata:
        name: CLUSTER_NAME
        namespace: cluster-CLUSTER_NAME
      spec:
        type: user
        credentials:
          sshKeySecret:
            name: user-cluster-ssh-key
            namespace: anthos-creds
          ....
        nodeAccess:
          loginUser: LOGIN_USERNAME
          ....
    

    다음을 바꿉니다.

    • CLUSTER_NAME: 클러스터 이름입니다.
    • LOGIN_USERNAME: 사용자 클러스터에 로그인하기 위해 사용되는 사용자 이름입니다.

VIP 주소 풀 등록

플랫폼 관리자가 InventoryMachines 이외의 사용자 클러스터를 만들려면 Anthos에서 사용 가능한 모든 가상 IP 주소(VIP)의 풀이 필요합니다. 이 도구는 플랫폼 관리자에게 사용 가능한 VIP를 표시하고 사용자 클러스터 생성 중 VIP 가용성을 검증하기 위해 Management Center Console에서 사용됩니다.

이 섹션에서는 나중에 사용자 클러스터를 만들기 위해 사용할 수 있도록 AddressPool을 Anthos 관리자 클러스터에 등록합니다. anthos-addresspool-default 이름을 사용하여 주소 풀을 하나만 만들면 됩니다. 각 사용자 클러스터가 이 주소 풀에서 VIP를 사용해야 하며, 동일한 범위의 VIP를 다시 사용할 수 없습니다. VIP는 관리자 클러스터에 사용되는 VIP와 동일한 요구사항을 충족해야 하며 노드의 IP 주소와 겹칠 수 없습니다.

kubectl apply -f path/to/ADDRESS_POOL_FILENAME --kubeconfig=ADMIN_KUBECONFIG

path/to/ADDRESS_POOL_FILENAMEexample-addresspool.yaml과 같은 주소 풀 파일의 경로로 바꿉니다.

example-addresspool.yaml 파일 예시:

apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: AddressPool
metadata:
  name: anthos-addresspool-default
spec:
  description: DESCRIPTION
  addresses:
  - VIP_ADDRESS_POOL

다음을 바꿉니다.

  • DESCRIPTION: 관리 센터 콘솔에 표시하려는 추가 안내를 입력합니다.
  • VIP_ADDRESS_POOL: VIP 주소 풀 범위입니다(예: 10.200.0.100-10.200.0.200).

부트스트랩 서비스 등록

부트스트랩 서비스는 스토리지 서비스 및 GPU 드라이버와 같은 추가 리소스를 생성 후 즉시 사용할 수 있도록 사용자 클러스터에 사전 설치하는 데 사용되는 메커니즘입니다. 이러한 서비스를 사용하는 사용자 클러스터를 만들기 전 부트스트랩 서비스를 만듭니다.

  1. 서비스를 설치하는 데 필요한 모든 매니페스트를 포함하는 configmap을 만듭니다.

    kubectl create configmap <configmap-name> --kubeconfig=ADMIN_KUBECONFIG \
      --from-file=path/to/MANIFESTS --namespace=anthos-management-center
    

    path/to/MANIFESTS를 매니페스트 파일의 경로로 바꿉니다.

  2. configmap을 참조하는 부트스트랩 서비스 객체를 만듭니다.

    apiVersion: managementcenter.anthos.cloud.google.com/v1
    kind: BootstrapService
    metadata:
      name: BOOTSTRAP_SERVICE_NAME
      namespace: anthos-management-center
    spec:
      # If set to True, this configuration can be applied to many user clusters,
      # e.g. a GPU driver configuration. If False, this configuration can only be
      # applied to a single user cluster, e.g. a CSI Driver + StorageClass
      # combination which is intended for exclusive use by a single user cluster.
      # Defaults to False.
      isReusable: False
      configMapRef:
        name: CONFIGMAP_NAME
        namespace: anthos-management-center
    

    다음을 바꿉니다.

    • BOOTSTRAP_SERVICE_NAME: 부트스트랩 서비스의 이름입니다.
    • CONFIGMAP_NAME: 이전 단계에서 만든 configmap의 이름입니다.
  3. 더 많은 부트스트랩 서비스가 필요하면 이 단계를 반복합니다.

다음 단계