このページでは、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"