2024年7月23日 【Google Cloud】第2回:GKE on VMwareを構築してみた~構築編前半~ Anthos GKE Google Cloud VMware 検索する Popular tags 生成AI(Generative AI) Looker Studio BigQuery AlloyDB Google Workspace 事例紹介 Cloud SQL Category Google Cloud Author Google Cloud研究開発チーム SHARE 目次 要件 前提 Google Cloud リソースの設定 管理ワークステーション作成 補足:GKE Entterpriseの無料トライアル登録 まとめ Content 本記事は、以下記事シリーズの第2回です。 【Google Cloud】第1回:GKE on VMwareを構築してみた~概要編~ 【Google Cloud】第2回:GKE on VMwareを構築してみた~構築編前半~ ★本記事 【Google Cloud】第3回:GKE on VMwareを構築してみた~構築編後半~ 第1回では、GKE on VMwareの概要についてご説明しました。 本記事は実際にGKE on VMwareを構築するにあたり、どんな手順が必要となるのかをご説明します。 要件 ソフトウェア要件 ESXi、vCenter Serverで以下いずれかのバージョンをサポートしています。 ・バージョン 7.0 の 7.0 Update 2 以降のアップデート ・バージョン 8.0 ライセンス要件 以下いずれかのライセンスが必要です。 ・vSphere Enterprise Plus ライセンスと有効なサポートサブスクリプション ・vSphere Standard ライセンスと有効なサポートサブスクリプション ハードウェア要件(最小要件) 以下の要件を満たすESXiを実行する物理ホストが1台必要です。 ・2.7Ghzかつハイパースレッディングが有効な8つのCPU ・80GiBのRAM ・128GiBのストレージ ネットワーク要件 ・管理ワークステーションとクラスタノードはインターネットへ接続できる必要があります。 ・ファイヤーウォールで以下の通信を許可する必要があります。 https://cloud.google.com/anthos/clusters/docs/on-prem/latest/how-to/firewall-rules?hl=ja#firewall_rules その他要件 ・管理ワークステーションとクラスタノードで使用可能なDNSサーバが必要です。 ・クラスタノードで使用可能なNTPサーバが必要です。 前提 構築手順をご説明するにあたり、以下を前提とします。 ・作業環境のOSはLinux、かつGoogle Cloud SDKはインストール済みとします ・vSphere環境の以下オブジェクトはすでに設定されているものとします vSphere データセンター vSphere クラスタ vSphere データストア vSphere ネットワーク ・各コマンドの大文字については、各自の環境に置き換えてください Google Cloud リソースの設定 1.Google Cloudプロジェクト設定 Google Cloudプロジェクトが存在しない場合、以下のサイトを参照し、プロジェクトを作成します。 https://cloud.google.com/resource-manager/docs/creating-managing-projects?hl=ja#creating_a_project 2.IAM設定 以下のコマンドを実行し、後続の作業に必要なIAMロールを作業者に付与します。 ※ACCOUNTは作業者のGoogleアカウントです gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/resourcemanager.projectIamAdmin" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/serviceusage.serviceUsageAdmin" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountCreator" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:ACCOUNT" \ --role="roles/iam.serviceAccountKeyAdmin" 3.サービスアカウント設定 GKE on VMware を使用するには、Google Cloud プロジェクトに 4 つのサービス アカウントが必要ですが、2つは自動生成されるため、残り2つのサービスアカウントを手動で作成する必要があります。 Connect-register サービス アカウント(自動生成) Logging-monitoring サービス アカウント(自動生成) 監査ロギング サービス アカウント(手動で作成) コンポーネント アクセス サービス アカウント(手動で作成) 以下のコマンドを実行し、監査ロギング サービス アカウントを作成します。 gcloud iam service-accounts create audit-logging-sa \ --project PROJECT_ID 以下のコマンドを実行し、監査ロギング サービス アカウントのJSONキーをダウンロードします。 ※ダウンロードしたJSONキーは後続作業を利用するため大切に保管してください ※SERVICE_ACCOUNT_EMAILはaudit-logging-sa@PROJECT_ID.iam.gserviceaccount.comです gcloud iam service-accounts keys create audit-logging-key.json \ --iam-account SERVICE_ACCOUNT_EMAIL 以下のコマンドを実行し、コンポーネント アクセス サービス アカウントを作成します。 gcloud iam service-accounts create component-access-sa \ --display-name "Component Access Service Account" \ --project PROJECT_ID 以下のコマンドを実行し、コンポーネント アクセス サービス アカウントの JSONキーをダウンロードします。 ※ダウンロードしたJSONキーは後続作業を利用するため大切に保管してください ※SERVICE_ACCOUNT_EMAILはcomponent-access-sa@PROJECT_ID.iam.gserviceaccount.comです gcloud iam service-accounts keys create component-access-key.json \ --iam-account SERVICE_ACCOUNT_EMAIL 以下のコマンドを実行し、IAM ロールをコンポーネント アクセス サービス アカウントに追加します。 ※SERVICE_ACCOUNT_EMAILはcomponent-access-sa@PROJECT_ID.iam.gserviceaccount.comです gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/serviceusage.serviceUsageViewer" gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/iam.roleViewer" gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT_EMAIL" \ --role "roles/iam.serviceAccountViewer" 4.Google API有効化 !!注意!! 本手順を実行すると、課金が発生する可能性があります。 事前に無料トライアルを登録することでGKE Enterpriseを90日無料で利用することが可能ですので、手順が気になる方は「補足:GKE Entterpriseの無料トライアル登録」をご参照ください。 Cloud Shellから以下のコマンドを実行し、APIを有効化します。 gcloud services enable --project PROJECT_ID \ anthos.googleapis.com \ anthosgke.googleapis.com \ anthosaudit.googleapis.com \ cloudresourcemanager.googleapis.com \ connectgateway.googleapis.com \ container.googleapis.com \ gkeconnect.googleapis.com \ gkehub.googleapis.com \ gkeonprem.googleapis.com \ serviceusage.googleapis.com \ stackdriver.googleapis.com \ opsconfigmonitoring.googleapis.com \ monitoring.googleapis.com \ logging.googleapis.com \ iam.googleapis.com \ storage.googleapis.com \ kubernetesmetadata.googleapis.com gcloud container vmware clusters query-version-config \ --project=PROJECT_ID \ --location="REGION" 管理ワークステーション作成 1.gkeadmをダウンロードする クラスタを作成する前に、管理ワークステーションを作成する必要があります。 管理ワークステーションは、vSphere 環境で GKE Enterprise クラスタを作成するために必要なツールとリソースを備えたスタンドアロンの VM です。また、gkeadmは、管理者ワークステーションを作成するためのコマンドラインツールです。 以下のコマンドを実行し、gkeadmをダウンロードします。 ※手順は検証当時の最新バージョンのため、 こちらから最新のコマンドを確認して実行してください gsutil cp gs://gke-on-prem-release/gkeadm/1.28.200-gke.111/linux/gkeadm ./ chmod +x gkeadm gkeadm のバージョンを確認するには、次のコマンドを実行します。 ./gkeadm version 2.認証情報ファイルを作成する 作業端末から管理ワークステーションを作成する際に、vCenterへの接続が必要です。 そのため、vCenter Serverへの接続するための認証情報ファイルを作成します。 現在のディレクトリに「credential.yaml」というファイル名で認証情報ファイルを作成します。 apiVersion: v1 kind: CredentialFile items: - name: vCenter username: "USERNAME" #vCenter Serverにログインする際のユーザー名 password: "PASSWORD" #上記ユーザーのログインパスワード 3.管理ワークステーションの構成ファイルを作成する 再度、現在のディレクトリに admin-ws-config.yaml という名前のファイルを作成します。 すべてのコードを表示する▼ gcp: componentAccessServiceAccountKeyPath: "COMPONENT_ACCESS_SA_KEY_PATH" #手順1.3.4でダウンロードしたjsonファイルのパス vCenter: credentials: address: "ADDRESS" #vCenter ServerのIPアドレス fileRef: path: "credential.yaml" entry: "vCenter" datacenter: "DATA_CENTER" #vSphere データセンターの名前 datastore: "DATASTORE" #vSphere データストアの名前 cluster: "VSPHERE_CLUSTER" vSphere クラスタの名前 network: "NETWORK" #vSphere ネットワークの名前 resourcePool: "RESOURCE_POOL" #vSphere リソースプールの名前またはパス caCertPath: "CA_CERT_PATH" #vCenter Server のルート CA 証明書のパス proxyUrl: "" adminWorkstation: name: "minimal-installation-admin-workstation" #管理ワークステーションのVM名 cpus: 4 memoryMB: 8192 diskGB: 50 dataDiskName: gke-on-prem-admin-workstation-data-disk/minimal-installation-data-disk.vmdk dataDiskMB: 512 network: ipAllocationMode: "static" hostConfig: ip: "ADMIN_WS_IP" #管理ワークステーション用の IP アドレス gateway: "DEFAULT_GATEWAY_IP" #管理ワークステーションとクラスタノードを持つサブネットのデフォルト ゲートウェイの IP アドレス netmask: "NETMASK" #管理ワークステーションとクラスタノードを持つサブネットのネットマスク dns: - "DNS_SERVER_IP" #DNS サーバーの IP アドレス proxyUrl: "" ntpServer: "NTP_SERVER_IP" #NTP サーバーの IP アドレス 4.管理ワークステーションを作成する 次のコマンドを使用して、管理ワークステーションを作成します。 ./gkeadm create admin-workstation --auto-create-service-accounts ※コマンドが正常に終了した場合、以下のような結果が出力されます Admin workstation information saved to /home/linux-user/minimal-installation-admin-workstation This file is required for future upgrades SSH into the admin workstation with the following command: ssh -i /home/linux-user/.ssh/gke-admin-workstation ubuntu@192.168.100.173 ******************************************************************** 5.管理ワークステーションに接続する 前手順で出力されたコマンドを利用して、管理ワークステーションに接続します。 ※以下は実行例のため、自身の環境に置き換えて実施してください ssh -i /home/linux-user/.ssh/gke-admin-workstation ubuntu@192.168.100.173 ※初回は以下の確認が表示されるため、「yes」と入力しEnterを押してください Are you sure you want to continue connecting (yes/no/[fingerprint])? yes 「exit」と入力し、管理ワークステーションからログアウト(SSH接続を終了)します。 6.監査ロギングキーを管理ワークステーションにコピーする 前の手順でダウンロードしたjsonキーファイルを管理ワークステーションに監査ロギングキーをコピーする必要があります。 ※後続のクラスタ作成で必要になるため 次のコマンドを実行し、管理ワークステーションのホーム ディレクトリに JSON キーファイルをコピーします。 ※SSH公開鍵(gke-admin-workstation)、jsonキーファイルのパス(audit-logging-key.json)、管理ワークステーションのIPアドレス(172.16.20.49)は各自の環境に置き換えて実行してください scp -i /home/linux-user/.ssh/gke-admin-workstation audit-logging-key.json ubuntu@172.16.20.49:~ 再度管理ワークステーションにSSH接続します。 以下のコマンドを実行し、ホーム ディレクトリ内のファイルを一覧表示します。 ls -1 ※以下のような結果が出力されます。各ファイルは後続の手順で必要になります。 admin-cluster.yaml 管理クラスタを作成するためのテンプレート構成ファイル admin-ws-config.yaml 管理ワークステーションの構成ファイル audit-logging-key.json 監査ログのサービス アカウント キー ファイル名 component-access-key.json コンポーネント アクセス サービス アカウントのキーファイル connect-register-sa-XXXXXXXXXX.json connect-register サービス アカウント キーのファイル名 credential.yaml 管理ワークステーションの構成で指定した credential.yaml ファイル vc01-cert.pem 管理ワークステーションの構成で指定した vCenter 証明書ファイル log-mon-sa-XXXXXXXXXX.json logging-monitoring サービス アカウント キーのファイル名 logs ログの出力先ディレクトリ user-cluster.yaml ユーザー クラスタを作成するためのテンプレート構成ファイル 補足:GKE Entterpriseの無料トライアル登録 ⅰ. Google Cloud管理コンソールにログインします。 ⅱ. 左メニューから「Kubernetes Engine」>「Enterpriseの詳細」>「GKE ENTERPRISEの詳細」を選択します。 ⅲ. 「90日間の無料試用を開始」にチェックし、「GKE エンタープライズの有効化」を選択します。 ⅳ. 「確認」を選択します。 ⅴ. 「GKE Enterpriseの有効化に成功」と表示されることを確認します。 ※90日を過ぎると自動で課金が有効になる可能性がありますのでご注意ください ※無効化する手順については以下のリンクをご参照ください https://cloud.google.com/kubernetes-engine/enterprise/docs/setup/disable-anthos?hl=ja まとめ 本記事では、GKE on VMwareの前提条件、Google Cloud リソースの設定手順、管理ワークステーション作成手順についてご説明いたしました。 前の記事では、GKE on VMwareの概要、特徴、アーキテクチャ、料金について、 次の記事では管理クラスタ・ユーザクラスタ作成、コンテナデプロイまでの手順についてご説明しておりますので、興味のある方はご覧いただけますと幸いです。 >【Google Cloud】第1回:GKE on VMwareを構築してみた~概要編~ 【Google Cloud】第2回:GKE on VMwareを構築してみた~構築編前半~ ★本記事 >【【Google Cloud】第3回:GKE on VMwareを構築してみた~構築編後半~ 参考記事 >https://cloud.google.com/anthos/clusters/docs/on-prem/latest/how-to/minimal-create-clusters?hl=ja#create_your_admin_workstation >https://cloud.google.com/anthos/clusters/docs/on-prem/latest/how-to/create-admin-workstation?hl=ja 関連コンテンツ 【Google Cloud】第1回:GKE on VMwareを構築してみた~概要編~ by Google Cloud研究開発チームon 2024年7月23日 【Google Cloud】第3回:GKE on VMwareを構築してみた~構築編後半~ by Google Cloud研究開発チームon 2024年7月23日 頂きましたご意見につきましては、今後のより良い商品開発・サービス改善に活かしていきたいと考えております。 よくわかった 実際につかってみたい よくわからなかった これからの時代はハイブリッドクラウドだ Author Google Cloud研究開発チーム 株式会社システムサポート(STS)のGoogle Cloud研究開発チームです。 実際に技術検証した事例を中心に記事発信していきます。 Anthos GKE Google Cloud VMware 2024年7月23日 【Google Cloud】第2回:GKE on VMwareを構築してみた~構築編前半~ Category Google Cloud 前の記事を読む 【Google Cloud】第1回:GKE on VMwareを構築してみた~概要編~ 次の記事を読む 【Google Cloud】第3回:GKE on VMwareを構築してみた~構築編後半~ Recommendation オススメ記事 2023年9月5日 Google Cloud 【Google Cloud】Looker Studio × Looker Studio Pro × Looker を徹底比較!機能・選び方を解説 2023年8月24日 Google Cloud 【Google Cloud】Migrate for Anthos and GKEでVMを移行してみた(1:概要編) 2022年10月10日 Google Cloud 【Google Cloud】AlloyDB と Cloud SQL を徹底比較してみた!!(第1回:AlloyDB の概要、性能検証編) BigQuery ML ワークショップ開催のお知らせ 生成AI導入支援パッケージ Discovery AI導入支援パッケージ Google Cloud ホワイトペーパー 新着記事 2024年10月9日 イベント・セミナー 【参加無料】typeエンジニア転職フェア 出展のお知らせ(2024/10/12) 2024年10月4日 イベント・セミナー 【11/20開催】データ分析&活用ウェビナー(事例紹介付き) 2024年9月30日 Google Cloud 【Google Cloud】サーバレスでマネージドなサービス「Cloud Run」でアプリケーションを走らせよう! HOME Google Cloud 【Google Cloud】第2回:GKE on VMwareを構築してみた~構築編前半~ ご意見・ご相談・料金のお見積もりなど、お気軽にお問い合わせください。 お問い合わせはこちら HOME Categories お知らせ イベント・セミナー Google Cloud Google Workspace モバイル インフラ 技術開発 ブログ 4koma Tags 生成AI(Generative AI) Looker Studio BigQuery AlloyDB Google Workspace 事例紹介 Cloud SQL STSエンジニアリングマガジン 「サイタル」 当サイトではクッキー(Cookie)、Googleアナリティクスを利用します。 「同意する」をクリックいただくことで、サイト上での最高のエクスペリエンスをご提供いたします。 ※詳細は以下をご覧ください。 外部送信ポリシー プライバシーポリシー同意する同意しない