このページでは、管理クラスタの作成方法について説明します。
管理ワークステーションに SSH で接続する
以前のトピックでは、gkeadm
を使用して管理ワークステーションを作成しました。gkeadm
により、管理ワークステーションでコンポーネント アクセス サービス アカウントが有効にされたことを思い出してください。
管理ワークステーションへの SSH 接続の確立の手順に沿って、管理ワークステーションに SSH 接続します。
このトピックの残りの手順はすべて管理ワークステーションで行います。
管理クラスタの静的 IP の構成
管理クラスタに使用する静的 IP アドレスを指定するには、IP ブロック ファイルを admin-cluster-ipblock.yaml
という名前で作成します。この演習では、管理クラスタで使用する IP アドレスを 5 つ指定する必要があります。
5 つのホストが記載された IP ブロック ファイルの例を次に示します。
blocks: - netmask: 255.255.252.0 gateway: 172.16.23.254 ips: - ip: 172.16.20.10 hostname: admin-host1 - ip: 172.16.20.11 hostname: admin-host2 - ip: 172.16.20.12 hostname: admin-host3 - ip: 172.16.20.13 hostname: admin-host4 - ip: 172.16.20.14 hostname: admin-host5
ips
フィールドは、IP アドレスとホスト名の配列です。これらは、GKE On-Prem が管理クラスタノードに割り当てる IP アドレスとホスト名です。
IP ブロック ファイルには、管理クラスタノード用のサブネット マスクとデフォルト ゲートウェイも指定します。
認証情報構成ファイルの作成
vCenter ユーザー アカウントのユーザー名とパスワードを保持する認証情報構成ファイルを、admin-creds.yaml
という名前で作成します。ユーザー アカウントには管理者ロールまたは同等の権限が必要です。
認証情報構成ファイルの例を次に示します。
apiVersion: v1 kind: "CredentialFile" items: - name: "vcenter-creds" username: "my-vcenter-account" password: "U$icUKEW#INE"
GKE On-Prem の構成ファイルで入力されたフィールド
管理ワークステーションを作成したときに、admin-ws-config.yaml
という名前の構成ファイルに入力しました。gkeadm
コマンドライン ツールで admin-ws-config.yaml
ファイルを使用して管理ワークステーションを作成しました。
gkeadm
が管理ワークステーションを作成したときに、admin-cluster.yaml
という名前の別の構成ファイルが生成されました。管理ワークステーションにあるこの構成ファイルは、管理クラスタの作成に使用します。
admin-cluster.yaml
ファイルには、admin-ws-config.yaml
ファイルの特定のフィールドと同じか、強い関連があるフィールドが複数あります。このフィールドの値は、すでに admin-cluster.yaml
ファイルで入力されています。
admin-ws-config.yaml
ファイルに入力した値に従ってすでに入力されている admin-cluster.yaml
のフィールドは、次のとおりです。
vCenter: address: datacenter: cluster: network: vCenter: networkName: resourcePool: datastore: caCertPath: proxy: url: gcrKeyPath:
admin-cluster.yaml
の他のフィールドのいくつかに、デフォルト値または生成された値が入力されます。次に例を示します。
bundlePath: loadbalancer seesaw: cpus: memoryMB: enableHA: stackdriver: projectID: serviceAccountKeyPath:
admin-cluster.yaml
ファイルでは、すべての入力された値を変更せずにそのまま残します。
残りの管理クラスタの構成ファイルへの入力
次に、admin-cluster.yaml
ファイルの残りのフィールドを入力します。
vCenter.credentials.fileRef.path
文字列。認証情報構成ファイルのパス。次に例を示します。
vCenter: credentials: fileRef: path: "admin-creds.yaml"
vCenter.credentials.fileRef.entry
文字列。vCenter ユーザー アカウントのユーザー名とパスワードを保持する認証情報構成ファイルにある認証情報ブロックの名前。次に例を示します。
vCenter: credentials: fileRef: entry: "vcenter-creds"
vCenter.dataDisk
文字列。GKE On-Prem は、管理クラスタの Kubernetes オブジェクト データを保持する仮想マシンディスク(VMDK)を作成します。インストーラによって VMDK が作成されますが、vCenter.dataDisk
フィールドに VMDK の名前を指定する必要があります。例:
vCenter: dataDisk: "my-disk.vmdk"
- vSAN データストア: VMDK 用フォルダの作成
vSAN データストアを使用する場合は、VMDK をフォルダに格納する必要があります。フォルダは、事前に手動で作成する必要があります。
govc
を使用してフォルダを作成することで、これを行えます。govc datastore.mkdir -namespace=true my-gke-on-prem-folder
次に、
vCenter.dataDisk
を VMDK のパス(フォルダを含む)に設定します。例:vDenter: dataDisk: "my-gke-on-prem-folder/my-disk.vmdk"
network.ipMode.type
文字列。"static"
に設定します。
network: ipMode: type: "static"
network.ipBlockFilePath
文字列。静的 IP アドレスを使用しているため、静的 IP の構成で説明されている IP ブロック ファイルが必要です。network.ipBlockFilePath
に IP ブロック ファイルのパスを設定します。例:
network: ipBlockFilePath: "/my-config-directory/admin-cluster-ipblock.yaml"
network.serviceCIDR
と network.podCiDR
文字列。管理クラスタには、Service に使用する IP アドレスの範囲と Pod に使用する IP アドレスの範囲が必要です。これらの範囲は、network.serviceCIDR
フィールドと network.podCIDR
フィールドで指定します。これらのフィールドにはデフォルト値が入力されています。入力した値は、必要に応じて任意の値に変更できます。
Service と Pod の範囲は重複しないようにします。また、Service と Pod の範囲が、クラスタ内のノードで使用する IP アドレスと重複しないようにしてください。
例:
network: serviceCIDR: "10.96.232.0/24" podCIDR: "192.168.0.0/16"
loadBalancer.vips
文字列。loadBalancer.vips.controlPlaneVIP
の値を、管理クラスタの Kubernetes API サーバー用のロードバランサに構成するよう選択した IP アドレスに設定します。loadBalancer.vips.addonsVIP
の値を、ロードバランサでアドオン用に構成するよう選択した IP アドレスに設定します。例:
loadBalancer: vips: controlplaneVIP: "203.0.113.3" addonsVIP: "203.0.113.4"
loadBalancer.kind
文字列。"Seesaw"
に設定します。例:
loadBalancer: kind: "Seesaw"
loadBalancer.seesaw.ipBlockFilePath
文字列。これを、Seesaw VM の IP ブロック ファイルのパスに設定します。
次に例を示します。
loadbalancer: seesaw: ipBlockFilePath: "admin-seesaw-ipblock.yaml"
loadBalancer.seesaw.vird
整数。Seesaw VM の仮想ルーター識別子。この識別子は VLAN 内で一意なものにする必要があります。有効な範囲は 1~255 です。次に例を示します。
loadBalancer: seesaw: vrid: 125
loadBalancer.seesaw.masterIP
文字列。Seesaw VM が通知する任意の IP アドレス。例:
loadBalancer: seesaw: masterIP: "172.16.20.21"
loadBalancer.seesaw.enableHA
ブール値。false
に設定します。例:
loadBalancer:. seesaw: enableHA: false
proxy.url
文字列。管理ワークステーション構成ファイルで proxyURL
に値を入力した場合、このフィールドには同じ値が入っています。
管理クラスタとユーザー クラスタを、管理ワークステーションとは異なるプロキシの背後に配置する場合は、クラスタで使用するプロキシ サーバーの HTTP
アドレスにこれを設定します。スキームのデフォルト ポートと同じ場合でも、ポート番号を含める必要があります。次に例を示します。
proxy: url: "http://my-proxy.example.local:80"
proxy.noProxy
文字列。プロキシ サーバーを経由しない IP アドレス、IP アドレス範囲、ホスト名、ドメイン名のリスト。GKE On-Prem がこれらのアドレス、ホスト、ドメインのいずれかにリクエストを送信する場合、そのリクエストは直接送信されます。例:
proxy: noProxy: "10.151.222.0/24, my-host.example.local,10.151.2.1"
stackdriver.clusterLocation
文字列。ログを保存する Google Cloud リージョン。お使いのオンプレミス データセンターの近くのリージョンを選択することをおすすめします。例:
stackdriver: clusterLocation: "us-central1"
stackdriver.enableVPC
ブール値。クラスタのネットワークが VPC によって制御されている場合は、stackdriver.enableVPC
を true
に設定します。これにより、すべてのテレメトリーが Google の制限された IP アドレスを通過するようになります。それ以外の場合は false
に設定します。次に例を示します。
stackdriver: enableVPC: false
管理クラスタの構成ファイルの追加フィールド
管理クラスタの構成ファイルには、このトピックに示されているフィールド以外にもいくつかのフィールドがあります。構成ファイル内のフィールドの詳細については、管理クラスタの構成ファイルをご覧ください。
管理クラスタの構成ファイルの検証
管理クラスタの構成ファイルを変更したら、gkectl check-config
を実行して、ファイルが有効であり、クラスタの作成に使用できることを確認します。
gkectl check-config --config admin-cluster.yaml
コマンドが FAILURE
メッセージを返した場合は、問題を修正してファイルを再度検証する必要があります。
時間のかかる検証をスキップする場合は、--fast
フラグを渡します。個別の検証をスキップするには、--skip-validation-xxx
フラグを使用します。check-config
コマンドについて詳しくは、プリフライト チェックの実行をご覧ください。
gkectl prepare
の実行
gkectl prepare
を実行して、vSphere 環境を初期化します。
gkectl prepare --config admin-cluster.yaml
ロードバランサの作成
Seesaw ロードバランサの VM を作成して構成します。
gkectl create loadbalancer --config admin-cluster.yaml
管理クラスタの作成
管理クラスタを作成します。
gkectl create admin --config admin-cluster.yaml