このページの目次
Paragon Automationのシステム要件
Paragon Automationソフトウェアをインストールする前に、システムがこれらのセクションで説明されている要件を満たしていることを確認してください。
Paragon Automationの実装に必要なリソースを決定するには、Paragon Automationの基礎となるインフラストラクチャの基礎を理解する必要があります。
Paragonオートメーションは、APIを介して相互に対話し、Kubernetesクラスター内のコンテナ内で実行されるマイクロサービスの集合体です。Kubernetesクラスターは、コンテナ化されたアプリケーションを実行するノードまたはマシンのセットです。各ノードは、物理 (ベアメタル サーバー) または仮想 (仮想マシン) の 1 台のマシンです。
クラスター内のノードは、インストールされている Kubernetes コンポーネントに応じて異なる役割または機能を実装します。インストール中に各ノードが持つロールを指定すると、インストール プレイブックによって対応するコンポーネントが各ノードにインストールされます。
-
コントロールプレーン(プライマリ)ノード:クラスタの状態を監視し、ワーカーノードを管理し、アプリケーションワークロードをスケジュールし、ワークロードのライフサイクルを管理します。
-
コンピューティング(ワーカー)ノード:コントロールプレーンノードによって割り当てられたタスクを実行し、アプリケーションワークロードを実行するポッドとコンテナをホストします。各ワーカー ノードは、コンテナーのコレクションである 1 つ以上のポッドをホストします。
-
ストレージノード:クラスタ内のオブジェクト、ブロック、およびファイルにストレージを提供します。Paragon Automationでは、Cephはクラスタ内のストレージサービスを提供します。ストレージ・ノードはワーカー・ノード内にある必要がありますが、すべてのワーカー・ノードがストレージを提供する必要はありません。
プライマリ、ワーカー、ストレージノードの最小構成の詳細については、 Paragon Automationの実装 と ハードウェア要件を参照してください。
Kubernetes クラスターは、複数のプライマリ ノードとワーカー ノードで構成されます。両方のロールに必要なコンポーネントが同じノードにインストールされている場合、1 つのノードがプライマリとワーカーの両方として機能できます。
次のクラスタパラメータを決定するには、目的のシステムの容量(デバイス数、LSPなどの数)、必要な可用性のレベル、および予想されるシステムのパフォーマンスを考慮する必要があります。
- クラスタ内のノード(仮想または物理)の総数
- 各ノードのリソース量 (CPU、メモリ、およびディスク領域)
- プライマリ、ワーカー、およびストレージノードとして機能するノードの数
Paragon Automationの実装
Paragonオートメーションは、1つ以上のプライマリノードと1つ以上のワーカーノードで構成されるKubernetesクラスターの上に実装されます。機能クラスターには、少なくとも 1 つのプライマリ ノードと 1 つのワーカー ノードが必要です。Paragon Automationは、2つの異なる方法で実装できます。
-
単一ノード実装:単一ノード実装は、仮想マシン(VM)またはベアメタルサーバー(BMS)のいずれかの1つのノードで構成され、プライマリ、ワーカー、およびストレージノードとして機能します。Paragon Automationを単一ノードでインストールする場合、 inventory.yml ファイルでノードを「マスター」として設定し、インストール時にマスタースケジューリングを選択する必要があります。詳細については、「 Ubuntu への単一ノードクラスターのインストール」、「 CentOS への単一ノードクラスターのインストール」、または「 Red Hat Enterprise Linux への単一ノードクラスターのインストール」を参照してください。
手記:Paragon Automationは、限定的なラボ(学習またはデモ)目的でのみ単一ノードのセットアップとして実装する必要があり、お客様のPoCや本番環境の導入では実装しないでください。
単一ノードを使用してParagon Automationを実装することは、管理対象デバイスの数、またはParagon Insightsプレイブック/ルールの数、処理するテレメトリデータの量が増えると、パフォーマンスが制限され、アプリケーション/サービスに障害が発生する可能性があるため、推奨 されません 。
-
マルチノード実装:マルチノード実装は、VM または BMS のいずれかの複数のノードで構成され、少なくとも 1 つのノードがプライマリとして機能し、少なくとも 3 つのノードがワーカーとして機能し、ストレージを提供します。この実装により、パフォーマンスが向上するだけでなく、クラスター内の高可用性が可能になります。
-
コントロールプレーンの高可用性:コントロールプレーンの冗長性を確保するには、少なくとも3つのプライマリノードが必要です。プライマリノードの総数が 奇数 である限り、プライマリノードを追加できます。
複数のプライマリノードでParagon Automationをインストールする場合、Kubernetesマスター仮想IPアドレスを設定し、インストール時に
Install Loadbalancer for Master Virtual IP address
オプションを選択する必要があります。詳細については、「 Ubuntu へのマルチノードクラスターのインストール」、「 CentOS へのマルチノードクラスターのインストール」、または「 Red Hat Enterprise Linux へのマルチノードクラスターのインストール」を参照してください。 -
ワークロードの高可用性 — ワークロードの高可用性とワークロードのパフォーマンスを得るには、複数のワーカーが必要です。必要に応じて、クラスターにワーカーを追加できます。
-
ストレージの高可用性—ストレージの高可用性を実現するには、Cephストレージ用に少なくとも3つのノードが必要です。プライマリノードのいずれかでCephストレージを提供する場合は、インストール中に
Master Scheduling
を有効にする必要があります。マスター スケジューリングを有効にすると、プライマリも作業者として動作できます。
冗長性を提供するセットアップは、 図 3 の例に示すように、さまざまな方法で実装できます。
図 3: マルチノード冗長セットアップ手記:Paragon Automationの実稼働環境の導入では、最低3つのプライマリノード(マルチプライマリノード設定)と、Cephストレージを提供する最低3つのワーカーノードを備えた完全冗長セットアップをお薦めします。インストール プロセス中に
Master Scheduling
を有効にする必要があります。 -
ハードウェア要件
このセクションでは、Paragon AutomationクラスタのAnsible制御ホストノードとプライマリおよびワーカーノードに必要な最小ハードウェアリソースを示します。
Ansibleコントロールホストノードのコンピューティング、メモリ、およびディスクの要件は、クラスタの実装タイプ(シングルノードまたはマルチノード)やシステムの意図された容量に依存しません。次の表に、Ansible コントロール ホスト ノードの要件を示します。
ノード |
最小ハードウェア要件 |
ストレージ要件 |
役割 |
---|---|---|---|
Ansibleコントロールホスト |
2–4 コア CPU、12 GB RAM、100 GB HDD |
ディスクパーティションや追加のディスク容量は必要ありません |
Ansibleの操作を実行してクラスターをインストールします。 |
これに対し、クラスター ノードのコンピューティング、メモリ、およびディスクの要件は、実装の種類 (シングルノードまたはマルチノード) とシステムの目的の容量によって大きく異なります。対象となる容量には、監視するデバイスの数、センサーの種類、テレメトリ メッセージの頻度、プレイブックとルールの数が含まれます。デバイス グループ、デバイス、またはプレイブックの数を増やす場合は、より高い CPU とメモリ容量が必要になります。
次の表は、マルチノード クラスタを正常にインストールするために必要なノードごとの最小ハードウェア リソースをまとめたものです。
ノード |
最小ハードウェア要件 |
ストレージ要件 |
役割 |
---|---|---|---|
プライマリ ノードまたはワーカー ノード |
8コアCPU、32 GB RAM、200 GB SSDストレージ(Cephストレージを含む) ディスクの最小 1000 IOPS |
クラスタには、少なくとも 3 つのストレージノードが含まれている必要があります。各ノードには、Cephストレージ用に、フォーマットされていないディスクパーティションまたは少なくとも30 GBのスペースを持つ個別の未フォーマットディスクが必要です。 |
Kubernetesプライマリまたはワーカーノード |
次の表は、単一ノード クラスタを正常にインストールするために必要な最小ハードウェア リソースをまとめたものです。
ノード |
最小ハードウェア要件 |
ストレージ要件 |
役割 |
---|---|---|---|
プライマリ ノードまたはワーカー ノード |
8コアCPU、32GB RAM、200GB SSDストレージ(Cephストレージを含む) ディスクの最小 1000 IOPS |
ノードには、Cephストレージ用に、フォーマットされていないディスクパーティションまたは別の未フォーマットディスク(最小30 GBのスペース)が必要です。 「ディスク要件」を参照してください。 |
Kubernetesプライマリまたはワーカーノード |
ベアメタルサーバーにはSSDが必須です。
デフォルトでは、Paragon AutomationによってDockerレジストリが生成され、Cephストレージに内部的に保存されます。現在のリリースでは、オプションでParagon Automationを設定して、複数のDockerレジストリを生成し、それらを複数の外部ノードに保存することができます。次の表は、各外部 Docker レジストリ ノードに必要な最小ハードウェア リソースをまとめたものです。
ノード |
最小ハードウェア要件 |
ストレージ要件 |
役割 |
---|---|---|---|
外部レジストリ ノード |
2–4 コア CPU、12 GB RAM、100 GB HDD |
ディスクパーティションや追加のディスク容量は必要ありません |
Docker レジストリを格納します。 |
ここでは、最大 2 つのデバイス グループをサポートする小規模な展開の最小要件のみを一覧表示しました。このような導入環境では、各デバイスグループは、すべてのParagon Automationコンポーネントで2つのデバイスと2〜3つのプレイブックで構成されます。デバイスとデバイスグループの詳細については、 Paragon Automationユーザーガイドを参照してください。
実稼働環境における規模とサイズの見積もりを入手し、詳細な寸法要件についてご相談される場合は、ジュニパーパートナーまたはジュニパーの営業担当者にお問い合わせください。
ソフトウェア要件
-
すべてのノードに、Ubuntu バージョン 18.04.04 以降、CentOS バージョン 7.6 以降、または RHEL バージョン 8.3 以降の基本 OS をインストールする必要があります。すべてのノードで、同じバージョンの Linux (Ubuntu、CentOS、または RHEL) が実行されている必要があります。
Paragon Automationリリース23.1は、次のOSバージョンで動作することが認定されています。
-
Ubuntuバージョン18.04.05 LTS(バイオニックビーバー)および20.04.4 LTS(フォーカルフォッサ)
-
RHEL バージョン 8.4 および RHEL バージョン 8.10
手記:RHEL バージョン 8.10 を使用している場合は、次の RPM バンドルを削除する必要があります。
rpm -e buildah cockpit-podman podman-catatonit podman
リリース23.1は、Ubuntu 22.04.2 LTS(Jammy Jellyfish)でも実験的にサポートされています。
-
Docker は、Ansible コントロール ホストにインストールする必要があります。コントロール ホストは、インストール パッケージがダウンロードされ、Ansibleインストール プレイブックが実行される場所です。詳細については、「 Ubuntu でのインストールの前提条件」、「 CentOS でのインストールの前提条件」、または「 Red Hat Enterprise Linux でのインストールの前提条件」を参照してください。
Docker CE を使用している場合は、バージョン 18.09 以降をお勧めします。
Docker EE を使用している場合は、バージョン 18.03.1-ee-1 以降をお勧めします。また、Docker EE を使用するには、制御ホストに加えて、プライマリ ノードおよびワーカー ノードとして機能するすべてのクラスター ノードに Docker EE をインストールする必要があります。
Dockerでは、Ansible(バージョン2.9.5)にパッケージ化されたParagon Automationインストーラーファイルと、クラスターのインストールに必要な役割とプレイブックを実行できます。
正しいバージョンがない場合、インストールは失敗します。これらのバージョンを確認するコマンドについては、このガイドの以降のセクションで説明します。
ディスク要件
次のディスク要件は、単一ノード展開とマルチノード展開の両方で、プライマリ ノードとワーカー ノードに適用されます。
- ディスクはSSDである必要があります。
- 必要なパーティション:
-
ルートパーティション:
ルートパーティションを / にマウントする必要があります。
少なくとも170GBのスペースを持つ単一のルートパーティションを作成できます。
または、少なくとも 30 GB の領域を持つルートパーティションと、少なくとも 140 GB の領域を持つデータパーティションを作成することもできます。データ・パーティションを「/export」にマウントする必要があります。また、システムディレクトリ "/var/local" と "/var/lib/docker" を同じパーティションにバインドマウントする必要があります。例えば:
# mkdir -p /export/docker /var/lib/docker /export/local /var/local # vi /etc/fstab [...] /export/docker /var/lib/docker none bind 0 0 /export/local /var/local none bind 0 0 [...] # mount -a
/export にマウントされたデータパーティションは、Postgres、ZooKeeper、Kafka、および Elasticsearch 用に使用します。/var/localにマウントされたデータパーティションをParagon Insights Influxdb用に使用します。
-
Cephパーティション:
Cephストレージ用のフォーマットされていないパーティションには、少なくとも30 GBの領域が必要です。
手記:このパーティションを使用する代わりに、Cephストレージ用に少なくとも30 GBの領域を持つ別の未フォーマットディスクを使用できます。
-
ネットワーク要件
- すべてのノードは、常に NTP またはその他の時刻同期を実行する必要があります。
- SSH サーバーは、すべてのノードで実行されている必要があります。すべてのノードに共通のSSHユーザー名とパスワードが必要です。
- すべてのノードで DNS を構成し、すべてのノード (Ansible 制御ホスト ノードを含む) が同期されていることを確認する必要があります。
- すべてのノードにインターネット接続が必要です。クラスター ノードがインターネットに接続されていない場合は、エア ギャップ方式を使用してインストールできます。エアギャップ方式は、RHEL をベース OS とするノードでのみサポートされます。
-
ノード間のクラスタ間通信を許可する必要があります。特に、 表 5 にリストされているポートは、通信用に開いたままにしておく必要があります。これらのポートのいずれかをブロックしている可能性のあるサーバー上の iptables エントリを確認してください。
表 5: ファイアウォールがブロックしてはならないポート ポート番号 の目的 管理ユーザー アクセスのために、すべてのクラスター ノードでこれらのポートを有効にします。 80 HTTP(TCP) 443 HTTPS(TCP) 7000 Paragon Planner communications(TCP) ネットワーク要素との通信のために、すべてのクラスタノードでこれらのポートを有効にします。 67 ztpservicedhcp(UDP) 161 SNMP、テレメトリ収集(UDP)用 162 ingest-snmp-proxy-udp(UDP) 11111 hb-proxy-syslog-udp(UDP) 4000 ingest-jti-native-proxy-udp(UDP) 830 NETCONF communication(TCP) 7804 NETCONF コールバック(TCP) 4189 PCEP Server(TCP) 30000-32767 Kubernetes のポート割り当て範囲 (TCP) すべてのポートでクラスタ ノード間の通信を有効にします。少なくとも、次のポートを開きます。 6443 クラスタ内のワーカーノードとの通信 (TCP) 3300 ceph (TCP) 6789 ceph (TCP) 6800-7300 ceph (TCP) 6666 キャリコなど(TCP) 2379 etcd クライアント要求 (TCP) 2380 etcd ピア通信(TCP) 9080 cephcsi(TCP) 9081 cephcsi(TCP) 7472 メタルポンド(TCP) 7964 メタルポンド(TCP) 179 キャリコ(TCP) 10250-10256 Kubernetes APIコミュニケーション(TCP) 制御ホストとクラスタノード間でこのポートを有効にします。 22 TCP
Web ブラウザーの要件
表 6 に、Paragonオートメーションをサポートする 64 ビット Web ブラウザーを示します。
ブラウザー |
サポートされているバージョン |
サポートされているOSバージョン |
---|---|---|
クロム |
85 以降 |
ウィンドウズ10 |
ファイアーフォックス |
79 以降 |
ウィンドウズ10 |
サファリ |
14.0.3 |
MacOS 10.15 以降 |
VM へのインストール
Paragonオートメーションは、仮想マシン(VM)にインストールできます。VM は任意のハイパーバイザー上に作成できますが、このトピックで説明されているサイズ、ソフトウェア、およびネットワークの要件をすべて満たす必要があります。
VM には、推奨される基本 OS がインストールされている必要があります。VM とベアメタル サーバーのインストール プロセスは同じです。