イベント

Kubernetesを使った最新の開発アプローチを紹介――、「Google Cloud Anthos Day」開催

Google Cloudのセッションを徹底レポート

サービスメッシュやサーバーレスもAnthosで用意

 Anthosとその最新機能については、Google Cloudの篠原一徳氏(アプリケーションプラットフォームスペシャリスト)がセッション「Deep-dive into Anthos on GCP」で解説した。

Google Cloud 篠原一徳氏(アプリケーションプラットフォームスペシャリスト)

 篠原氏はAnthosについて「アプリケーションのモダナイゼーションのプラットフォーム」と説明した。

 ベースとなるのは、GKEやオンプレミス、他社クラウドとマルチプラットフォームで使えるコンテナ管理。現在ではAnthosブランドのコンポーネントを広げ、クラスタ管理の「GKE Hub」、ポリシー管理の「Anthos Config Management」、サービスメッシュの「Anthos Service Mesh」、サーバーレスの「Cloud Run for Anthos」などがある。

 AnthosのライセンスモデルはこれまでのGCP(Google Cloud Platform)プロダクトと異なり、サブスクリプションライセンスを買う形となる。その中でさらに、ハイブリッドクラウドで使える「Anthos Hybrid」と、GCPのみで使う「Anthos on GCP」がある。

 篠原氏はAnthosが提供する価値を、App Modernization(モダンなアプリケーションのプラットフォーム)と、Operation Consistency(ハイブリッドクラウド・マルチクラウドにおけるオペレーションの一貫性)の2つに分けて説明した。

Anthosのコアコンポーネント
Anthosのライセンスモデル

 まずはApp Modernizationの機能から。「Anthos Service Mesh(ASM)」はフルマネージドのサービスメッシュで、Istio互換のAPIを持ちつつ、コントロールプレーンはユーザークラスタから分離されてGoogleが管理するのが特徴だ。

 篠原氏はステージ上でASMをデモ。マイクロサービス方式のEコマースのサンプルアプリを使い、GUIから、マイクロサービスの状態や通信レイテンシーなどが見られるところ、サービスの相関関係がグラフ表示されるところ、サービスのSLO(Service Level Objective)の確認や設定ができるところを見せた。

 なお、トラフィックルーティングやセキュリティの設定もGUIでできるようになる予定だという。

ASMでマイクロサービスの状態や通信レイテンシーを表示
マイクロサービスの相関関係
SLOの確認や設定

 また「Cloud Run for Anthos」は、コンテナをサーバーレスで動かすサービスで、オープンソースのKnativeを基にしている。GCPでは、フルマネージドの「Cloud Run」と、GKEの部分が見える「Cloud Run for Anthos」の2種類がある。

Cloud Run for Anthos
フルマネージドのCloud Runと、Cloud Run for Anthos

AnthosによるGitOpsワークフロー

 2点めのOperation Consistencyの機能としては、「Anthos Config Management(ACM)」によるGitOpsワークフローを篠原氏は紹介した。

 ACMは、ネームスペースやクォータなどのクラスタの設定を、ハイブリッドなKubernetes環境に自動的に展開する管理ツールだ。ポリシーをGitリポジトリで管理し、変更があると各クラスタが同期して、設定の差分を埋める動作をするようになっている。このようにGitリポジトリを中心にしたインフラ運用のCI/CDの手法がGitOpsと呼ばれる。

Anthos Config Management(ACM)
ACMの仕組み

 篠原氏はAnthosでのGitOpsについて、アプリケーションのコードと、Kubernetesのワークロードのマニフェスト、Kubernetesのクラスタ自体のマニフェストの3種類を別のGitリポジトリに分けて管理することを推奨。ACMとArgoを使ってCI/CDする方法を紹介した。

 さらにステージ上でGitOpsをデモした。Webで「Hello world」を表示するサンプルアプリをもとに、Pod数のクォータ設定と、アプリの表示メッセージ、Kubernetesのレプリカセットの設定をテキストエディタで変更し、それぞれgit pushを実行。コンテナイメージがビルドされ、Kubernetesの設定が変更されて、Web表示やPod数が変わったところを見せた。

アプリとAnthosのGitOps
デモのサンプルアプリ
クォータの設定を変更
アプリの表示メッセージを変更
レプリカセットの設定を変更
コンテナイメージのビルドが実行される
Argo CDの画面で構成の変更を確認
アプリの変更を確認