Anthos 관리 센터 설치

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

이 페이지에서는 Anthos 관리 센터를 설치하고 URL을 가져오는 방법을 설명합니다.

관리 센터 설치

이 섹션에서는 베어메탈 머신에 관리자 클러스터를 설치한 다음 관리자 클러스터 위에 관리 센터를 설치합니다.

관리자 클러스터 구성 준비

./actl-workspace/admin/admin.yaml 파일을 사용자 환경과 일치하는 설정으로 업데이트합니다.

vi ./actl-workspace/admin/admin.yaml

다음 입력란을 작성하세요.

  • sshPrivateKeyPath는 클러스터의 일부분이 될 다른 노드에 액세스하기 위해 설치 중에 사용되는 키입니다. 이는 기본 요건의 노드에 배포한 공개 키의 비공개 카운터입니다.

  • registryMirrors는 Docker 이미지가 저장된 모든 레지스트리 미러의 위치를 식별합니다.

    • registryMirrors.endpoint는 미러의 엔드포인트입니다. 엔드포인트 형식은 URL_SCHEME://REGISTRY_HOST/v2/IMAGE_PREFIX 입니다. 예를 들어 워크스테이션에 레지스트리를 만든 경우 엔드포인트를 https://REGISTRY_HOST/v2/library로 설정합니다. REGISTRY_HOSTIMAGE_PREFIX 사이의 /v2/는 필수입니다.

    • registryMirrors.pullCredentialConfigPath는 사용자 인증 정보 경로입니다. 이는 일반적으로 /home/USER/.docker/config.json과 비슷합니다.

    • registryMirrors.caCertPath는 레지스트리가 트래픽을 암호화하는 데 사용할 인증 기관의 위치입니다. 이 인증서는 설치 프로세스가 진행되는 동안 노드에 배포되어 레지스트리에서 이미지를 가져올 수 있습니다. 경로는 일반적으로 /etc/docker/certs.d/REGISTRY_HOST/ca.crt입니다.

  • controlPlane 사양은 제어 영역에 포함된 노드를 정의합니다. 고가용성 배포를 사용하는 경우 IP 주소를 3개 지정합니다. 예를 들면 다음과 같습니다.

    controlPlane:
      nodePoolSpec:
        nodes:
        # Control plane node pools. Typically, this is either a single machine
        # or 3 machines if using a high availability deployment.
        - address: 10.200.0.3
        - address: 10.200.0.4
        - address: 10.200.0.5
    
  • loadBalancer 사양은 사용되는 부하 분산기 유형을 정의합니다. 기본 구성은 실행 중인 클러스터에 부하 분산기를 설치합니다. 이 경우 최소한 Kubernetes API 서버를 노출할 가상 IP(VIP) 주소 풀을 식별하기 위해 controlPlaneVIP를 설정하고 이를 요청하는 서비스에 VIP를 할당하도록 addressPools를 설정해야 합니다. 예를 들면 다음과 같습니다.

    loadBalancer:
      mode: bundled
      # There are two load balancer VIPs: one for the control plane and one for the
      # L7 Ingress service.
      # The VIPs must be in the same subnet as the load balancer nodes.
      vips:
        # ControlPlaneVIP specifies the VIP to connect to the Kubernetes API server.
        # This address must not be in the address pools below.
        controlPlaneVIP: 10.200.0.50
      # AddressPools is a list of non-overlapping IP ranges for the data plane load
      # balancer.
      # All addresses must be in the same subnet as the load balancer nodes.
      # Address pool configuration is only valid for 'bundled' LB mode in non-admin
      # clusters.
      addressPools:
      - name: pool1
        addresses:
        # Each address must be either in the CIDR form (1.2.3.0/24)
        # or range form (1.2.3.1-1.2.3.5).
        - 10.200.0.51-10.200.0.59
    
  • 클러스터 사양의 마지막 섹션은 loginUser를 지정합니다. 이 로그인은 아래에 지정된 SSH 키에 액세스할 수 있어야 하며, 기본 요건에서 키가 배포된 사용자입니다.

    nodeAccess:
      loginUser: LOGIN_USERNAME
    

    LOGIN_USERNAME을 사용자 클러스터에 로그인하는 데 사용된 사용자 이름으로 바꿉니다.

  • nodePool 사양은 관리 클러스터에서 관리 센터 콘솔, Prometheus, Grafana 및 기타 서비스를 호스팅할 노드를 식별합니다. 이러한 노드는 관리 클러스터의 워커 노드입니다. 예를 들면 다음과 같습니다.

    apiVersion: baremetal.cluster.gke.io/v1
    kind: NodePool
    metadata:
      name: node-pool-1
      namespace: cluster-admin
    spec:
      # Cannot be changed, must be admin
      clusterName: admin
      nodes:
      - address: 10.200.0.6
    

관리자 클러스터 만들기

다음 명령어를 실행하여 관리자 클러스터를 만듭니다. 약 30분이 소요됩니다. 관리자 클러스터를 만드는 데 문제가 있으면 알려진 문제를 참조하세요.

cd ~/anthos-baremetal-private-mode
actl clusters baremetal create admin

관리자 클러스터가 생성된 후에 액세스할 수 있는지 확인하세요.

export ADMIN_KUBECONFIG=$(pwd)/actl-workspace/admin/admin-kubeconfig

kubectl get nodes --kubeconfig=${ADMIN_KUBECONFIG}

선택사항: 리소스 등록

설치가 완료되면 사용할 수 있게 리소스를 자동으로 등록하도록 ./managementcenter/management-center.yaml 구성 파일을 수정할 수 있습니다. 또는 이 섹션을 건너뛰고 관리 센터 설치를 완료한 후에 리소스를 수동으로 등록할 수도 있습니다.

./managementcenter/management-center.yaml 파일을 열어 관리 센터 설치를 맞춤설정합니다.

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

가상 IP(VIP) 주소 풀 등록

나중에 사용자 클러스터를 만드는 데 사용할 AddressPool을 관리자 클러스터에 등록합니다.

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. 다음 섹션을 ./managementcenter/management-center.yaml 파일에 추가하여 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의 이름입니다.

관리 센터 설치

관리자 클러스터에 관리 센터를 설치합니다.

기본 구성

이 안내에서는 최소한의 기본 구성으로 관리 센터를 설치합니다.

cd ~/anthos-baremetal-private-mode
actl platform management-center create

커스텀 구성

이 안내에서는 커스텀 구성을 사용하여 관리 센터를 설치합니다. 이를 통해 관리 센터를 설치하기 전에 설정을 맞춤설정할 수 있습니다. 이렇게 하려면 ./managementcenter/management-center.yaml 파일을 업데이트하여 관리 센터 설치를 맞춤설정하세요.

vi ./managementcenter/management-center.yaml

커스텀 구성을 사용하여 관리 센터를 설치합니다.

cd ~/anthos-baremetal-private-mode
actl platform management-center create --config managementcenter/management-center.yaml

관리 센터의 URL 가져오기

관리 센터의 URL은 관리 센터를 설치한 후에 출력되지만 다음 명령어를 실행하여 검색할 수도 있습니다.

actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}

플랫폼 관리자가 관리 센터에 액세스할 수 있도록 반환된 URL을 플랫폼 관리자와 공유할 수 있습니다.

관리 센터에 액세스할 도메인 이름 구성

관리 센터에 액세스할 자체 도메인 이름을 구성하려면 다음 안내를 따르세요.

DNS 도메인 구성에 A record를 추가하고 다음 명령어로 반환되는 IP 주소로 설정합니다.

actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}