管理ワークステーションの構成ファイル

このページでは、Google Distributed Cloud の管理ワークステーションの構成ファイルのフィールドについて説明します。

構成ファイルのテンプレートの生成

gkeadm コマンドライン ツールをダウンロードします。

テンプレートを作成するには:

./gkeadm create config --config=OUTPUT_FILENAME

OUTPUT_FILENAME は、生成されたテンプレートの任意のパスに置き換えます。このフラグを省略すると、gkeadm はファイルに admin-ws-config.yaml という名前を付け、現在のディレクトリに配置します。

テンプレート

構成ファイルの入力

次のセクションで説明するように、構成ファイルでフィールド値を入力します。

gcp

このセクションには、コンポーネント アクセス サービス アカウントに関する情報が含まれています。

gcp.componentAccessServiceAccountKeyPath

文字列。コンポーネント アクセス サービス アカウントの JSON キーファイルのパス。JSON キーファイルの作成方法については、コンポーネント アクセス サービス アカウントをご覧ください。

次に例を示します。

gcp:
  componentAccessServiceAccountKeyPath: "my-key-folder/component-access-key.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 に 1 つ以上の DNS 名を含めることもできます。

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

Subject 共通名または Subject Alternative Name のいずれか 1 つの DNS 名を選択して、構成ファイルの vcenter.credentials.address の値として使用します。次に例を示します。

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

vCenter.credentials.fileRef.path

文字列。vCenter ユーザー アカウントのユーザー名とパスワードを保持する認証情報構成ファイルのパス。ユーザー アカウントには管理者ロールまたは同等の権限が必要です。vSphere の要件をご覧ください。

gkeadm create config を実行すると、admin-ws-config.yaml という名前の管理ワークステーション構成ファイルのテンプレートが作成されます。また、credential.yaml という名前の認証情報構成ファイルのテンプレートが作成されます。

例:

vCenter:
  credentials:
    fileRef:
      path: "credential.yaml"

vCenter.credentials.fileRef.entry

文字列。vCenter ユーザー アカウントのユーザー名とパスワードを保持する認証情報構成ファイルにある認証情報ブロックの名前。

credential.yaml では、gkeadm によって vCenter という名前の認証情報ブロックが自動的に作成されます。

例:

vCenter:
  credentials:
    fileRef:
      entry: "vCenter"

vCenter.datacenter

文字列。vCenter データセンターの名前。次に例を示します。

vCenter:
  datacenter: "MY-DATACENTER"

vCenter.datastore

文字列。vCenter データストアの名前。次に例を示します。

vCenter:
  datastore: "MY-DATASTORE"

vCenter.cluster

文字列。vCenter クラスタの名前。次に例を示します。

vCenter:
  cluster: "MY-CLUSTER"

vCenter.network

文字列。管理ワークステーションの作成先の vCenter ネットワークの名前。次に例を示します。

vCenter:
  network: "MY-VM-NETWORK"

vCenter.folder

文字列。クラスタ VM が配置されるデータセンター内のフォルダ。次に例を示します。

vCenter:
  folder: "MY-FOLDER"

vCenter.resourcePool

文字列。デフォルト以外のリソースプールを使用している場合は、vCenter リソースプールの名前を指定します。次に例を示します。

vCenter:
  resourcePool: "MY-POOL"

デフォルトのリソースプールを使用している場合は、次の値を指定します。

vCenter:
  resourcePool: "MY_CLUSTER/Resources"

MY_CLUSTER は、使用する vCenter クラスタの名前に置き換えます。

スタンドアロン ホストのルートリソース プールの指定をご覧ください。

vCenter.caCertPath

文字列。Google Distributed Cloud などのクライアントが vCenter Server にリクエストを送信すると、サーバーは、証明書または証明書バンドルを提示して、ID をクライアントに証明する必要があります。証明書またはバンドルを確認するには、Google Distributed Cloud に信頼チェーン内のルート証明書が必要です。

vCenter.caCertPath をルート証明書のパスに設定します。次に例を示します。

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

ご使用の VMware インストレーションには、vCenter サーバーに証明書を発行する認証局(CA)があります。信頼チェーンのルート証明書は、VMware が作成した自己署名証明書です。

デフォルトの VMWare CA を使用しない場合は、別の認証局を使用するように VMware を構成できます。

vCenter Server でデフォルトの VMware CA が発行した証明書を使用している場合は、次のように証明書をダウンロードします。

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

SERVER_ADDRESS は、vCenter Server のアドレスに置き換えます。

unzip コマンドをインストールし、証明書ファイルを解凍します。

sudo apt-get install unzip
unzip download.zip

1 回の unzip コマンドで解凍できない場合は、再度コマンドを入力します。

certs/lin で証明書ファイルを見つけます。

proxyUrl

文字列: gkeadm の実行に使用するマシンがプロキシ サーバーを使用してインターネットにアクセスする場合は、このフィールドをプロキシ サーバーの URL に設定します。スキームのデフォルト ポートと同じ場合でも、ポート番号を含めます。次に例を示します。

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

adminWorkstation

このセクションには、管理ワークステーションに関する情報が表示されます。

adminWorkstation.name

文字列。管理ワークステーションの名前。このフィールドには、生成された値が挿入されます。生成された値をそのまま使用することも、別の名前を使用することもできます。次に例を示します。

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

adminWorkstation.cpus

整数。管理ワークステーションの仮想 CPU の数。次に例を示します。

adminWorkstation:
  cpus: 4

adminWorkstation.memoryMB

整数。管理ワークステーションのメモリのメガバイト数。例:

adminworkstation:
  memoryMB: 8192

adminWorkstation.diskGB

整数。管理ワークステーションのブートディスクのサイズ(ギガバイト単位)。100 GB 以上をおすすめします。バージョン 1.28 以降では 100 GB が必須です。次に例を示します。

adminWorkstation:
  diskGB: 100

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

整数。データディスクのサイズ(メガバイト単位)。このフィールドに値が設定されていない場合、デフォルトで 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

文字列。ネットワークがプロキシ サーバーの背後にあり、管理ワークステーションと管理クラスタが同じプロキシ サーバーを使用するように設定する必要がある場合は、adminworkstation.proxyURL をプロキシ サーバーの URL に設定します。スキームのデフォルト ポートと同じ場合でも、ポート番号を含めます。次に例を示します。

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

adminWorkstation.ntpServer

文字列。管理ワークステーションで使用するネットワーク タイム プロトコル サーバーのホスト名または IP アドレス。次に例を示します。

adminWorkstation:
  ntpServer: "216.239.35.0"

空白のままにすると、Google Distributed Cloud は "ntp.ubuntu.com" を使用します。

完成した構成ファイルの例

完成した管理ワークステーションの構成ファイルの例を次に示します。

gcp:
  componentAccessServiceAccountKeyPath: "my-key-folder/component-access-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"