連載
» 2022年02月07日 05時00分 公開

マルチクラウド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 2つのカテゴリー

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を前提とした拡張機能、という位置づけです。次回解説しますが、利用可能な拡張機能は以下のリンク先から確認できます。

現在使用可能な拡張機能
https://docs.microsoft.com/ja-jp/azure/azure-arc/kubernetes/extensions#currently-available-extensions

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.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。