Ubuntuへのインストールの前提条件
Paragon Automationクラスターを正常にインストールして展開するには、複数のクラスターノードに配布ソフトウェアをインストールする制御ホストが必要です。制御ホストに配布ソフトウェアをダウンロードし、インストール ファイルを作成して設定し、制御ホストからインストールを実行できます。制御ホストでパッケージをダウンロードするには、 インターネットにアクセスでき る必要があります。また、DockerやOSパッチなどの追加ソフトウェアをダウンロードするには、クラスターノードでインターネットにアクセスできる必要があります。インストール タスクの順序を 図 1 に大まかに示します。
をインストールするための大まかなプロセス フロー
ディストリビューションソフトウェアをダウンロードしてインストールする前に、このトピックで説明されているように、制御ホストとクラスターノードを設定する必要があります。
制御ホストの準備
制御ホストは、Paragon Automationクラスターのインストールとアップグレードをオーケストレーションする専用マシンです。ホスト 機能の制御に説明されているように、ソフトウェアインストーラを実行し、クラスターノードにソフトウェアをインストールするAnsible操作を実行します。
インストーラパッケージは、Ansible制御ホストにダウンロードする必要があります。Paragon Automationのインストールプロセスの一環として、制御ホストはクラスターノードに必要な追加パッケージをインストールします。パッケージには、オプションのOSパッケージ、Docker、Elasticsearchが含まれています。サードパーティのマイクロサービスを含むすべてのマイクロサービスが、クラスターノードにダウンロードされます。マイクロサービスは、インストール中にパブリックレジストリにアクセスしません。
制御ホストは、クラスターノードとは異なるブロードキャストドメイン上に置くことができますが、制御ホストがSSHを使用してすべてのノードに接続できることを確認する必要があります。
インストールが完了すると、制御ホストはクラスターの機能に役割を果たしません。ただし、ソフトウェアまたはコンポーネントを更新したり、クラスターに変更を加えたり、ノードに障害が発生した場合にクラスターを再インストールしたりするには、制御ホストが必要です。制御ホストを使用して、設定ファイルをアーカイブすることもできます。インストール後は、制御ホストを使用可能にし、他の用途に使用しないことをお勧めします。
インストールプロセス用の制御ホストを次のように準備します。
クラスター ノードの準備
- Paragon Automationと管理対象デバイス
- Paragon Automationとネットワーク管理者
すべてのノードを同じブロードキャストドメインに配置することをお勧めします。異なるブロードキャストドメインのクラスターノードについては、ロード バランシングの設定 で追加のロードバランシング設定を参照してください。
Paragon Automationのシステム要件で説明されているように、マルチノード導入を使用してParagon Automationをインストールできます。
Paragon Automationのインストールプロセス用に、クラスターノードは次のように準備する必要があります。
仮想IPアドレスに関する考慮事項
ポッドは、Kubernetesで作成および管理されるコンピューティングの導入可能な最小ユニットです。ポッドには、共有ストレージとネットワークリソース、およびアプリケーションの実行方法に関する具体的な指示が記載された1つ以上のコンテナが含まれています。コンテナは最も低いレベルの処理であり、アプリケーションやマイクロサービスはコンテナ内で実行します。
クラスター内のプライマリノードは、特定のポッドとコンテナをホストするワーカーノードを決定します。
マイクロサービスを組み合わせて、Paragon Automationのすべての機能を実装します。これらのマイクロサービスの一部は、エンドユーザー(管理対象デバイス)や管理者にサービスを提供する際に、クラスターの外部からアクセスできるようにする必要があります。例えば、プロバイダエッジ(PE)ルーターとParagon Automationの間にPath Computation Element Protocol(PCEP)セッションを確立するには、pceserverサービスにアクセスできるようにする必要があります。
これらのサービスを、外部デバイスから到達可能な特定のアドレスを使用して、Kubernetesクラスターの外部に公開する必要があります。サービスは特定の時点でどのワーカーノードでも実行できるため、外部アドレスとして仮想IPアドレス(VIP)を使用する必要があります。特定のワーカーノードのアドレスを外部アドレスとして使用しないでください。
この例では:
-
ワーカー1が10.1.x.3で、ワーカー2が10.1.x.4であると考えます。
-
サービスIP = PCEP VIPは10.1.x.200です
-
PCC_IPは 10.1.x.100 です
Paragon Automationサービスは、クラスター外にサービスを公開する2つの方法のうちの1つを使用します。
-
ロードバランサ—各ロードバランサは特定のIPアドレスに関連付けられ、外部トラフィックをクラスター内の特定のサービスにルーティングします。これは、クラウドへの多くのKubernetesインストールのデフォルトの方法です。ロードバランサ方式では、複数のプロトコルとサービスごとに複数のポートがサポートされます。各サービスには、独自のロード バランサーと IP アドレスがあります。
-
Paragon Automationは、MetalLBロードバランサーを使用します。MetalLBは、レイヤー2モードで仮想IPアドレスを管理するか、レイヤー3モードで外部ルーターと対話することで、外部ロードバランサーをシミュレートします。MetalLBは、Kubernetesクラスターにロードバランシングインフラストラクチャを提供します。
タイプ「LoadBalancer」のサービスは、Kubernetesロードバランシングインフラストラクチャと対話して、外部から到達可能なIPアドレスを割り当てます。一部のサービスは外部IPアドレスを共有できます。
-
イングレス—イングレス方式は、プロキシとして機能してトラフィックをクラスターに取り込み、内部サービスルーティングを使用してトラフィックを宛先にルーティングします。内部的には、この方法では、ロード バランサー サービスを使用して自分自身を世界に公開し、プロキシとして機能できるようにします。
Paragon Automationは、以下のイングレスプロキシを使用します。
- アンバサダー
- Nginx
クラスター外のデバイスは以下のサービスにアクセスする必要があるため、これらのサービスにはVIPアドレスが必要です。
| 必須のVIPアドレス | の説明 | ロードバランサ/プロキシ |
|---|---|---|
| ingressコントローラ |
Web経由でParagon Automation GUIにアクセスするために使用します。 Paragon Automationは、コンポーネントとアプリケーションへのアクセスを提供する共通のWebサーバーを提供します。サーバーへのアクセスは、Kubernetes Ingressコントローラーを介して管理されます。 |
アンバサダー メタルLB |
| Paragon Insightsサービス |
syslog、DHCP リレー、JTI などの Insights サービスに使用されます。 | メタルLB |
| Paragon Pathfinder PCEサーバー |
ネットワーク内のデバイスとのPCEPセッションを確立するために使用します。 |
メタルLB |
| SNMPトラップレシーバープロキシ(オプション) |
この機能が必要な場合にのみ、SNMPトラップレシーバープロキシのユーザー。 |
メタルLB |
| インフラストラクチャNginx ingressコントローラ |
Paragon Pathfinder netflowdサーバー、およびオプションでParagon Pathfinder PCEサーバーのプロキシとして使用されます。 Nginx Ingressコントローラーには、MetalLBロードバランサープール内にVIPが必要です。つまり、インストールプロセス中に、設定ファイルの作成時に含める必要があるLoadBalancer IPアドレス範囲の一部としてこのアドレスを含める必要があります。 |
Nginx メタルLB |
| Pathfinder Netflowd |
Paragon Pathfinder netflowdサーバーに使用されます。 Netflowd は Nginx をプロキシとして使用できるため、独自の VIP アドレスは必要ありません。 |
メタルLB |
| レジストリ(オプション) | プライマリノード上の複数のコンテナレジストリに接続するために使用します。 |
- |
| PCEPサーバー(オプション) |
MD5認証用のPCEサーバーに使用されます。 |
- |
| cRPD(オプション) |
MD5認証用のBGPモニタリングプロトコル(BMP)ポッドに接続するために使用します。 |
- |
アンバサダーが使用するポート:
-
HTTP 80(TCP)からHTTPSへのリダイレクト
-
HTTPS 443(TCP)
-
Paragon Planner 7000(TCP)
-
DCS/NETCONF 開始 7804(TCP)
Insights Services、パス計算要素(PCE)サーバー、SNMP で使用されるポート:
-
インサイトサービス
JTI 4000(UDP)
DHCP(ZTP)67(UDP)
SYSLOG 514(UDP)
SNMP プロキシ 162(UDP)
-
PCEサーバー
PCEP 4189(TCP)
-
SNMP
SNMPトラップレシーバー162(UDP)
で使用されるポート
Nginxコントローラーで使用されるポート:
-
NetFlow 9000(UDP)
-
PCEP 4189(TCP)
PCEPにNginxを使用する
インストールプロセス中に、PCEPのingressプロキシを有効にするかどうかを尋ねられます。パス計算要素(PCE)サーバーのプロキシとして、 None または Nginx-Ingress から選択できます。
プロキシとしてNginx-Ingressを選択した場合、表1で説明したPCEサーバーのVIPを設定する必要はありません。この場合、インフラストラクチャNginx Ingress ControllerのVIPアドレスはPCEサーバーにも使用されます。netflowdプロキシを使用しない場合、インフラストラクチャNginx IngressコントローラのVIPがnetflowdにも使用されます。
Nginx を使用する利点は、複数のサービスに 1 つの IP アドレスを使用できることです。
マルチプライマリノード導入におけるレジストリのVIPアドレス
複数のプライマリノードを持つセットアップをデプロイし、複数のコンテナーレジストリ(各プライマリノードに1つ)をデプロイする場合は、クラスターノードと同じブロードキャストドメインに追加のVIPアドレスが必要になります。このアドレスは、各プライマリノードにデプロイされているコンテナーレジストリに接続するために使用されます。
インストール ウィザードでは、この IP アドレスがレジストリの仮想 IP アドレスとして参照されます。MetalLBロードバランサのVIPアドレスプールに、このVIP アドレスを含めることはできません 。
MD5認証用のVIPアドレス
MD5認証を設定して、ルーターとParagon Pathfinder間のPCEPセッションを保護し、BMPサービスが正しいBGP-LSルーターとピアリングしていることを確認できます。Paragon Automationは、Multusを使用して、ルーターに直接アクセスできるようにPCEサーバーとBMPポッドにセカンダリインターフェイスを提供します。クラスターノードと同じサブネットに、以下のVIPアドレスが必要です。
-
CIDR形式のPCEサーバーのVIPアドレス
-
CIDR形式のcRPDのVIPアドレス
MetalLBロード・バランサのVIPアドレス・プールには、これらのVIP アドレスを含めることはできません 。
MD5 認証を設定する場合は、ルーターで認証キーと仮想 IP アドレスを追加設定する必要があります。また、Paragon Automation UIで認証キーを設定する必要があります。
-
PCEPセッションでのMD5—ルーターでMD5認証キーを設定し、ルーターでParagon Automation UIとVIPアドレスを設定します。
-
Junos CLI で以下を設定します。
user@pcc# set protocols pcep pce pce-id authentication-key pce-md5-keyuser@pcc# set protocols pcep pce pce-id destination-ipv4-address vip-for-pce -
デバイスの設定>Device Nameの編集ページのプロトコル:PCEPセクションにあるMD5文字列フィールドにpce-md5-key認証キーを入力します>。
MD5認証キーは 79 文字以下である必要があります。
-
-
cRPD上のMD5—cRPD MD5認証キーを決定し、ルーターでcRPDのキーとVIPアドレスを設定します。
-
MD5認証キーは、以下の方法で決定または設定します。
-
confコマンドスクリプトを実行し、cRPDでMD5認証を有効にします。config.ymlファイルでcrpd_auth_keyパラメーターを検索します。キーが存在する場合は、cRPDがMD5用に設定されていることを示しています。例:crpd_auth_key : northstar。config.ymlファイルにあるキーを使用して(またはキーを編集することもできます)、ルーターに入力できます。 -
config.yml ファイルに MD5 認証 キーがない場合は、cRPD にログインし、次のいずれかのコマンドを使用して 認証 キーを設定する必要があります。
set groups extra protocols bgp group name authentication-key crpd-md5-keyまたは
set protocols bgp group name authentication-key crpd-md5-keyMD5認証キーは 79 文字以下である必要があります。
-
-
cRPDでMD5を有効にするようにルーターを設定します。
user@pcc# set protocols bgp group name neighbor vip-for-crpd authentication-key md5-key
-
Paragon Automationのインストールプロセスを開始する前に、必要なすべてのVIPアドレスを特定する必要があります。インストールプロセスの一環として、これらのアドレスを入力するよう求められます。
ロードバランシングの設定
VIPはデフォルトでレイヤー2で管理されます。すべてのクラスターノードが同じブロードキャストドメイン内にある場合、各VIPアドレスは一度に1つのクラスターノードに割り当てられます。レイヤー2モードではVIPのフェイルオーバーが実現しますが、実際のロードバランシングは提供されません。クラスターノード間で真のロードバランシングを行う場合、またはノードが異なるブロードキャストドメインにある場合は、レイヤー3でロードバランシングを設定する必要があります。
VIP アドレスをネットワークにアドバタイズするには、BGP ルーターを設定する必要があります。BGP ルーターが ECMP を使用して、異なるホスト間の TCP/IP セッションのバランスを取ることを確認します。BGP ルーターをクラスターノードに直接接続します。
クラスターノードでロードバランシングを設定するには、 config.yml ファイルを編集します。例えば:
metallb_config:
peers:
- peer-address: 192.x.x.1 ## address of BGP router
peer-asn: 64501 ## autonomous system number of BGP router
my-asn: 64500 ## ASN of cluster
address-pools:
- name: default
protocol: bgp
addresses:
- 10.x.x.0/24
この例では、192.x.x.1のBGPルーターが、10.x.x.0/24プレフィックスを持つVIPアドレスの到達可能性をネットワークの残りの部分にアドバタイズする役割を担っています。クラスターは、この範囲のVIPアドレスを割り当て、アドレスを処理できるクラスターノードにアドレスをアドバタイズします。
DNSサーバーを設定する(オプション)
メインWebゲートウェイには、イングレスコントローラーのVIPアドレス、またはイングレスコントローラーのVIPアドレスに解決されるドメインネームシステム(DNS)サーバーで構成されたホスト名を介してアクセスできます。DNSサーバーを設定する必要があるのは、ホスト名を使用してWebゲートウェイにアクセスする場合だけです。
ホスト名をA、AAAA、またはCNAMEレコードとしてDNSに追加します。ラボおよび概念実証(POC)のセットアップでは、クラスターノードの /etc/hosts ファイルにホスト名を追加できます。