관리 워크스테이션 구성 파일

이 페이지에서는 관리자 워크스테이션 구성 파일의 필드에 대하여 설명합니다.

구성 파일 템플릿 생성

관리자 워크스테이션 구성 파일의 템플릿을 생성하려면 gkeadm 도구가 필요합니다.

gkeadm 명령줄 도구를 다운로드하고 실행 가능하게 하려면 다음 안내를 따르세요.

gsutil cp gs://gke-on-prem-release-public/gkeadm/1.5.2-gke.3/linux/gkeadm ./
chmod +x gkeadm

템플릿을 생성하는 방법은 다음과 같습니다.

./gkeadm create config --config=OUTPUT_FILENAME

OUTPUT_FILENAME을 생성된 템플릿에 대해 선택한 경로로 바꿉니다. 이 플래그를 생략하면 gkeadm은 파일 이름을 admin-ws-config.yaml로 지정하고 현재 디렉터리에 넣습니다.

템플릿

구성 파일 작성

구성 파일에 다음 섹션에 설명된 대로 필드 값을 입력합니다.

gcp

이 섹션에는 구성요소 액세스 서비스 계정에 대한 정보가 포함되어 있습니다.

gcp.whitelistedServiceAccountKeyPath

문자열. 구성요소 액세스 서비스 계정의 JSON 키 파일 경로입니다. JSON 키 파일 만들기에 대한 자세한 내용은 구성요소 액세스 서비스 계정을 참조하세요.

vCenter

이 섹션에서는 사용자의 vSphere 환경에 대한 정보를 제공합니다.

vCenter.credentials.address

문자열. vCenter Server의 IP 주소 또는 호스트 이름입니다.

address 필드를 입력하기 전에 vCenter Server의 사용 중인 인증서를 다운로드하여 검사합니다. 다음 명령어를 입력하여 인증서를 다운로드하고 vcenter.pem이라는 파일로 저장합니다.

true | openssl s_client -connect VCENTER_IP:443 -showcerts 2>/dev/null | sed -ne '/-BEGIN/,/-END/p' > vcenter.pem

VCENTER_IP를 vCenter Server의 IP 주소로 바꿉니다.

인증서 파일을 열어서 제목 일반 이름 및 제목 대체 이름을 확인합니다.

openssl x509 -in vcenter.pem -text -noout

결과에 Subject 일반 이름(CN)이 표시됩니다. 이 이름은 IP 주소이거나 호스트 이름일 수 있습니다. 예를 들면 다음과 같습니다.

Subject: ... CN = 203.0.113.100
Subject: ... CN = my-host.my-domain.example

결과의 Subject Alternative Name 아래에는 DNS 이름이 1개 이상 포함될 수도 있습니다.

X509v3 Subject Alternative Name:
    DNS:vcenter.my-domain.example

Subject 일반 이름을 선택하거나 Subject Alternative Name 아래에서 구성 파일의 vcenter.credentials.address 값으로 사용할 DNS 이름 중 하나를 선택합니다. 예를 들면 다음과 같습니다.

vCenter:
  credentials:
    address: "203.0.113.1"
    ...
vCenter:
  credentials:
    address: "my-host.my-domain.example"
    ...

vCenter.credentials.username

문자열. vCenter 서버 사용자 계정입니다. 사용자 계정에 관리자 역할 또는 이에 상응하는 권한이 있어야 합니다. vSphere 요구사항을 참조하세요.

예를 들면 다음과 같습니다.

vCenter:
  credentials:
    username: "administrator@vsphere.local"

vCenter.credentials.password

문자열. vCenter 서버 사용자 계정의 비밀번호입니다. 예를 들면 다음과 같습니다.

vCenter:
  credentials:
    password: "#STyZ2T#Ko2o"

vCenter.datacenter

문자열. vCenter 데이터 센터의 이름입니다. 예를 들면 다음과 같습니다.

vCenter:
  datacenter: "MY-DATACENTER"

vCenter.datastore

문자열. vCenter Datastore의 이름입니다. 예를 들면 다음과 같습니다.

vCenter:
  datastore: "MY-DATASTORE"

vCenter.cluster

문자열. vCenter 클러스터의 이름입니다. 예를 들면 다음과 같습니다.

vCenter:
  cluster: "MY-CLUSTER"

vCenter.network

문자열. 관리자 워크스테이션을 만들려는 vCenter 네트워크의 이름입니다. 예를 들면 다음과 같습니다.

vCenter:
  network: "MY-VM-NETWORK"

vCenter.resourcePool

문자열. 기본이 아닌 리소스 풀을 사용하는 경우에는 vCenter 리소스 풀의 이름을 입력합니다. 예를 들면 다음과 같습니다.

vCenter:
  resourcePool: "MY-POOL"

기본 리소스 풀을 사용하는 경우 다음 값을 제공합니다.

vCenter:
  resourcePool: "MY_CLUSTER/Resources"

MY_CLUSTER를 vCenter 클러스터의 이름으로 바꿉니다.

독립형 호스트의 루트 리소스 풀 지정을 참조하세요.

vCenter.caCertPath

문자열. GKE On-Prem과 같은 클라이언트가 vCenter Server로 요청을 전송할 때 서버는 인증서 또는 인증서 번들을 제공하여 클라이언트에 해당 ID를 입증해야 합니다. 인증서 또는 번들을 확인하기 위해 GKE On-Prem은 트러스트 체인에 루트 인증서가 있어야 합니다.

vCenter.caCertPath를 루트 인증서의 경로로 설정합니다. 예를 들면 다음과 같습니다.

vCenter:
  caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert.pem"

VMware 설치에는 vCenter Server에 인증서를 발급하는 인증 기관(CA)이 포함됩니다. 신뢰 체인의 루트 인증서는 VMware에서 생성된 자체 서명 인증서입니다.

기본값인 VMWare CA를 사용하지 않을 경우 다른 인증 기관을 사용하도록 VMware를 구성할 수 있습니다.

사용자의 vCenter 서버가 기본 VMware CA에서 발급한 인증서를 사용하는 경우 다음과 같이 인증서를 다운로드합니다.

curl -k "https://SERVER_ADDRESS/certs/download.zip" > download.zip

SERVER_ADDRESS를 vCenter 서버의 주소로 바꿉니다.

unzip 명령어를 설치하고 인증서 파일의 압축을 풉니다.

sudo apt-get install unzip
unzip downloads.zip

처음에 unzip 명령어가 작동하지 않으면 명령어를 다시 입력합니다.

certs/lin에서 인증서 파일을 찾습니다.

proxyUrl

문자열: gkeadm를 실행하는 데 사용하는 머신에서 프록시 서버를 사용하여 인터넷에 액세스하는 경우 이 필드를 프록시 서버의 URL로 설정합니다. 예를 들면 다음과 같습니다.

proxyUrl: "https://my-proxy.example.local"

adminWorkstation

이 섹션에는 관리자 워크스테이션에 대한 정보가 포함되어 있습니다.

adminWorkstation.name

문자열. 관리자 워크스테이션의 이름입니다. 이 필드는 생성된 값으로 채워집니다. 생성된 값을 유지하거나 원하는 다른 이름으로 수정할 수 있습니다. 예를 들면 다음과 같습니다.

adminWorkstation
  name: "gke-admin-ws-200617-113711"

adminWorkstation.cpus

정수. 관리 워크스테이션의 가상 CPU 수입니다. 예를 들면 다음과 같습니다.

adminWorkstation:
  cpus: 4

adminWorkstation.memoryMB

정수. 관리 워크스테이션의 메모리 용량 수(MB)입니다. 예를 들면 다음과 같습니다.

adminworkstation:
  memoryMB: 8192

adminWorkstation.diskGB

정수. 관리자 워크스테이션 부팅 디스크의 크기(GB)입니다. 50GB 이상이 좋습니다. 예를 들면 다음과 같습니다.

adminWorkstation:
  diskGB: 50

adminWorkstation.dataDiskName

문자열. 홈 디렉터리에 마운트할 영구 디스크의 이름입니다. 이 필드는 생성된 값으로 채워집니다. 생성된 값을 유지하거나 원하는 이름을 제공할 수 있습니다. .vmdk로 끝나야 합니다. 제공된 경로의 모든 디렉터리는 배포 전에 만들어야 합니다. 이 필드에 설정된 값이 없으면 기본값은 다음과 같습니다.

gke-on-prem-admin-workstation-data-disk/ADMIN_WORKSTATION_NAME-data-disk.vmdk

예를 들면 다음과 같습니다.

adminWorkstation:
  dataDiskName: "gke-on-prem-admin-workstation-data-disk/gke-admin-ws-200617-113711-data-disk.vmdk"

adminWorkstation.dataDiskMB

정수. 데이터 디스크의 크기(MB)입니다. 이 필드에 설정된 값이 없으면 기본값은 512입니다. 예를 들면 다음과 같습니다.

adminWorkstation:
  dataDiskMB: 512

adminWorkstation.network.ipAllocationMode

문자열. 관리자 워크스테이션이 DHCP 서버에서 IP 주소를 가져오게 하려면 "dhcp"로 설정합니다. 관리자 워크스테이션에서 원하는 고정 IP 주소를 사용하려면 "static"으로 설정합니다. 예를 들면 다음과 같습니다.

adminWorkstation:
  network:
    ipAllocationMode: "static"

adminWorkstation.network.hostconfig

ipAllocationMode"static"으로 설정한 경우 이 섹션의 필드를 입력합니다.

ipAllocationMode"dhcp"로 설정한 경우 이 섹션을 삭제하거나 코멘트를 남깁니다.

adminWorkstation.network.hostConfig.ip

문자열. 관리 워크스테이션의 IP 주소입니다. 예를 들면 다음과 같습니다.

adminWorkstation:
  network:
    hostconfig:
      ip: "172.16.5.1"

adminWorkstation.network.hostConfig.gateway

문자열. 관리 워크스테이션이 포함된 네트워크의 기본 게이트웨이 IP 주소입니다. 예를 들면 다음과 같습니다.

adminWorkstation:
  network:
    hostconfig:
      gateway: "172.16.6.254"

adminWorkstation.network.hostConfig.netmask

문자열. 관리 워크스테이션이 포함된 네트워크의 넷마스크입니다. 예를 들면 다음과 같습니다.

adminWorkstation:
  network:
    hostConfig:
      netmask: "255.255.248.0"

adminWorkstation.network.hostConfig.dns

문자열 배열. 관리 워크스테이션에서 사용할 수 있는 DNS 서버의 IP 주소 배열입니다. 예를 들면 다음과 같습니다.

adminWorkstation:
  network:
    hostconfig:
      dns:
      - "172.16.255.1"
      - "172.16.255.2"

adminWorkstation.proxyUrl

문자열. 네트워크가 프록시 서버로 보호되는 상태에서 관리 워크스테이션과 GKE On-Prem 클러스터가 모두 동일한 프록시 서버를 사용하도록 하려면 adminworkstation.proxyURL를 프록시 서버의 URL로 설정합니다. 예를 들면 다음과 같습니다.

adminworkstation:
  proxyUrl: "http://aw-proxy.example"

adminWorkstation.ntpServer

문자열. 관리 워크스테이션에서 사용해야 하는 네트워크 시간 프로토콜 서버의 호스트 이름 또는 IP 주소입니다. 예를 들면 다음과 같습니다.

adminWorkstation:
  ntpServer: "216.239.35.0"

이 필드를 비워두면 GKE On-Prem은 "ntp.ubuntu.com"를 사용합니다.

완료된 구성 파일의 예시

다음은 완성된 관리자 워크스테이션 구성 파일의 예시입니다.

gcp:
  whitelistedServiceAccountKeyPath: "my-key-folder/whitelisted-key.json"
vCenter:
  credentials:
    address: "203.0.113.1"
    username: "administrator.vsphere.local"
    password: "#STyZ2T#Ko2o"
  datacenter: "MY-DATACENTER"
  datastore: "MY-DATASTORE"
  cluster: "MY-CLUSTER"
  network: "MY-VM-NETWORK"
  resourcePool: "MY-POOL"
  caCertPath: "/usr/local/google/home/me/certs/the-root.cert"
proxyUrl: ""
adminWorkstation:
  name: "my-admin-workstation"
  cpus: 4
  memoryMB: 8192
  diskGB: 50
  dataDiskName: "gke-on-prem-admin-workstation-data-disk/gke-admin-ws-200617-113711-data-disk.vmdk"
  dataDiskMB: 512
  network:
    ipAllocationMode: "static"
    hostConfig:
      ip: "172.16.5.1"
      gateway: "172.16.6.254"
      netmask: "255.255.248.0"
      dns:
      - "172.16.255.1"
      - "172.16.255.2
  proxyUrl: ""
  ntpServer: "216.239.35.0"