マルチクラウドKubernetes管理に役立つ具体的な機能とは:Azure Arcで学ぶクラウドとKubernetesのガードレールづくり(3)
本連載では、Kubernetesの利用をスケールさせると遭遇する問題と、Azure Arcによる解決をテーマとしている。今回はAzure Arcが提供する、マルチクラウドKubernetes管理に役立つ機能を具体的に解説する。
第2回では管理者の抱える課題を踏まえ、エピソードやアーキテクチャの話を交えてAzure Arcのコンセプトや特徴を解説しました。要点は3つです。
- 人はスケールしないため、管理できる範囲を広げるにはAzure Resource Managerのような仕組みが必要
- Azure Arcは、Azure Resource Managerと付加管理サービスの対象範囲をAzure外へと広げるもの
- Azure Arcの管理下にあっても、それぞれの管理対象に適した操作、ツールの利用が可能
今回はKubernetesの管理を主題として、Azure Arcの提供機能や内部構造を具体的に解説していきます。
Azure Arc 2つのカテゴリー
Azure Arcの提供機能は、管理対象に応じて大きく2つのカテゴリーに分けられます。「Azure Arc Enabled Infrastructure」と、「Azure Arc Enabled Services」です。
Azure Arc Enabled Infrastructureとは?
Azure Arc Enabled Infrastructureは、Azure Arcの管理対象とする、Azure外のインフラストラクチャーリソースを指します。Azure Resource Managerや付加管理サービスがAzure上のリソースに対して実現している、一貫性のある「ガードレール」を、Azure外に敷設できるわけです。
現在、Azure Arc Enabled Infrastructureの管理対象は、KubernetesクラスターとWindows/Linuxの物理/仮想サーバです。Kubernetesクラスターを管理する機能を「Azure Arc Enabled Kubernetes」と呼び、サーバを管理する機能を「Azure Arc Enabled Servers」と呼んでいます。この記事ではKubernetesクラスター向けの特徴的な機能にフォーカスして紹介します。サポートされる環境など詳細について、また、サーバに関しては、以下のリンク先を参照してください。
Azure Arc Enabled Kubernetes
https://docs.microsoft.com/ja-jp/azure/azure-arc/kubernetes/overview
Azure Arc Enabled Servers
https://docs.microsoft.com/ja-jp/azure/azure-arc/servers/overview
では、Azure Arc Enabled Servicesとは?
Azure Arcは、整備したガードレールの内側でさまざまなサービスを作り、維持できます。代表的なサービスは、Azure SQL Managed InstancesやAzure PostgreSQL Hyperscaleなどのデータベース、Azure App ServiceやOpen Service Meshなどアプリケーション実行基盤です。
これらのサービスの配布、維持には、Azure側の機能だけでなく、Kubernetesのカスタムリソース、オペレーターなどの仕組みを活用しています。つまりAzure Arc Enabled Kubernetesを前提とした拡張機能、という位置づけです。次回解説しますが、利用可能な拡張機能は以下のリンク先から確認できます。
Azure Arc Enabled Kubernetesの特徴的な機能たち
それでは、今回の主題に入ります。Azure Arc Enabled Kubernetesを有効化し、利用する流れに沿って、特徴的な機能について紹介します。
オンボーディング
まずは、KubernetesクラスターをAzure Arcの管理対象にします。Azure Arcへのオンボーディングや接続とも呼ばれる作業です。第2回でも触れた通り、Kubernetesクラスターの作成方式は任意です。利用するクラウドサービスやディストリビューションに合わせ、好きなツールを使ってください。
クイックスタート: 既存の Kubernetes クラスターを Azure Arcに接続する
https://docs.microsoft.com/ja-jp/azure/azure-arc/kubernetes/quickstart-connect-cluster?tabs=azure-cli
オンボーディングの主要な前提条件は、管理対象のクラスターからAzureの各種管理APIエンドポイントに対するHTTPS接続が許可されていることです。方向は送信のみで、受信は不要です。プロキシサーバ経由でも可能です。
前提条件を満たした環境で、kubeconfigのコンテキストを管理対象のKubernetesクラスターにします。そして、Azure CLIの拡張機能である connectedk8s で以下のコマンドを実行します。このコマンドでAzure Arcのベースとなるカスタムリソースとオペレーターを導入します。その結果、Azureに対する認証、状態の通知などAzure Arc Enabled Kubernetesの基礎が整います。
shell az connectedk8s connect --name your-cluster --resource-group your-rg
オンボーディング作業はこれだけです。シンプルですね。
ガードレールの作成(ガバナンスとセキュリティの確立)
オンボーディングが済んだら、ガードレールを構成する拡張機能を導入します。まずは守りを固めましょう。
Copyright © ITmedia, Inc. All Rights Reserved.