サービス EPG 構成例

サービス EPG の詳細については、以下を参照してください。

次のセクションにサービス EPC の構成例を示します。

Azure Kubernetes Services(AKS)サービス EPG 構成例

このセクションでは、次の設定を持つサービス EPG 例を構成する手順を説明します。

  • サービス タイプ:Azure Kubernetes Services(AKS)

  • 展開タイプ : 管理対象クラウド ネイティブこのタイプの展開では、サービスは VNet またはサブネットでインスタンス化されます(Cisco Cloud APIC を介して作成)。たとえば、Azure Kubernetes Services(AKS)サービスは、Cisco Cloud APIC によって管理されるサブネットに展開できます。

  • アクセス タイプ:プライベート

AKS のこのサンプル サービス EPG を構成する手順は、次のセクションで提供されます。

クラウド コンテキスト プロファイルでサブネットの作成

これらの手順では、Azure Kubernetes Services(AKS)サービス EPG によって使用されるクラウド コンテキスト プロファイルにサブネットを作成する方法について説明します。これらの手順では、Cisco Cloud APIC GUI を使用して構成を行います。

始める前に

  • 1 つのブラウザ ウィンドウで、Cisco Cloud APIC GUI にログインします。

  • 別のブラウザ ウィンドウで、Cisco Cloud APIC インフラ テナントの Azure アカウントにログインし、Azure 管理ポータルに移動します。

    https://portal.azure.com/#home

手順


ステップ 1

Cisco Cloud APIC GUIで、[インテント(Intent)] アイコンをクリックします。

[インテント(Intent)] メニューが表示されます。

ステップ 2

[インテント(Intent)]検索ボックスの下にあるドロップダウン矢印をクリックし、[アプリケーション管理(Application Management)] を選択します。

[アプリケーション管理(Application Management)] オプションのリストが [インテント(Intent)] メニューに表示されます。

ステップ 3

[インテント(Intent)] メニューの [アプリケーション管理(Application Management)] リストで、[クラウド コントラクト プロファイルの作成(Create Cloud Context Profile)] をクリックします。

[クラウド コンテキスト プロファイルの作成(Create Cloud Context Profile)] ウィンドウが表示されます。

ステップ 4

[クラウド コンテキスト プロファイルの作成(Create Cloud Context Profile)] ウィンドウに次の情報を入力します。

  • 名前:クラウド コンテキスト プロファイルの名前を入力します。たとえば、ct_ctxprofile_eastus です。

  • テナント[テナントの選択(Select Tenant)] をクリックし、このユース ケースのクラウド コンテキスト プロファイルのテナントを選択して、[選択(Select)] をクリックします。

  • リージョン[リージョンの選択(Select Region)] をクリックし、リージョン(例:eastus)を選択し、[選択(Select)] をクリックします。

  • VRF[VRF の選択(Select VRF)] をクリックし、適切な VRF を選択し、[選択(Select)] をクリックします。

  • CIDR の追加: CIDR 情報を入力します。

    1. [CIDR の追加(Add CIDR)] をクリックします。

    2. [CIDR ブロック範囲(CIDR Block Range)] フィールドにアドレスを入力します。

      たとえば、30.1.0.0/16 です。

    3. [プライマリ(Primary)] チェックボックスをオフ(無効)にします。

    4. [サブネットの追加(Add subnet)] をクリックして、サブネット アドレスを [アドレス(Address)] に入力します。

      たとえば、30.1.0.0/17 です。AKS クラスタには 338 個のアドレスが必要であることに注意してください。

    5. [追加(Add)] をクリックします。

  • VNet ゲートウェイ ルータ: このフィールドのボックスをオフ(選択解除)したままにします。

  • VNet ピアリング:VNet ピアリングを有効にするには、このボックスをオンにします。

ステップ 5

設定が終わったら [Save] をクリックします。


次のタスク

AKS のクラウド サービス EPG の作成」に進みます。

AKS のクラウド サービス EPG の作成

これらの手順では、Azure Kubernetes Services(AKS)サービス タイプでクラウド サービス EPG を作成する方法について説明します。これらの手順では、Cisco Cloud APIC GUI を使用して構成を行います。

始める前に

これらの手順に進む前に、クラウド コンテキスト プロファイルでサブネットの作成 の手順を完了してください。

手順


ステップ 1

Cisco Cloud APIC GUIで、[インテント(Intent)] アイコンをクリックします。

[インテント(Intent)] メニューが表示されます。

ステップ 2

[インテント(Intent)]検索ボックスの下にあるドロップダウン矢印をクリックし、[アプリケーション管理(Application Management)] を選択します。

[アプリケーション管理(Application Management)] オプションのリストが [インテント(Intent)] メニューに表示されます。

ステップ 3

[インテント(Intent)] メニューの [アプリケーション管理(Application Management)] リストで、[EPG の作成(Create EPG)] をクリックします。

[EPG の作成(Create EPG)] ウィンドウが表示されます。

ステップ 4

[EPG の作成(Create EPG)] ウィンドウに次の情報を入力します。

  • 名前:クラウド サービス EPG の名前を入力します。たとえば、svc-Hub-AzureAKS などです。

  • テナント[テナントの選択(Select Tenant)] をクリックし、このユースケースのクラウド サービス EPG のテナントを選択してから、[選択(Select)] をクリックします。

  • アプリケーション プロファイル[アプリケーション プロファイルの選択(Select Application Profile)] をクリックし、アプリケーション プロファイルを選択してから、[選択(Select)] をクリックします。

  • タイプ:EPG タイプとして [サービス(Service)] を選択します。

  • VRF[VRF の選択(Select VRF)] をクリックし、適切な VRF を選択し、[選択(Select)] をクリックします。

  • サービス タイプ[Azure Kubernetes Services(AKS)] サービス タイプを選択します。

  • 展開タイプ[クラウド ネイティブ管理対象(Cloud Native Managed)]の展開タイプを選択します。

  • アクセス タイプ[プライベート(Private)] アクセス タイプを選択します。

ステップ 5

[エンドポイント セレクタの追加(Add Endpoint Selector)] をクリックします。

[エンドポイント セレクタの追加(Add Endpoint Selector)] ウィンドウが表示されます。

このユース ケースでは、IP アドレスが前のステップで構成されたサブネット情報 30.1.0.0/17 と一致するエンドポイント セレクタを作成します。エンドポイント セレクタの IP アドレスが前の手順のサブネットと一致することで、Cisco Cloud APIC は NSG をプログラムして、このサービス タイプに必要なすべてのルールを許可するようになります。

ステップ 6

[エンドポイント セレクタの追加(Add Endpoint Selector)] ウィンドウの [Name(名前)] フィールドに名前を入力します。

ステップ 7

[キー(Key)] ドロップダウン リストをクリックしてキーを選択します。

現時点では、このアクセス タイプのキーとして使用できるオプションは [IP] のみです。

ステップ 8

[演算子(Operator)] ドロップダウン リストをクリックし、[等しい(equals)] を選択します。

ステップ 9

[値(Value)] フィールドに 30.1.0.0/17 と入力し、チェックマークをクリックしてエントリを検証します。

ステップ 10

[Add] をクリックします。

ステップ 11

設定が終わったら [Save] をクリックします。


次のタスク

アウトバウンド セキュリティ ルールの確認」に進みます。

アウトバウンド セキュリティ ルールの確認

これらの手順では、必要なアウトバウンド セキュリティ ルールが正しく構成されていることを確認する方法について説明します。Cisco Cloud APIC は、AKS を Azure ポータルに展開するために必要なすべてのアウトバウンド セキュリティ ルールを Azure で構成します。

始める前に

これらの手順に進む前に、AKS のクラウド サービス EPG の作成 の手順を完了してください。

手順


ステップ 1

Azure ポータルで、自動的に作成されたサブネットのネットワーク セキュリティ グループに移動します。

  1. 適切なリソースグループに移動します。

  2. AKS サービス EPG に使用されたサブネットを選択します。

  3. 必要なアウトバウンド セキュリティ グループを見つけます。

ステップ 2

ページで [アウトバウンド セキュリティ ルール(Outbound security rules)] エリアを見つけ、NSG のアウトバウンド セキュリティ ルールが正しく構成されていることを確認します。

アウトバウンド セキュリティ ルールの詳細については、次を参照してください。

https://docs.microsoft.com/en-us/azure/aks/limit-egress-traffic


次のタスク

Kubernetes サービスの作成」に進みます。

Kubernetes サービスの作成

これらの手順では、Kubernetes サービスを作成する方法について説明します。これらの手順では、Azure ポータルを使用して構成を行います。


(注)  

次の手順では、Azure ポータルを使用して Kubernetes サービスを作成する方法について説明します。Kubernetes サービスを作成するための代替方法も、『Cisco Cloud APIC での Azure Kubernetes サービス の使用』に関するドキュメントで提供されています。


始める前に

これらの手順に進む前に、アウトバウンド セキュリティ ルールの確認 の手順を完了してください。

手順


ステップ 1

Azure ポータルで、「Kubernetes Service by Microsoft」というワード検索を行い、検索結果をクリックします。

[Kubernetes サービス(Kubernetes Service)] ページが表示されます。

ステップ 2

[Kubernetes サービス(Kubernetes Service)] ページで [作成(Create)] をクリックします。

[Kubernetes クラスタの作成(Create Kubernetes cluster)] ページが表示されます。

ステップ 3

[基本(Basics)] タブで、次のエリアを構成します。

  • サブスクリプション:適切なサブスクリプションを選択します。

  • リソースグループ:適切なリソースグループを選択します。

  • Kubernetes クラスタ名:この Kubernetes クラスタの一意の名前を入力します。

  • リージョン:適切なリージョンを選択します。

  • Kubernetes バージョン:デフォルトの選択をそのままにします。

  • ノード サイズ:デフォルトの選択をそのままにします。

  • ノード数:このフィールドのエントリが 1 になるように、スクロール バーが左端にあることを確認します。

ステップ 4

[次へ:ノード プール(Next: Node pools)] をクリックします。デフォルトのエントリをそのままにして、[次へ:認証(Next: Authentication)] をクリックして [認証(Authentication)] タブに進みます。

ステップ 5

[認証(Authentication)] タブで、次のエリアを構成します。

  • 認証方法[サービス プリンシパル(Service principal)] を選択します。

    [サービス プリンシパル(Service principal)] フィールドが表示されます。

  • サービス プリンシパル[サービス プリンシパルの構成(Configure service principal)] をクリックします。

    [サービス プリンシパルの構成(Configure service principal)] ウィンドウで、次のエリアを構成します。

    • サービス プリンシパル[新規作成(Create new)] または [既存のものを使用(Use existing)] を選択します。

      [既存のものを使用(Use existing)] を選択した場合は、既存のサービス プリンシパルについて次の情報を入力します。

      • サービス プリンシパルのクライアント ID

      • サービス プリンシパルのクライアント シークレット

    (注)   

    これら 2 つのフィールドに入力するエントリをメモします。これらのフィールドのエントリは、これらの手順の後半で使用します。

    [OK] をクリックして、[Kubernetes クラスタの作成(Create Kubernetes cluster)] ウィンドウの [認証(Authentication)] タブに戻ります。

  • 役割別アクセス コントロール(RBAC)[有効(Enabled)] を選択します。

  • AKS で管理される Azure Active Directory[無効(Disabled)] を選択します。

  • 暗号化タイプ:デフォルトの選択をそのままにします。

ステップ 6

[次へ:ネットワーキング(Next: Networking)] をクリックして、[ネットワーキング(Networking)] タブに進みます。

ステップ 7

[ネットワーキング(Networking)] タブで、次のエリアを構成します。

  • ネットワーク構成[Azure CNI] を選択します。

  • 仮想ネットワーク:対応する仮想ネットワークを選択します。

  • クラスタ サブネットCisco Cloud APIC で管理されるサブネットを選択します。

  • Kubernetes サービスのアドレス範囲:デフォルトの選択をそのままにするか、必要に応じてエントリを変更します。

  • Kubernetes DNS サービスの IP アドレス:デフォルトの選択をそのままにするか、必要に応じてエントリを変更します。

  • Docker Bridge アドレス:デフォルトの選択をそのままにするか、必要に応じてエントリを変更します。

  • DNS 名のプレフィックス:デフォルトの選択をそのままにするか、必要に応じてエントリを変更します。

  • ロードバランサ:標準規格

  • HTTP アプリケーション ルーティングを有効にする:デフォルトの選択をそのままにするか(有効にしない)、必要に応じてエントリを変更します。

  • プライベート クラスタを有効にする:必要に応じて、デフォルトの選択をそのまま(無効)にするか、エントリを変更します。

ステップ 8

[次へ: 統合(Next: Integration)][次へ:タグ(Next: Tags)] の順にクリックして、デフォルトのエントリを変更せずにこれらの画面を進め、[次へ:確認 + 作成(Next: Review+Create)] をクリックします。

ステップ 9

[確認 + 作成(Review+Create)] ウィンドウで [作成(Create)] をクリックし、検証に合格した後にもう一度 [作成(Create)] をクリックして Kubernetes クラスタを作成します。

Deployment is in progress」というメッセージが表示され、Kubernetes サービスの [概要(Overview)] 画面が表示されます。

先に進む前に、Kubernetes サービスが正常に展開されるまで待ちます(展開にかかる時間は異なります)。このプロセスが完了すると、メインの AKS サービスは元のリソースグループに含まれます。Azure はすべての agentpools VM スケール セットを使用して、Kubernetes サービス専用の追加のリソースグループも作成します。


次のタスク

新しい Kubernetes サービスの確認」に進みます。

新しい Kubernetes サービスの確認

これらの手順では、新しい Kubernetes サービスが、Kubernetes サービス専用に作成されたリソース グループにあることを確認する方法について説明します。

始める前に

これらの手順に進む前に、Kubernetes サービスの作成 の手順を完了してください。

手順


ステップ 1

Azure ポータルで、左側のナビゲーション バーの [リソースグループ(Resource groups)] をクリックして、リソースグループ ページに移動します。

ステップ 2

[リソースグループ(Resource groups)] ページで、Kubernetes サービス専用に作成されたリソースグループを見つけ、そのリソースグループのリンクをクリックします。

Kubernetes サービス専用に作成されたリソースグループは、次の形式になります。

MC_resourcegroupname_clustername_region

それぞれの説明は次のとおりです。

次に例を示します。

MC_aks_acme-aks-cluster_centralus

Kubernetes サービス リソースグループの概要ページが表示されます。

ステップ 3

[仮想マシン スケール セット(Virtual machine scale set)] の行を見つけて、そのリンクをクリックします。

これは、AKS エージェントが実行されている場所です。

ステップ 4

左側のナビゲーション バーで [インスタンス(Instances)] をクリックして、この Kubernetes サービス リソースグループの仮想マシン インスタンスを表示します。

ステップ 5

このウィンドウで 3 つのインスタンスのいずれかをクリックし、[プライベート IP アドレス(Private IP address)] フィールドに表示されている IP アドレスがハブ サブネットの IP アドレスと一致することを確認します。

このウィンドウに表示される 3 つのインスタンスはすべて、ステップ 7Kubernetes サービスの作成 で選択したサブネットからの IP アドレスを持っている必要があります。

ステップ 6

Kubernetes サービス リソースグループの概要ページに戻り、タイプとして Load balancer が表示されている kubernetes エントリを見つけて、そのリンクをクリックします。

Kubernetes ロードバランサの概要ページが表示されます。

ステップ 7

左側のナビゲーション バーで [バックエンド プール(Backend pools)] をクリックして、AKS エージェントを表示します。

ステップ 8

コントラクトを構成するプロセスの一部として仮想マシンが作成された場合(たとえば、仮想マシンがコンシューマ用に作成された場合)、プロバイダーとして AKS がある場合は、ルールが正しく構成されていることを確認します。

  1. Azure ポータルで、インフラ リソースグループに戻ります。

  2. インフラ リソースグループの [概要(Overview)] ページに表示されるレコードの [タイプ別にグループ化(Group by type)] を選択します。

  3. [仮想マシン(Virtual machine)] エリアが表示されるまで下にスクロールし、コントラクトのコンシューマの仮想マシンをクリックします。

    その仮想マシンの [概要(Overview)] ウィンドウが表示されます。

  4. 左側のナビゲーション バーの [設定(Settings)] で、[ネットワーク(Networking)] をクリックします。

    その仮想マシンの [ネットワーク(Networking)] ウィンドウが表示され、インバウンドおよびアウトバウンドのポート ルールに関する情報が示されます。

  5. [アウトバウンド ポートのルール(utbound port rules)] タブをクリックし、表にリストされているアウトバウンド ポートのルールのいずれかをクリックします。

    ウィンドウが右からスライドして表示され、これらのアウトバウンド ポート ルールに関する追加情報が表示されます。たとえば、[宛先 IP アドレス/CIDR 範囲(Destination IP addresses/CIDR ranges)] エリアのエントリは、AKS クラスタに関連付けられているアドレスに関する情報を提供します。


次のタスク

Azure および AKS CLI のインストール」に進みます。

Azure および AKS CLI のインストール

これらの手順では、Azure と AKS CLI をインストールする方法について説明します。

始める前に

これらの手順に進む前に、新しい Kubernetes サービスの確認 の手順を完了してください。

手順


ステップ 1

インターネットにアクセスできるコンシューマ VM に、Azure CLI をインストールします。

詳細については、以下を参照してください。

https://docs.microsoft.com/en-us/cli/azure/install-azure-cli-linux

たとえば、Azure の Ubuntu Linux VM に Azure CLI をインストールするには、次のようにします。

# curl -sL https://aka.ms/InstallAzureCliDeb | sudo bash
ステップ 2

Kubernetes コマンドライン ツールである kubectl と、azure 認証を実装する client-go 資格情報(exec)プラグインである kubelogin をダウンロードしてインストールします。

# az aks install-cli
ステップ 3

次の手順で ステップ 5Kubernetes サービスの作成 に入力したサービス プリンシパル情報でログインします。


# az login --service-principal --username <service_principal_client_id> 
--password '<service_principal_client_secret>' --tenant <tenant_ID>

それぞれの説明は次のとおりです。

  • <service_principal_client_id> は、ステップ 5Kubernetes サービスの作成[サービス プリンシパル クライアント ID(Service principal client ID)] フィールドからのエントリです。

  • <service_principal_client_secret> は、ステップ 5Kubernetes サービスの作成[サービス プリンシパル クライアントシークレット(Service principal client secret)] フィールドからのエントリです。

  • <tenant_ID> は、サービス プリンシパル(Azure Active Directory テナント ID)に関連付けられたテナントです。このコマンドのテナント ID 情報を見つけるには:

    1. Azure ポータルにサインインします。

    2. [Azure Active Directory] を選択します。

    3. [プロパティ(Properties)] を選択します。

    4. [テナント ID(Tenant ID)] フィールドまで下にスクロールします。ボックスにテナント ID が表示されます。

      詳細については、以下を参照してください。

      https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant

次に例を示します。

# az login --service-principal --username 12a3b456-7c89-1234-5de6-7f89012gh3i4 
--password 'secretkey12341234!' --tenant 98765zy4-xwv-3ut2-1uts-rq0pon98m765
ステップ 4

サブスクリプションを現在アクティブなサブスクリプションに設定します。

# az account set --subscription <AKS_rg_subscription_ID>

<AKS_rg_subscription_ID> は、Azure が 新しい Kubernetes サービスの確認 の Kubernetes サービス用に作成したリソースグループのサブスクリプション ID です。

次に例を示します。

# az account set --subscription 56klm789n-o0p1-234q-5r6s-7t890123u4v5
ステップ 5

コンシューマ VM から次のように入力してログインし、AKS に接続します。

root@hub-vm:/home/capic# az aks get-credentials --resource-group <resource_group> --name <AKS_cluster_name> --admin

それぞれの説明は次のとおりです。

次に例を示します。

root@hub-vm:/home/capic# az aks get-credentials --resource-group capic_infra_westus --name azureaksclus --admin

次のようなメッセージが表示されます。

Merged "azureaksclus-admin" as current context in /root/.kube/config
ステップ 6

各ノードの内部 IP アドレスを確認してください。

root@hub-vm:/home/capic# kubectl get nodes -o wide

次のような出力が表示されます。

[INTERNAL-IP] 列にリストされている IP アドレスは、ハブ サブネットにあります。

(注)   

上記の出力例では、EXTERNAL-IP 列のエントリは <none> と表示されます。これは、[アクセス タイプ(Access Type)]ステップ 4AKS のクラウド サービス EPG の作成Private に設定されていたためです。[アクセス タイプ(Access Type)]Public and Private に設定されている場合、IP アドレスは EXTERNAL-IP 列に表示されます。

ステップ 7

(任意) 必要に応じて、新しいユーザに管理者ロールを割り当てます。

  1. Azure ポータルで、インフラ リソースグループに戻ります。

  2. ページのレコード エリアで、[Kubernetes サービス(Kubernetes service)] エントリが見つかるまで下にスクロールします。

  3. 構成した Kubernetes サービスをクリックします。

    Kubernetes サービスの [概要(Overview)] ページが表示されます。

  4. 左側のナビゲーション バーで、[アクセス制御(IAM)(Access Control (IAM))] をクリックします。

    その Kubernetes サービスのアクセス制御(IAM)が表示されます。

  5. [+ Add] をクリックし、ドロップダウンメニューから [Add role Assignment] を選択します。

  6. [ロール割り当ての追加(Add role Assignment)] ページで、次の選択を行います。

    • [ロール(Role)] フィールドで、ドロップダウン メニューから [Azure Kubernetes Service Cluster 管理者ロール(Azure Kubernetes Service Cluster Admin Role)] を選択します。

    • [アクセス先の割り当て(Assign access to)] フィールドで、[ユーザ、グループ、またはサービス プリンシパル(User, group, or service principal)] を選択します。

    • 適切なキーを選択します。

  7. 画面の下部にある[保存(Save)] をクリックします。