推定所要時間: 15 分
動作可能なコンポーネントの所有者: RMスキル プロファイル: デプロイ エンジニア
OrganizationZonalConfig リソースは、組織のゾーンごとの構成を制御するソースです。アップグレードのためにルート管理クラスタのライフサイクルを管理するには、ルート OrganizationZonalConfig リソースが必要です。IaC を使用してリソースを作成する必要があります。
次の手順でルート OrganizationZonalConfig リソースを作成します。
ルート
OrganizationZonalConfigカスタム リソースを生成します。get_capacity(){ CAPACITY="$(kubectl --kubeconfig ROOT_ADMIN_KUBECONFIG get organizations -n gpc-system root -o json | jq -r ".spec.resourceCapacities.\"$1\" | to_entries | map(\"\(.key)=\(.value)\") | join(\",\")")"; echo $([[ -z ${CAPACITY} ]] || echo "$2=${CAPACITY} "); } VERSION=$(kubectl --kubeconfig ROOT_ADMIN_KUBECONFIG get organization -n gpc-system root -o json | jq .spec.version) ZONE=$(kubectl --kubeconfig ROOT_ADMIN_KUBECONFIG get controlplane cp -n mz-system -ojsonpath='{.spec.zone}') gdcloud organizations zonal-configs create --name=root --zones=${ZONE?} --version=${VERSION?} $(get_capacity adminServers --admin-server) $(get_capacity storage --storage-sku)ROOT_ADMIN_KUBECONFIGは、ルート管理クラスタの kubeconfig ファイルへのパスに置き換えます。生成された
OrganizationZonalConfigカスタム リソース YAML ファイルの例は次のようになります。apiVersion: resourcemanager.global.private.gdc.goog/v1alpha1 kind: OrganizationZonalConfig metadata: namespace: gpc-system name: root-zone1-config spec: organizationRef: name: root zone: zone1 version: "1.14.0-gdch.1594" capacities: adminServers: o1-highmem1-40-gdc-metal: 3 storage: object-nearline: 10Ti object-standard: 10TiOrganizationZonalConfigカスタム リソースを IaC リポジトリにコピーします。cp YAML_FILE_PATH IAC_REPO_PATH/iac/infrastructure/global/orgs/root/次のように置き換えます。
YAML_FILE_PATH:OrganizationZonalConfigカスタム リソースのファイルへのパス。IAC_REPO_PATH: IAC リポジトリのパス。
ルート
OrganizationZonalConfigをルート組織のリソースとして追加します。global-root-kustomization.yamlファイルを開きます。vim IAC_REPO_PATH/iac/infrastructure/global/orgs/root/global-root-kustomization.yaml既存のリソース リストの末尾に、ルート
OrganizationZonalConfigをリソースとして追加します。apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization metadata: name: global-root-kustomization resources: - ... # existing resource items - FILE_NAME.yaml
OrganizationZonalConfigYAML ファイルとkustomizeファイルをステージングして commit します。git add "IAC_REPO_PATH/iac/infrastructure/global" git commitマージ リクエストを作成します。
git checkout -b BRANCH_NAME git -c http.sslVerify=false push -o merge_request.create origin BRANCH_NAMEBRANCH_NAMEは、ブランチに選択した名前に置き換えます。コードレビューとマージを待ちます。
ルート管理クラスタの管理者 Kubernetes 構成を使用して、グローバル API の管理者 Kubernetes 構成を取得します。
kubectl get secrets -n global-kube-system kube-admin-test-kubeconfig -ojsonpath="{.data.value}" | base64 -d > HOME_DIRECTORY/root-global-kubeconfigルート管理クラスタの管理者 Kubernetes 構成を使用して、グローバル API のポートを転送します。
kubectl port-forward -n global-kube-system service/kube-svc 6449:6449 &> /dev/null &このステップでは、ポート転送コマンドがバックグラウンドで実行されます。プロセスが予期せず停止した場合は、同じコマンドを再実行して再起動できます。
OrganizationZonalConfigリソースが GDC 環境で使用可能であることを確認します。kubectl --kubeconfig HOME_DIRECTORY/root-global-kubeconfig get organizationzonalconfig -A出力には、次のエントリが含まれている必要があります。ゾーン名は異なる場合があります。
NAMESPACE NAME AGE gpc-system rootzone1config 38h