Kubernetes 上で Cisco Prime Network Registrar インスタンスを展開
YAML ファイルを使用して、Kubernetes に Cisco Prime Network Registrar インスタンスを展開できます。YAML は、Kubernetes 構成ファイルで使用される標準規格です。Cisco Prime Network Registrar キット cpnr-11.1-1.el8.x86_64_kubernetes.tar.gz には、Kubernetes に Cisco Prime Network Registrar を展開する方法の 1 つを示す YAML ファイルの例(cpnr-local-statefulset.yaml および cpnr-regional-statefulset.yaml)が含まれています。
(注) |
Kubernetes 環境に Cisco Prime Network Registrar を展開するために特別なライセンスは必要ありません。既存のコンテナのライセンスを使用します。 |
たとえば、Cisco Prime Network Registrar キットの cpnr-local-statefulset.yaml を使用して、Kubernetes に Cisco Prime Network Registrar ローカルインスタンスを作成できます。この設定では、StatefulSet および hostNetwork の展開を使用します。この YAML を使用して作成されたインスタンスは、Cisco Prime Network Registrar ローカルインスタンスを設定済みのワーカーノードにバインドします。このインスタンスは、設定されたワーカーノードでのみ実行され、他のノードでは実行されません。
ポッドが hostNetwork: true で設定されている場合、ポッドで実行されているアプリケーションは、ポッドが開始されたホストマシンのネットワーク インターフェイスを直接表示できます。また、すべてのネットワーク インターフェイスでリッスンするように設定されたアプリケーションは、ホストマシンのすべてのネットワーク インターフェイスでアクセスできます。
YAML ファイルは、次の Kubernetes リソースで構成されます。
-
サービス
cpnr-local-statefulset.yaml では cpnr-local がサービス名で、ヘッドレスサービスが使用されているため clusterIp は None に設定されています。
-
StatefulSet
cpnr-local-statefulset.yaml では cpnr-local は StatefulSet 名であり、1 つのレプリカで Cisco Prime Network Registrar 11.1 Docker イメージを実行するために使用されます。
次の 2 つの理由から、Cisco Prime Network Registrar で StatefulSet が使用されます。
-
一定のポッド名
-
展開を使用して作成されたポッドが削除されると、古いポッドが完全に終了する前に新しいポッドが作成されます。ホストノードの古い Cisco Prime Network Registrar プロセスが完全に終了する前に hostNetwork が使用されるため、新しい Cisco Prime Network Registrar ポッドが作成され、古いポッドの Cisco Prime Network Registrar プロセスが完全に終了しないため、新しいポッドの Cisco Prime Network Registrar サービスが停止します。
これは StatefulSet で古いポッドが完全に終了し、新しいポッドが作成されることで解決されます。
-
(注) |
他のネットワークモードでは HA とフェールオーバーのペアに問題があったため、Cisco Prime Network Registrar は hostNetwork を使用してテストされています。hostNetwork モードでは、ポッドが起動すると、ホストネットワーク名前空間とホスト IP アドレスを使用します。これは基本的に、ポッドがホストのすべてのネットワーク インターフェイスを認識できるということです。hostNetwork モードでは、ノードに展開できる Cisco Prime Network Registrar インスタンスは 1 つだけであるため、YAML のレプリカは 1 に設定されます。hostNetwork モードを使用して複数の Cisco Prime Network Registrar ポッドを同じノードにデプロイする場合は、ポッドごとに、すべての Cisco Prime Network Registrar 関連のポートを変更し、それに応じてレプリカを調整する必要があります。ただし、これが役に立たない場合もあります。 |
手順
ステップ 1 |
YAML ファイルで次のパラメータを設定します。
|
ステップ 2 |
次のコマンドを使用して、Kubernetes に Cisco Prime Network Registrar インスタンスを作成します。
|
ステップ 3 |
次のコマンドを使用して、Kubernetes の Cisco Prime Network Registrar インスタンスの詳細を確認します。
|
ステップ 4 |
次のコマンドを使用して、Cisco Prime Network Registrar インスタンスポッドにログインします。
|
ステップ 5 |
ユーザー名とパスワードを設定し、ローカルポッドをリージョンポッドに登録します。 |
Kubernetes の Cisco Prime Network Registrar インスタンスを削除する場合は、次のコマンドを使用します。
-
Cisco Prime Network Registrar ローカルインスタンスの場合:
# kubectl delete -f cpnr-local-statefulset.yaml
-
Cisco Prime Network Registrar リージョンインスタンスの場合:
# kubectl delete -f cpnr-regional-statefulset.yaml
ポッドの障害をデバッグするには、kubectl logs podname または kubectl describe pod podname コマンドを使用します。
(注) |
Cisco Prime Network Registrar ポッドを別のワーカーノードに展開する場合は、YAML ファイルに変更を加える必要があります(たとえば、service.metadata.name と statefulset.metadata.name を変更する必要があります)。 |
(注) |
Cisco Prime Network Registrar 11.1 Docker イメージは、Kubernetes バージョン 1.23.5 でテストされています。使用されている CNI は Calico 3.22.0 です。テスト全体が、例として提供されている YAML ファイルを使用して実行されています。YAML ファイルを変更する場合は、実稼働に移行する前にテストする必要があります。 |