このドキュメントでは、最も一般的なベアメタル版 Anthos クラスタ構成の YAML サンプルについて説明します。サンプル クラスタ構成ファイルでは、次の特徴と機能の組み合わせが表示されます。
- エッジ プロファイル
- 高可用性
- Open ID Connect (OIDC)
- Lightweight Directory Access Protocol (LDAP)
- ロードバランサのオプション:
- コンテナ ランタイム(
containerd
または Docker) - 複数のノードプール
- SSH 認証鍵のオーバーライド
- レジストリ ミラー
- プロキシの背後
- プライベート パッケージ リポジトリ
サンプルの使用方法
この YAML サンプル集は、主に、さまざまな機能が適切に構成されるとどのような形になるかを示す教育的な参考資料です。これらのサンプルを使用して自前のクラスタを作成する場合は、変更を加える必要があります。storage
セクションの値など、使用されている値の多くはデフォルト値であり、ほとんどのクラスタで機能します。ただし、spec.authentication.oidc.clientID
や spec.gkeConnect.projectID
などの他の値はプロジェクトと環境に特有のものです。
このドキュメントに記載されている YAML コンテンツの使用を試みる前に、関連する機能のドキュメントをよく理解してください。
各サンプルの特徴
次の表では、各サンプルの基本的な構成情報を示します。
例 | |
---|---|
スタンドアロン クラスタ | |
基本エッジ プロファイル |
|
高可用性エッジ プロファイル |
|
ハイブリッド クラスタ | |
基本ハイブリッド クラスタ |
|
高可用性ハイブリッド クラスタ |
|
コントロール プレーンの外部でロード バランシングを行う高可用性ハイブリッド クラスタ |
|
管理クラスタ | |
基本管理クラスタ |
|
手動ロード バランシングを使用した管理クラスタ |
|
高可用性管理クラスタ |
|
ユーザー クラスタ | |
基本ユーザー クラスタ |
|
複数のノードプールがある高可用性ユーザー クラスタ |
|
OIDC がある高可用性ユーザー クラスタ |
|
LDAP と BGP ロード バランシングを使用した高可用性ユーザー クラスタ |
|
スタンドアロン クラスタ
スタンドアロン クラスタの次の機能に注目してください。
- クラスタ自身を管理できます
- ワークロードを実行できます
- 他のユーザー クラスタの作成、管理は行えません
スタンドアロン クラスタは、フットプリントを小さくする必要があるクラスタのインストールや、ネットワークから分離されたパーティションでクラスタを実行する場合に適しています。
スタンドアロン クラスタの詳細については、スタンドアロン クラスタのデプロイとスタンドアロン クラスタの作成をご覧ください。
基本エッジ プロファイル
このスタンドアロン クラスタ構成の次の機能とオプションに留意してください。
- single node
- エッジ プロファイル
containerd
コンテナ ランタイム- ノードプールなし
gcrKeyPath: baremetal/gcr.json
sshPrivateKeyPath: .ssh/id_rsa
gkeConnectAgentServiceAccountKeyPath: baremetal/connect-agent.json
gkeConnectRegisterServiceAccountKeyPath: baremetal/connect-register.json
cloudOperationsServiceAccountKeyPath: baremetal/cloud-ops.json
---
apiVersion: v1
kind: Namespace
metadata:
name: cluster-edge-basic
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: edge-basic
namespace: cluster-edge-basic
spec:
type: standalone
profile: edge
anthosBareMetalVersion: 1.11.8
gkeConnect:
projectID: project-fleet
controlPlane:
nodePoolSpec:
nodes:
- address: 10.200.0.2
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 172.26.232.0/24
loadBalancer:
mode: bundled
ports:
controlPlaneLBPort: 443
vips:
controlPlaneVIP: 10.200.0.71
ingressVIP: 10.200.0.72
addressPools:
- name: pool1
addresses:
- 10.200.0.72-10.200.0.90
clusterOperations:
projectID: project-fleet
location: us-central1
storage:
lvpNodeMounts:
path: /mnt/localpv-disk
storageClassName: local-disks
lvpShare:
path: /mnt/localpv-share
storageClassName: local-shared
numPVUnderSharedPath: 5
nodeConfig:
containerRuntime: containerd
podDensity:
maxPodsPerNode: 110
高可用性エッジ プロファイル
このスタンドアロン クラスタ構成の次の機能とオプションに留意してください。
- 3 つのノードでの高可用性
- エッジ プロファイル
containerd
コンテナ ランタイム- バンドルされたレイヤ 2 ロード バランシング
- ノードプールなし
gcrKeyPath: baremetal/gcr.json
sshPrivateKeyPath: .ssh/id_rsa
gkeConnectAgentServiceAccountKeyPath: baremetal/connect-agent.json
gkeConnectRegisterServiceAccountKeyPath: baremetal/connect-register.json
cloudOperationsServiceAccountKeyPath: baremetal/cloud-ops.json
---
apiVersion: v1
kind: Namespace
metadata:
name: cluster-edge-ha
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: edge-ha
namespace: cluster-edge-ha
spec:
type: standalone
profile: edge
anthosBareMetalVersion: 1.11.8
gkeConnect:
projectID: project-fleet
controlPlane:
nodePoolSpec:
nodes:
- address: 10.200.0.2
- address: 10.200.0.3
- address: 10.200.0.4
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 172.26.232.0/24
loadBalancer:
mode: bundled
ports:
controlPlaneLBPort: 443
vips:
controlPlaneVIP: 10.200.0.71
ingressVIP: 10.200.0.72
addressPools:
- name: pool1
addresses:
- 10.200.0.72-10.200.0.90
clusterOperations:
projectID: project-fleet
location: us-central1
storage:
lvpNodeMounts:
path: /mnt/localpv-disk
storageClassName: local-disks
lvpShare:
path: /mnt/localpv-share
storageClassName: local-shared
numPVUnderSharedPath: 5
nodeConfig:
containerRuntime: containerd
podDensity:
maxPodsPerNode: 110
ハイブリッド クラスタ
ハイブリッド クラスタの次の機能に注目してください。
- クラスタ自身を管理できます
- ワークロードを実行できます
- 他のユーザー クラスタを管理できます
ハイブリッド クラスタは、ユーザー ワークロードを実行できる管理クラスタのように機能します。管理クラスタと同様に、ハイブリッド クラスタは他のユーザー クラスタを管理できます。スタンドアロン クラスタの詳細については、ハイブリッド クラスタのデプロイとハイブリッド クラスタの作成をご覧ください。
基本ハイブリッド クラスタ
このハイブリッド クラスタ構成では、次の機能とオプションに注目してください。
- 非高可用性
- バンドルされたレイヤ 2 ロード バランシング
containerd
コンテナ ランタイム
gcrKeyPath: baremetal/gcr.json
sshPrivateKeyPath: .ssh/id_rsa
gkeConnectAgentServiceAccountKeyPath: baremetal/connect-agent.json
gkeConnectRegisterServiceAccountKeyPath: baremetal/connect-register.json
cloudOperationsServiceAccountKeyPath: baremetal/cloud-ops.json
---
apiVersion: v1
kind: Namespace
metadata:
name: cluster-hybrid-basic
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: hybrid-basic
namespace: cluster-hybrid-basic
spec:
type: hybrid
profile: default
anthosBareMetalVersion: 1.11.8
gkeConnect:
projectID: project-fleet
controlPlane:
nodePoolSpec:
nodes:
- address: 10.200.0.2
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 172.26.232.0/24
loadBalancer:
mode: bundled
ports:
controlPlaneLBPort: 443
vips:
controlPlaneVIP: 10.200.0.71
ingressVIP: 10.200.0.72
addressPools:
- name: pool1
addresses:
- 10.200.0.72-10.200.0.90
clusterOperations:
projectID: project-fleet
location: us-central1
storage:
lvpNodeMounts:
path: /mnt/localpv-disk
storageClassName: local-disks
lvpShare:
path: /mnt/localpv-share
storageClassName: local-shared
numPVUnderSharedPath: 5
nodeConfig:
containerRuntime: containerd
podDensity:
maxPodsPerNode: 250
---
apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
name: np1
namespace: cluster-hybrid-basic
spec:
clusterName: hybrid-basic
nodes:
- address: 10.200.0.10
- address: 10.200.0.11
- address: 10.200.0.12
高可用性ハイブリッド クラスタ
このハイブリッド クラスタ構成では、次の機能とオプションに注目してください。
- 高可用性
- OIDC
- プロキシの背後
- レジストリ ミラー
- プライベート パッケージ リポジトリ
- バンドルされたレイヤ 2 ロード バランシング
registryMirrors:
- endpoint: https://10.194.2.13:5007/v2/test-namespace
caCertPath: /root/cert.pem
pullCredentialConfigPath: /root/dockerconfig.json
sshPrivateKeyPath: .ssh/id_rsa
gkeConnectAgentServiceAccountKeyPath: baremetal/connect-agent.json
gkeConnectRegisterServiceAccountKeyPath: baremetal/connect-register.json
cloudOperationsServiceAccountKeyPath: baremetal/cloud-ops.json
---
apiVersion: v1
kind: Namespace
metadata:
name: cluster-hybrid-ha
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: hybrid-ha
namespace: cluster-hybrid-ha
spec:
type: hybrid
profile: default
anthosBareMetalVersion: 1.11.8
gkeConnect:
projectID: project-fleet
controlPlane:
nodePoolSpec:
nodes:
- address: 10.200.0.2
- address: 10.200.0.3
- address: 10.200.0.4
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 172.26.232.0/24
proxy:
url: http://10.194.2.140:3128
noProxy:
- 127.0.0.1
- localhost
osEnvironmentConfig:
addPackageRepo: false
loadBalancer:
mode: bundled
ports:
controlPlaneLBPort: 443
vips:
controlPlaneVIP: 10.200.0.71
ingressVIP: 10.200.0.72
addressPools:
- name: pool1
addresses:
- 10.200.0.72-10.200.0.90
clusterOperations:
projectID: project-fleet
location: us-central1
storage:
lvpNodeMounts:
path: /mnt/localpv-disk
storageClassName: local-disks
lvpShare:
path: /mnt/localpv-share
storageClassName: local-shared
numPVUnderSharedPath: 5
authentication:
oidc:
issuerURL: "https://infra.example.dev/adfs"
clientID: "be654652-2c45-49ff-9d7c-3663cee9ba51"
clientSecret: "clientSecret"
kubectlRedirectURL: "http://localhost:44320/callback"
username: "unique_name"
usernamePrefix: "oidc:"
group: "groups"
groupPrefix: "oidc:"
scopes: "allatclaims"
extraParams: "resource=token-groups-claim"
deployCloudConsoleProxy: true
certificateAuthorityData: base64EncodedCACertificate
proxy: http://10.194.2.140:3128
nodeConfig:
containerRuntime: containerd
podDensity:
maxPodsPerNode: 250
---
apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
name: np1
namespace: cluster-hybrid-ha
spec:
clusterName: hybrid-ha
nodes:
- address: 10.200.0.10
- address: 10.200.0.11
- address: 10.200.0.12
コントロール プレーンの外部でロード バランシングを行う高可用性ハイブリッド クラスタ
このハイブリッド クラスタ構成では、次の機能とオプションに注目してください。
- 高可用性
- OIDC
- プロキシの背後
- レジストリ ミラー
- プライベート パッケージ リポジトリ
- コントロール プレーン外部のバンドルされたレイヤ 2 ロード バランシング
containerd
コンテナ ランタイム
registryMirrors:
- endpoint: https://10.194.2.13:5007/v2/test-namespace
caCertPath: /root/cert.pem
pullCredentialConfigPath: /root/dockerconfig.json
sshPrivateKeyPath: .ssh/id_rsa
gkeConnectAgentServiceAccountKeyPath: baremetal/connect-agent.json
gkeConnectRegisterServiceAccountKeyPath: baremetal/connect-register.json
cloudOperationsServiceAccountKeyPath: baremetal/cloud-ops.json
---
apiVersion: v1
kind: Namespace
metadata:
name: cluster-hybrid-ha-lb
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: hybrid-ha-lb
namespace: cluster-hybrid-ha-lb
spec:
type: hybrid
profile: default
anthosBareMetalVersion: 1.11.8
gkeConnect:
projectID: project-fleet
controlPlane:
nodePoolSpec:
nodes:
- address: 10.200.0.2
- address: 10.200.0.3
- address: 10.200.0.4
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 172.26.232.0/24
proxy:
url: http://10.194.2.140:3128
noProxy:
- 127.0.0.1
- localhost
osEnvironmentConfig:
addPackageRepo: false
loadBalancer:
mode: bundled
ports:
controlPlaneLBPort: 443
vips:
controlPlaneVIP: 10.200.0.71
ingressVIP: 10.200.0.72
addressPools:
- name: pool1
addresses:
- 10.200.0.72-10.200.0.90
nodePoolSpec:
nodes:
- address: 10.200.0.5
- address: 10.200.0.6
- address: 10.200.0.7
clusterOperations:
projectID: project-fleet
location: us-central1
storage:
lvpNodeMounts:
path: /mnt/localpv-disk
storageClassName: local-disks
lvpShare:
path: /mnt/localpv-share
storageClassName: local-shared
numPVUnderSharedPath: 5
authentication:
oidc:
issuerURL: "https://infra.example.dev/adfs"
clientID: "be654652-2c45-49ff-9d7c-3663cee9ba51"
clientSecret: "clientSecret"
kubectlRedirectURL: "http://localhost:44320/callback"
username: "unique_name"
usernamePrefix: "oidc:"
group: "groups"
groupPrefix: "oidc:"
scopes: "allatclaims"
extraParams: "resource=token-groups-claim"
deployCloudConsoleProxy: true
certificateAuthorityData: base64EncodedCACertificate
proxy: http://10.194.2.140:3128
nodeConfig:
containerRuntime: containerd
podDensity:
maxPodsPerNode: 250
---
apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
name: np1
namespace: cluster-hybrid-ha-lb
spec:
clusterName: hybrid-ha-lb
nodes:
- address: 10.200.0.10
- address: 10.200.0.11
- address: 10.200.0.12
管理クラスタ
管理クラスタは、他のユーザー クラスタの管理に使用されます。1 つのデータセンター内にある多数のクラスタを一元化された場所から管理する場合や、デプロイが大規模で、チーム間の分離、開発と本番環境でのワークロードの分離が必要な場合には、管理クラスタを使用します。
管理クラスタの詳細については、マルチクラスタのデプロイと管理クラスタの作成をご覧ください。
基本管理クラスタ
この管理クラスタ構成では、次の機能とオプションに注目してください。
- 非高可用性
- バンドルされたレイヤ 2 ロード バランシング
containerd
コンテナ ランタイム
gcrKeyPath: baremetal/gcr.json
sshPrivateKeyPath: .ssh/id_rsa
gkeConnectAgentServiceAccountKeyPath: baremetal/connect-agent.json
gkeConnectRegisterServiceAccountKeyPath: baremetal/connect-register.json
cloudOperationsServiceAccountKeyPath: baremetal/cloud-ops.json
---
apiVersion: v1
kind: Namespace
metadata:
name: cluster-admin-basic
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: admin-basic
namespace: cluster-admin-basic
spec:
type: admin
profile: default
anthosBareMetalVersion: 1.11.8
gkeConnect:
projectID: project-fleet
controlPlane:
nodePoolSpec:
nodes:
- address: 10.200.0.2
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 172.26.232.0/24
loadBalancer:
mode: bundled
ports:
controlPlaneLBPort: 443
vips:
controlPlaneVIP: 10.200.0.71
clusterOperations:
projectID: project-fleet
location: us-central1
storage:
lvpNodeMounts:
path: /mnt/localpv-disk
storageClassName: local-disks
lvpShare:
path: /mnt/localpv-share
storageClassName: local-shared
numPVUnderSharedPath: 5
nodeConfig:
containerRuntime: containerd
podDensity:
maxPodsPerNode: 250
手動ロード バランシングを使用した管理クラスタ
この管理クラスタ構成では、次の機能とオプションに注目してください。
- 非高可用性
- 外部に手動で構成されたロード バランシング
containerd
コンテナ ランタイム
gcrKeyPath: baremetal/gcr.json
sshPrivateKeyPath: .ssh/id_rsa
gkeConnectAgentServiceAccountKeyPath: baremetal/connect-agent.json
gkeConnectRegisterServiceAccountKeyPath: baremetal/connect-register.json
cloudOperationsServiceAccountKeyPath: baremetal/cloud-ops.json
---
apiVersion: v1
kind: Namespace
metadata:
name: cluster-admin-manlb
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: admin-manlb
namespace: cluster-admin-manlb
spec:
type: admin
profile: default
anthosBareMetalVersion: 1.11.8
gkeConnect:
projectID: project-fleet
controlPlane:
nodePoolSpec:
nodes:
- address: 10.200.0.2
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 172.26.232.0/24
loadBalancer:
mode: manual
ports:
controlPlaneLBPort: 443
vips:
controlPlaneVIP: 10.200.0.71
clusterOperations:
projectID: project-fleet
location: us-central1
storage:
lvpNodeMounts:
path: /mnt/localpv-disk
storageClassName: local-disks
lvpShare:
path: /mnt/localpv-share
storageClassName: local-shared
numPVUnderSharedPath: 5
nodeConfig:
containerRuntime: containerd
podDensity:
maxPodsPerNode: 250
高可用性管理クラスタ
この管理クラスタ構成では、次の機能とオプションに注目してください。
- 高可用性
- OIDC
- プロキシの背後
- レジストリ ミラー
- プライベート パッケージ リポジトリ
- バンドルされたレイヤ 2 ロード バランシング
registryMirrors:
- endpoint: https://10.194.2.13:5007/v2/test-namespace
caCertPath: /root/cert.pem
pullCredentialConfigPath: /root/dockerconfig.json
sshPrivateKeyPath: .ssh/id_rsa
gkeConnectAgentServiceAccountKeyPath: baremetal/connect-agent.json
gkeConnectRegisterServiceAccountKeyPath: baremetal/connect-register.json
cloudOperationsServiceAccountKeyPath: baremetal/cloud-ops.json
---
apiVersion: v1
kind: Namespace
metadata:
name: cluster-admin-ha
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: admin-ha
namespace: cluster-admin-ha
spec:
type: admin
profile: default
anthosBareMetalVersion: 1.11.8
gkeConnect:
projectID: project-fleet
controlPlane:
nodePoolSpec:
nodes:
- address: 10.200.0.2
- address: 10.200.0.3
- address: 10.200.0.4
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 172.26.232.0/24
proxy:
url: http://10.194.2.140:3128
noProxy:
- 127.0.0.1
- localhost
osEnvironmentConfig:
addPackageRepo: false
loadBalancer:
mode: bundled
ports:
controlPlaneLBPort: 443
vips:
controlPlaneVIP: 10.200.0.71
clusterOperations:
projectID: project-fleet
location: us-central1
storage:
lvpNodeMounts:
path: /mnt/localpv-disk
storageClassName: local-disks
lvpShare:
path: /mnt/localpv-share
storageClassName: local-shared
numPVUnderSharedPath: 5
authentication:
oidc:
issuerURL: "https://infra.example.dev/adfs"
clientID: "be654652-2c45-49ff-9d7c-3663cee9ba51"
clientSecret: "clientSecret"
kubectlRedirectURL: "http://localhost:44320/callback"
username: "unique_name"
usernamePrefix: "oidc:"
group: "groups"
groupPrefix: "oidc:"
scopes: "allatclaims"
extraParams: "resource=token-groups-claim"
deployCloudConsoleProxy: true
certificateAuthorityData: base64EncodedCACertificate
proxy: http://10.194.2.140:3128
nodeConfig:
containerRuntime: containerd
podDensity:
maxPodsPerNode: 250
ユーザー クラスタ
ユーザー クラスタはコンテナ化されたワークロードを実行します。ユーザー クラスタには、ユーザー ワークロードを実行する 1 つ以上のワーカーノードを含める必要があります。1 つのデータセンター内にある多数のクラスタを一元化された場所から管理する場合は、ユーザー クラスタを使用します。デプロイが大規模で、チーム間の分離、開発と本番環境でのワークロードの分離が必要な場合にも、ユーザー クラスタが推奨されます。
管理クラスタの詳細については、マルチクラスタのデプロイとユーザー クラスタの作成をご覧ください。
基本ユーザー クラスタ
このユーザー クラスタ構成では、次の機能とオプションに注意してください。
- 非高可用性
- バンドルされたレイヤ 2 ロード バランシング
- Docker コンテナ ランタイム
apiVersion: v1
kind: Namespace
metadata:
name: cluster-user-basic
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: user-basic
namespace: cluster-user-basic
spec:
type: user
profile: default
anthosBareMetalVersion: 1.11.8
gkeConnect:
projectID: project-fleet
controlPlane:
nodePoolSpec:
nodes:
- address: 10.200.0.20
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 172.26.232.0/24
loadBalancer:
mode: bundled
ports:
controlPlaneLBPort: 443
vips:
controlPlaneVIP: 10.200.0.91
ingressVIP: 10.200.0.92
addressPools:
- name: pool1
addresses:
- 10.200.0.92-10.200.0.100
clusterOperations:
projectID: project-fleet
location: us-central1
storage:
lvpNodeMounts:
path: /mnt/localpv-disk
storageClassName: local-disks
lvpShare:
path: /mnt/localpv-share
storageClassName: local-shared
numPVUnderSharedPath: 5
nodeConfig:
containerRuntime: docker
podDensity:
maxPodsPerNode: 250
---
apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
name: np1
namespace: cluster-user-basic
spec:
clusterName: user-basic
nodes:
- address: 10.200.0.30
- address: 10.200.0.31
- address: 10.200.0.32
複数のノードプールがある高可用性ユーザー クラスタ
このユーザー クラスタ構成では、次の機能とオプションに注意してください。
- SSH 認証鍵のオーバーライド
- 高可用性
- プロキシの背後
- レジストリ ミラー
- プライベート パッケージ リポジトリ
- バンドルされたレイヤ 2 ロード バランシング
- 複数のノードプール
registryMirrors:
- endpoint: https://10.194.2.13:5007/v2/test-namespace
caCertPath: /root/cert.pem
pullCredentialConfigPath: /root/dockerconfig.json
---
apiVersion: v1
kind: Namespace
metadata:
name: cluster-user-ha-np
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: user-ha-np
namespace: cluster-user-ha-np
spec:
type: user
profile: default
anthosBareMetalVersion: 1.11.8
gkeConnect:
projectID: project-fleet
controlPlane:
nodePoolSpec:
nodes:
- address: 10.200.0.20
- address: 10.200.0.21
- address: 10.200.0.22
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 172.26.232.0/24
proxy:
url: http://10.194.2.140:3128
noProxy:
- 127.0.0.1
- localhost
osEnvironmentConfig:
addPackageRepo: false
loadBalancer:
mode: bundled
ports:
controlPlaneLBPort: 443
vips:
controlPlaneVIP: 10.200.0.91
ingressVIP: 10.200.0.92
addressPools:
- name: pool1
addresses:
- 10.200.0.92-10.200.0.100
clusterOperations:
projectID: project-fleet
location: us-central1
storage:
lvpNodeMounts:
path: /mnt/localpv-disk
storageClassName: local-disks
lvpShare:
path: /mnt/localpv-share
storageClassName: local-shared
numPVUnderSharedPath: 5
nodeConfig:
containerRuntime: containerd
podDensity:
maxPodsPerNode: 250
credential:
sshKeySecret:
name: ssh-key
namespace: cluster-user-ha-np
---
apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
name: np1
namespace: cluster-user-ha-np
spec:
clusterName: user-ha-np
nodes:
- address: 10.200.0.30
- address: 10.200.0.31
- address: 10.200.0.32
---
apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
name: np2
namespace: cluster-user-ha-np
spec:
clusterName: user-ha-np
nodes:
- address: 10.200.0.33
- address: 10.200.0.34
- address: 10.200.0.35
OIDC がある高可用性ユーザー クラスタ
このユーザー クラスタ構成では、次の機能とオプションに注意してください。
- 高可用性
- OIDC
- プロキシの背後
- レジストリ ミラー
- プライベート パッケージ リポジトリ
- コントロール プレーンからのバンドル レイヤ 2 ロード バランシング
registryMirrors:
- endpoint: https://10.194.2.13:5007/v2/test-namespace
caCertPath: /root/cert.pem
pullCredentialConfigPath: /root/dockerconfig.json
---
apiVersion: v1
kind: Namespace
metadata:
name: cluster-user-ha-oidc
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: user-ha-oidc
namespace: cluster-user-ha-oidc
spec:
type: user
profile: default
anthosBareMetalVersion: 1.11.8
gkeConnect:
projectID: project-fleet
controlPlane:
nodePoolSpec:
nodes:
- address: 10.200.0.20
- address: 10.200.0.21
- address: 10.200.0.22
clusterNetwork:
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 172.26.232.0/24
proxy:
url: http://10.194.2.140:3128
noProxy:
- 127.0.0.1
- localhost
osEnvironmentConfig:
addPackageRepo: false
loadBalancer:
mode: bundled
ports:
controlPlaneLBPort: 443
vips:
controlPlaneVIP: 10.200.0.91
ingressVIP: 10.200.0.92
addressPools:
- name: pool1
addresses:
- 10.200.0.92-10.200.0.100
nodePoolSpec:
nodes:
- address: 10.200.0.25
- address: 10.200.0.26
- address: 10.200.0.27
clusterOperations:
projectID: project-fleet
location: us-central1
storage:
lvpNodeMounts:
path: /mnt/localpv-disk
storageClassName: local-disks
lvpShare:
path: /mnt/localpv-share
storageClassName: local-shared
numPVUnderSharedPath: 5
authentication:
oidc:
issuerURL: "https://infra.example.dev/adfs"
clientID: "be654652-2c45-49ff-9d7c-3663cee9ba51"
clientSecret: "clientSecret"
kubectlRedirectURL: "http://localhost:44320/callback"
username: "unique_name"
usernamePrefix: "oidc:"
group: "groups"
groupPrefix: "oidc:"
scopes: "allatclaims"
extraParams: "resource=token-groups-claim"
deployCloudConsoleProxy: true
certificateAuthorityData: base64EncodedCACertificate
proxy: http://10.194.2.140:3128
nodeConfig:
containerRuntime: containerd
podDensity:
maxPodsPerNode: 250
---
apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
name: np1
namespace: cluster-user-ha-oidc
spec:
clusterName: user-ha-oidc
nodes:
- address: 10.200.0.30
- address: 10.200.0.31
- address: 10.200.0.32
LDAP と BGP ロード バランシングを使用した高可用性ユーザー クラスタ
このユーザー クラスタ構成では、次の機能とオプションに注意してください。
- 高可用性
- LDAP
- BGP によるバンドル型負荷分散
apiVersion: v1
kind: Namespace
metadata:
name: cluster-user-ha-ldap
---
apiVersion: baremetal.cluster.gke.io/v1
kind: Cluster
metadata:
name: user-ha-ldap
namespace: cluster-user-ha-ldap
spec:
type: user
profile: default
anthosBareMetalVersion: 1.11.8
gkeConnect:
projectID: project-fleet
controlPlane:
nodePoolSpec:
nodes:
- address: 10.200.0.20
- address: 10.200.0.21
- address: 10.200.0.22
clusterNetwork:
advancedNetworking: true
pods:
cidrBlocks:
- 192.168.0.0/16
services:
cidrBlocks:
- 172.26.232.0/24
loadBalancer:
mode: bundled
type: bgp
localASN: 65001
bgpPeers:
- ip: 10.8.0.10
asn: 65002
- ip: 10.8.0.11
asn: 65002
ports:
controlPlaneLBPort: 443
vips:
controlPlaneVIP: 10.200.0.91
ingressVIP: 10.200.0.92
addressPools:
- name: pool1
addresses:
- 10.200.0.92-10.200.0.100
clusterOperations:
projectID: project-fleet
location: us-central1
storage:
lvpNodeMounts:
path: /mnt/localpv-disk
storageClassName: local-disks
lvpShare:
path: /mnt/localpv-share
storageClassName: local-shared
numPVUnderSharedPath: 5
nodeConfig:
containerRuntime: containerd
podDensity:
maxPodsPerNode: 250
authentication:
- name: ldap
ldap:
connectionType: ldaps
group:
baseDN: ou=Groups,dc=onpremidp,dc=example,dc=net
filter: (objectClass=*)
identifierAttribute: dn
host: ldap.google.com:636
user:
baseDN: ou=Users,dc=onpremidp,dc=example,dc=net
filter: (objectClass=*)
identifierAttribute: uid
loginAttribute: uid
serviceAccountSecret:
name: google-ldap-client-secret
namespace: anthos-identity-service
type: tls
---
apiVersion: baremetal.cluster.gke.io/v1
kind: NodePool
metadata:
name: np1
namespace: cluster-user-ha-ldap
spec:
clusterName: user-ha-ldap
nodes:
- address: 10.200.0.30
- address: 10.200.0.31
- address: 10.200.0.32
---
apiVersion: networking.gke.io/v1
kind: NetworkGatewayGroup
metadata:
name: default
namespace: cluster-user-ha-ldap
spec:
floatingIPs:
- 10.0.1.100
- 10.0.2.100