Microsoft Entra ID を使用して Kubernetes を Azure Stack Hub にデプロイする

Note

Kubernetes Azure Stack Marketplace 項目のみを使用して、概念実証としてクラスターをデプロイします。 Azure Stack でサポートされている Kubernetes クラスターの場合は、AKS エンジンを使用します。

この記事の手順に従って、単一の調整された操作で id 管理サービスとして Microsoft Entra ID を使用する場合に、Kubernetes のリソースをデプロイおよび設定できます。

前提条件

使用を開始するには、次の手順に従って、適切なアクセス許可があり、Azure Stack Hub の準備が整っていることを確認します。

  1. Microsoft Entra テナントにアプリケーションを作成できることを確認します。 Kubernetes のデプロイには所定のアクセス許可が必要です。

    アクセス許可を確認する手順については、「Microsoft Entraアクセス許可を確認する」を参照してください。

  2. SSH 公開キーと秘密キーのペアを生成して、Azure Stack Hub 上の Linux VM にサインインします。 クラスターを作成するときに、公開キーが必要になります。

    キーを生成する手順については、SSH キーの生成に関するページを参照してください。

  3. Azure Stack Hub テナント ポータル内で有効なサブスクリプションがあり、新しいアプリケーションの追加に十分使用できるパブリック IP アドレスがあることを確認します。

    クラスターを Azure Stack Hub 管理者サブスクリプションにデプロイすることはできません。 User サブスクリプションを使用する必要があります。

  4. マーケットプレースに Kubernetes クラスターがない場合は、Azure Stack Hub 管理者に連絡してください。

サービス プリンシパルの作成

Azure でサービス プリンシパルを設定します。 サービス プリンシパルは、Azure Stack Hub リソースへのアクセス権をアプリケーションに付与します。

  1. グローバルな Azure Portal にサインインします。

  2. Azure Stack Hub インスタンスに関連付けられているMicrosoft Entra テナントを使用してサインインしたことを確認します。 Azure ツールバーのフィルター アイコンをクリックすると、サインインを切り替えることができます。

    AD テナントを選択する

  3. Microsoft Entra アプリケーションを作成します。

    a. Azure Portal で Azure アカウントにサインインします。
    b. [MICROSOFT ENTRA IDアプリの登録>新しい登録] を>選択します。
    c. アプリケーションの名前と URL を指定します。
    d. [サポートされているアカウントの種類] を選択します。
    e. アプリケーションの URI の http://localhost を追加します。 作成するアプリケーションの種類として、[Web] を選択します。 値を設定したら、 [登録] を選択します。

  4. アプリケーション ID をメモします。 クラスターを作成するときに、ID が必要になります。 ID は、サービス プリンシパル クライアント ID として参照されます。

  5. サービス プリンシパルのブレードで、 [新しいクライアント シークレット] を選択します。 [設定]>[キー] 。 サービス プリンシパルの認証キーを生成する必要があります。

    a. [説明] を入力します。

    b. [有効期限][Never expires](有効期限なし) を選択します。

    c. [追加] を選択します。 キー文字列をメモします。 クラスターを作成するときに、キー文字列が必要になります。 キーは、サービス プリンシパル クライアント シークレットとして参照されます。

サービス プリンシパルへのアクセスの付与

サービス プリンシパルがリソースを作成できるように、そのプリンシパルにサブスクリプションへのアクセスを付与します。

  1. Azure Stack Hub ポータル https://portal.local.azurestack.external/ にサインインします。

  2. [すべてのサービス]>[サブスクリプション] を選択します。

  3. オペレーターによって作成された、Kubernetes クラスターを使用するためのサブスクリプションを選択します。

  4. [アクセス制御 (IAM)]>[ロール割り当ての追加] の順に選択します。

  5. [共同作成者] ロールを選択します。

  6. サービス プリンシパル用に作成したアプリケーションの名前を選択します。 必要に応じて、検索ボックスに名前を入力します。

  7. [保存] をクリックします。

Kubernetes のデプロイ

  1. Azure Stack Hub ポータル https://portal.local.azurestack.external を開きます。

  2. [+ リソースの作成]>[コンピューティング]>[Kubernetes クラスター] を選択します。 Create をクリックしてください。

    Kubernetes クラスターの作成方法を示すスクリーンショット。

1.基本

  1. [Kubernetes クラスターを作成] で [基本] を選びます。

    Kubernetes クラスターに関する基本情報を追加する方法を示すスクリーンショット。

  2. [サブスクリプション] を選択します。

  3. 新しいリソース グループの名前を入力するか、既存のリソース グループを選択します。 リソース名は、英数字かつ小文字にする必要があります。

  4. リソース グループの [場所] を選択します。 これは、Azure Stack Hub のインストールに向けて選択するリージョンです。

2.Kubernetes クラスターの設定

  1. [Kubernetes クラスターを作成] で [Kubernetes Cluster Settings] (Kubernetes クラスターの設定) を選択します。

    Kubernetes クラスターの設定に関する情報を指定する場所を示すスクリーンショット。

  2. [Linux VM admin username](Linux VM 管理者ユーザー名) を入力します。 Kubernetes クラスターと DVM の一部である Linux Virtual Machines のユーザー名

  3. Kubernetes クラスターと DVM の一部として作成されたすべての Linux マシンに対する承認に使用される [SSH 公開キー] を入力します。

  4. リージョンで一意の [Master Profile DNS Prefix](マスター プロファイル DNS プレフィックス) を入力します。 これは、k8s-12345 など、リージョンで一意の名前になっている必要があります。 ベスト プラクティスとして、リソース グループ名と同じ名前を選択してみてください。

    注意

    各クラスターに対して、新しい一意のマスター プロファイル DNS プレフィックスを使用してください。

  5. [Kubernetes master pool profile count](Kubernetes マスター プール プロファイル数) を選択します。 この数には、マスター プール内のノードの数が含まれます。 1 ~ 7 を使用できます。 この値は奇数である必要があります。

  6. [The VMSize of the Kubernetes master VMs] (Kubernetes マスター VM の VMSize) を選択します。 これにより、Kubernetes マスター VM の VM サイズを指定します。

  7. [Kubernetes node pool profile count](Kubernetes ノード プール プロファイル数) を選択します。 値には、クラスター内のエージェントの数が含まれます。

  8. [VMSize of the Kubernetes node VMs](Kubernetes ノード VM の VM サイズ) を選択します。 これにより、Kubernetes ノード VM の VM サイズを指定します。

  9. Azure Stack Hub インストール用の Azure Stack Hub ID システム[Microsoft Entra ID] を選択します。

  10. [Service principal clientId](サービス プリンシパル クライアント ID) を入力します。これは、Kubernetes Azure クラウド プロバイダーによって使用されます。 Azure Stack Hub 管理者がサービス プリンシパルを作成したときに、アプリケーション ID として識別されたクライアント ID。

  11. [Service principal client secret](サービス プリンシパルのクライアント シークレット) を入力します。 これは、サービスの作成時に設定するクライアント シークレットです。

  12. [Kubernetes バージョン] を入力します。 これは、Kubernetes Azure プロバイダーのバージョンです。 Azure Stack Hub では、各 Azure Stack Hub バージョンに対して、カスタムの Kubernetes ビルドがリリースされます。

3.まとめ

  1. [Summary] (概要) を選択します。 ブレードには、Kubernetes クラスターの構成設定の検証メッセージが表示されます。

    ソリューション テンプレートのデプロイ

  2. 設定を確認します。

  3. [OK] を選択してクラスターをデプロイします。

ヒント

デプロイに関してご質問がある場合は、Azure Stack Hub フォーラムで質問を投稿するか、他の人が既に回答を受け取っていないかどうかを確認することができます。

次のステップ

クラスターへの接続

Kubernetes ダッシュボードの有効化