小さなフットプリントで大きなインパクト: クラウドに接続された Kubernetes をエッジで動作させる
Google Cloud Japan Team
※この投稿は米国時間 2021 年 12 月 15 日に、Google Cloud blog に投稿されたものの抄訳です。
このブログ投稿では、ベアメタル版 Anthos の「エッジ」プロファイルについて説明します。この新しいプロファイルとデフォルトのプロファイルを比較します。また、最近発表された「ベアメタル版 Anthos を使用して大規模にクラスタをロールアウトする」を紹介します。このガイドでは、エッジにベアメタル版 Anthos をインストールして、Anthos Config Management を使用し、集中構成リポジトリでベアメタル版 Anthos を管理する手順が説明されています。
今日の急速に変化するデジタル ファースト環境において、企業は複雑で多様な課題に直面し、さまざまなサービスや技術が必要となっています。この多様な課題にはエッジにおけるワークロードが含まれます。これは、サービスに対するリクエストの発信元、およびレスポンスの送信元の近くに位置するワークロードです。このようなワークロードは、ビジネスの成功に不可欠であるにもかかわらず、リソースが制限された環境で実行されます。そこで Google は、Google Cloud が提供する運用のアジリティを、リソースが制限されたエッジにある、重要なユースケースにまで広げたいと考えています。
たとえば、小売業者は、国内外の複数の場所で店舗を展開しています。これらの店舗の POS、在庫管理、商品検索、従業員のチェックインといった日々の業務に特化したサービスは、サービス提供地により近い店舗(エッジ)で運用されます。これらのサービスは、データセンターとは異なるリソース制限のあるハードウェアで運用されます。店舗内の実行環境は、必要なものだけをホストするように制限されています。しかしながら、これらのワークロードは、他のアプリケーションの維持と同じ一貫性とアジリティを持って管理できる必要があります。Google はクラウド、オンプレミス、エッジのいずれにおいても、お客様が扱うワークロードの全体に対して、Google Cloud で管理とメンテナンスを一元的に行えるようにしたいと考えています。
Anthos は、柔軟性とデベロッパーのアジリティを高めながら一元管理を実現するという要求に応えます。また、ベアメタル版 Anthos などのバージョンを用意しており、お客様のワークロードが存在する場所のより近くで Anthos の利点を生かすことができます。ベアメタル版 Anthos を使用すると、ベアメタル(エッジを含む)ワークロードを一貫した方法で運用できます。Google Kubernetes Engine(GKE)を基盤とする Anthos には、あらゆる種類のワークロードを統合的に管理するための機能が備わっています。ベアメタル版 Anthos に新たに導入されたエッジ プロファイルは、Anthos の可能性をエッジ ワークロードにまで広げます。
Anthos Config Management と連携する Policy Controller: 異なるエッジ ロケーションで動作するワークロードに対して、一貫性のある構成とポリシーを作成、適用します。
Anthos フリート: 類似のワークロードを論理的にグループ化し、さまざまなエッジ ロケーションでの管理と適用の一貫性を確保しやすくします。
Anthos Service Mesh: 店舗内サービス通信と店舗間のサービス通信との間で、サービス間トラフィックを一元的にモニタリング、管理します。すべてのエッジ ロケーションにおいて、有用なネットワーク テレメトリーを収集します。
Anthos VM ランタイム: コンテナのワークロードを管理するために使用されるのと同じ Anthos のコントロール プレーンを介して、VM ベースのワークロードを管理します。
ベアメタル版 Anthos 用のエッジ プロファイルの導入
ベアメタル版 Anthos は、バージョン 1.8 からエッジ プロファイルを導入しています。エッジ プロファイルは必要なシステム リソースを最小限に抑えるので、リソースに大きな制約のあるエッジデバイスに推奨されます。エッジ プロファイルはスタンドアロン クラスタでのみ使用できます。スタンドアロン クラスタは、ワークロードを実行する自己管理クラスタです。リソースが制限されたシナリオで別の管理クラスタを実行する必要性を排除するため、他のクラスタは管理しません。エッジ プロファイルは、ユーザー ワークロードを除く vCPU と RAM のリソースの最小要件を指定します。ベアメタル版 Anthos のエッジ プロファイルには、次の利点があります。
2 ノード × 4 vCPU から 1 ノード × 2 vCPU へと、CPU 要件が 75% 削減されます。
Ubuntu 用のメモリ要件が、2 ノード × 32 GB から 1 ノード × 4 GB へと 90% 削減されます。
エッジ プロファイルのフットプリントが縮小されたことで、Anthos へのエッジ ワークロードのオンボーディングをすぐに開始できるようになります。ベアメタル版 Anthos は、エッジ ロケーションにある低いリソースの既存ハードウェアにインストールできます。また、Intel NUC のような市販のコンピューティング ノードにインストールし、数時間以内にすべてのエッジ ロケーションを一元管理の下で完全に機能させることも可能です。
詳しくは、スタンドアロン クラスタ用エッジ プロファイルをご覧ください。
エッジ プロファイルを使用したデプロイガイドの例
ベアメタル版 Anthos を使用して大規模にクラスタをロールアウトするでは、エッジでのデプロイの例を紹介しています。このガイドでは、Linux Foundation が定義した Edge Continuum の「Consumer Edge」カテゴリに分類される小売業を例に挙げ、エッジ プロファイルを有効にしたベアメタル版 Anthos をエッジにインストールする方法を紹介します。
Linux Foundation が定義した Edge Continuum
次の図は、前述のガイドで使用されているエッジデプロイのアーキテクチャを示しています。このアーキテクチャは、POS キオスクを備えた小売店環境を想定しています。ベアメタル版 Anthos は、高可用性を確保するため、小売店のエッジにある 3 つのノードにインストールされています。ここでは、エッジ プロファイルを有効にしたスタンドアロン モードのベアメタル版 Anthos を使用しています。Anthos クラスタには、Anthos Config Management(ACM)もインストールされています。このため、エッジで動作するクラスタは、中央の Git ベースのルート リポジトリを介して構成、管理できます。
このエッジデプロイを複製して試用できるように、Google Compute Engine(GCE)VM を使用してエッジノードと小売店インフラストラクチャをエミュレートする手順を紹介します。このガイドでは、Google Cloud プロジェクトで必要な設定を作成する Ansible スクリプトが提示されています。3 つのエッジノードが、GCE VM にマッピングされています。VxLAN オーバーレイ ネットワークが Google Cloud VPC 上に作成され、VM 間でレイヤ 2 接続が可能になります。また、VM の 1 つに nginx リバース プロキシを使用することで、小売店のネットワーク スイッチと同じように、POS キオスクからベアメタル版 Anthos クラスタに接続できます。この設定では、ブラウザが POS キオスク デバイスとして機能します。
このガイドには、チュートリアルの最後に操作できるサンプル POS アプリケーションも掲載されています。下の図は、POS アプリケーションのアーキテクチャと、GCE VM 上のベアメタル版 Anthos クラスタへのデプロイを表しています。また、ガイドでは、Google Cloud Console からエッジクラスタにログインし、その各種コンポーネントをモニタリングする方法も紹介されています。最後に、一元的に同期された Git リポジトリでデプロイの構成を更新することにより、POS アプリケーションのアップデートをエッジノードに公開する方法を紹介しています。これには Anthos Config Management を使用します。ガイドの終わりまでには、新しいバージョンの POS アプリケーションが動作しているエッジ プロファイルの Anthos ベアメタル クラスタが準備できているはずです。
anthos-edge-usecases GitHub リポジトリでは、エッジ ワークロードを構成するアプリケーションのソースコードとベアメタル インフラストラクチャを設定するスクリプトを確認できます。スクリプトを使用してこのデプロイを自身で複製し、自身の要件に合わせてカスタマイズできます。
このガイドを試してみて、複数のエッジ ロケーションをエミュレートするために、デプロイを拡張して複数のベアメタル版 Anthos クラスタを作成できるかご確認ください。この方法で、複数バージョンのアプリケーションを複数のエッジ ロケーションに公開できるはずです。
- Developer Relations エンジニア Shabir Abdul Samadh