7.4. インストールと展開

7.4.1. 概要

Ericom Shieldは、環境アーキテクチャと接続要件に応じて、さまざまな方法を使用してインストールできます。

インストール方法 説明 推奨 要件
スクリプトによるオンラインインストール 最新のShieldインフラストラクチャスクリプトとインストールファイルのリアルタイムダウンロード。 最新の安定したShieldバージョンを必要とするインターネット接続のある環境。 Ubuntu Server18.04とインターネット接続
OVA /レジストリを介したオフラインインストール ローカルレジストリからのShieldのインストール。 インターネットに接続できない環境。
Ubuntu Server18.04およびレジストリOVA。
注: レジストリサーバーは、Shieldサーバーにすることもできます。

高可用性の本番環境(推奨)の場合、マスター(クラスタ管理)マシンが3台必要です。

7.4.2. スクリプトによるオンラインインストール

推奨は、クラスタのデプロイと管理に使用する専用のLinuxマシンをセットアップすることです。このマシンは、Rancher Serverマシンと呼ばれます。このマシンには、すべての内部コンポーネント(KubectlやHelmなど)が含まれます。Rancher Serverは、別のマシンでも、マスターマシン(etcdとControl Planeを実行)の1つでもよい。システム内の他のすべてのノードは、デプロイメントタイプによって決まります。

ノードの準備

これらの要件に従って、希望する展開に応じた必要台数のマシンを準備します。Shieldシステム内のすべてのマシンが持っている必要があります。

  • 固定IPアドレス
  • 同じタイムゾーン(システム内の他のマシンと同じ)であること
  • 一意のホスト名

以下の手順でマシンを準備します。

  • DNSとネットワークの設定は、Ubuntuの勧告に従って行ってください(Name Resolutionで検索してください)。
  • すべてのマシンを同期させる必要があります。マシンのNTP(Network Time Protocol)とタイムゾーンを設定する。
sudo timedatectl set-ntp on
sudo systemctl restart systemd-timesyncd
timedatectl set-timezone <Continent>/<City>

マシンの名前をユニークな名前に変更します(クラスタを正しく作成するために必要です)。rootで、実行します。

hostnamectl set-hostname <NewUniqueHostname>

/etc/hosts ファイルで新しいホスト名を更新します。不足している場合は、追加してください。

ShieldシステムにSSLインスペクションを使用するUpstream Proxyが含まれている場合、マシンに一致する証明書をインストールします。usr/local/share/ca-certificate/cert-1.crt に移動して、cert-1.crt というファイルを作成し、実行してください。

sudo update-ca-certificate

マシンを再起動する。

システム内の各マシンについて、この手順を繰り返します。

Rancherサーバーを準備する

注意

Shieldのオンラインリポジトリには、有効なパスワードが必要です。続行する前に、Ericom Shield プロフェッショナルサービスに連絡して、有効なパスワードを入手してください。

LinuxのRancher Serverマシンで、このコマンドをコピーして実行します。

curl -so install-shield.sh https://raw.githubusercontent.com/EricomSoftwareLtd/Shield/master/Kube/scripts/install-shield.sh
chmod +x install-shield.sh
sudo ./install-shield.sh -l -p <PASSWORD>

このコマンドは、Rancherをすべてのラベルで実行し(-l)、最新のShieldリポジトリを使用します。

スクリプトが正常に終了すると、このようなリンク画面が表示されます。

../_images/install_es2111_07.jpg

スクリプトが完全に完了しない場合は、install-shield.sh スクリプトを再度実行してください。

sudo ./install-shield.sh -l -p <PASSWORD>

サーバーノードの準備

複数ノードのシステムを展開する場合、Shieldクラスタに参加する各サーバーノードは、クラスタを作成する前に準備する必要があります。Linux Rancher Serverマシンから実行します。

./shield-prepare-servers [-u <USER>] <ServerIPAddress(s)>

ユーザーは全ノードに存在するユーザで置き換えてください.ServerIPAddress(s)をシステムノードのIPアドレスのリスト(ServerIPAddress(s)を含む)で置き換えます. IPアドレスは、スペース(」 「)で区切って複数入力することができます。

例)

./shield-prepare-servers -u ericom xx.xx.xx.xx yy.yy.yy.yy

Shieldを展開する

Shieldの展開(続き)の手順を実行します。

7.4.3. OVA /レジストリを介したオフラインインストール

Shield OVA / Registryは、サーバーにShieldをインストールするため、およびインターネット接続がない場合に必要なすべてのサービスのコレクションです。

注意

Shield OVA / Registryは、準備された他のUbuntuサーバーにShieldをインストールするために使用することも、Shieldサーバー自体として使用することもできます。

準備されたUbuntuサーバーにShieldをインストールする場合、Shieldレジストリ自体(レジストリVMと呼ばれる)専用の単一のマシンが必要です。この特定のマシンの要件は次のとおりです。

  • 最小:1コア / 2GBメモリ
  • おすすめされた:2コア / 4GBメモリ

Shieldシステムを計画するときは、クラスターの展開と管理に使用される専用のLinuxマシンをセットアップすることをお勧めします。このマシンは、RancherServerマシンと呼ばれます。このマシンには、すべての内部コンポーネント(Kubectl&Helmなど)が含まれます。ランチャーサーバーは、別のマシンにすることも、マスターマシンの1つ(etcdとコントロールプレーンを実行する)に置くこともできます。システム内の他のすべてのノードは、デプロイメントタイプによって決定されます。

このウィジェットには以下のデータが含まれます:

  • システムの一部となるすべてのノードを準備します
  • ShieldレジストリVMを作成します
  • ランチャーサーバーを作成する
  • 他のノードをクラスターに追加します。

ノードの準備

Shieldシステムのすべてのマシンには、次のものが必要です。

  • 固定IPアドレス
  • 一意のホスト名
  • 同じタイムゾーン(システム内の他のマシンと同じ)

次の手順に従って、マシンを準備します。

ericom / ericomshieldを使用してログインします。マシンのIPを一意で静的になるように構成します。

/etc/systemd/network に移動し、20-wired.networkファイルを編集します。 DHCP = ipv4の行を変更して、特定のIPアドレス/サブネットを参照します。次に例を示します。

[マッチ]
名前= en *

[通信網]
アドレス= 10.1.10.12 / 24
ゲートウェイ= 10.1.10.1
DNS = 10.1.10.1
#オプション、倍数を使用できます
#DNS = 10.1.10.2
IPForward = ipv4

注意

DHCPサーバーが環境に存在する場合は、予約済み(静的)IPをレジストリVMにリースするように構成します。最初の起動時にレジストリVMに指定されたIPアドレスによってノードのMACアドレスを判別できるはずです。

すべてのマシンを同期する必要があります。マシンのNTP(ネットワークタイムプロトコル)とタイムゾーンを構成します。

sudo timedatectl set-ntp on
sudo systemctl restart systemd-timesyncd
timedatectl set-timezone <Continent> / <City>

マシンの名前を一意の名前に変更します(クラスターを正しく作成するために必要です)。ルートとして、次を実行します。

hostnamectl set-hostname <NewUniqueHostname>

/etc/hosts ファイルの新しいホスト名を更新します。欠落している場合は追加します。

ShieldシステムにSSL検査を使用するアップストリームプロキシが含まれる場合は、一致する証明書をマシンにインストールする必要があります。これを行うには、/usr/local/share/ca-certificate/cert-1.crt の下にファイル cert-1.crt を作成し、次のコマンドを実行します。

sudoupdate-ca-certificate

マシンを再起動します

システム内のマシンごとにこれらの手順を繰り返します。

必要に応じて、OSのサイズを増やします(VMwareのサイズと一致するように)。以下を実行します:

growpart /dev/sda1
resize2fs /dev/sda1

ShieldレジストリVMを準備します

Shield Registryをダウンロードし、VMを起動します。

https://shield-ova.s3.amazonaws.com/shield-kube-Rel-21.07.780.1.ova

ダウンロードしたファイルには、バージョン名が含まれています。それを保管してください。

さらに、このVMのIPアドレス(RegistryIPAddressと呼ばれる)を保持します。インストールプロセス中に両方の詳細が必要になります。

注意

レジストリVMは常に稼働している必要があります。Dockerオフラインレジストリはポート5000でアクセスできます

サーバーノードを準備する

注意

OVA /レジストリサーバーをShieldサーバー自体として使用する場合は、この手順をスキップできます。

Shieldクラスターに参加する各サーバーノードは、クラスターを作成する前に準備する必要があります。レジストリVMにログインして、以下を実行します。

./shield-prepare-servers -u <USER> --offline-mode --offline-registry <RegistryIPAddress:5000> <ServerIPAddress(s)>

USERを、すべてのノードに一致するユーザーに置き換えます。ServerIPAddress(s)を、システム内のすべてのノードのIPアドレスのリストに置き換えます。 スペース( 「」)で区切って、複数のIPアドレスを入力できます。

  • 例:
./shield-prepare-servers -u ericom --offline-mode --offline-registry vv.vv.vv.vv:5000 xx.xx.xx.xx yy.yy.yy.yy zz.zz.zz.zz

ランチャーサーバーを準備する

システム内のノードの1つにログインします。このノードはRancherサーバーになります。

レジストリVMから次のファイルを取得します(RegistryIPAddressを実際のIPに置き換えてください。ポート85が使用されていることに注意してください):

curl -s -o install-shield.sh http://<RegistryIPAddress>:85/ericomshield/install-shield.sh
chmod x install-shield.sh
sudo ./install-shield.sh -l -p <PASSWORD> -v <version-name> --registry <RegistryIPAddress:5000>

バージョン名の形式は次のとおりです。Rel-yy.mm.xxx(例:Rel-21.01.734)。 Shield Registryファイル(以前にダウンロードされたファイル)に記載されているバージョン名を使用します。

Shield を展開する

Shieldの展開(続き)の手順を実行します。

7.4.4. Shieldの展開(続き)

サーバーノードをクラスターマスターに接続する

Rancherを https://RancherServerIPAddress:8443 (Rancher ServerのIPアドレスを使用)開きます。

デフォルトのパスワードadminとericomshieldでログインします。

注意

スクリプトインストールを使用する場合、スクリプトが完了してから5~10分待ってからRancherのURLに移動してください。

クラスタに移動し、[編集]を選択します

../_images/install_es2111_01.jpg

ページの一番下までスクロールし、必要なチェックボックスをマークして(計画された展開に従って)、一番下のコマンドをコピーします(右側の[クリップボードにコピー]オプションを使用)。

../_images/install_es2111_02.jpg

コピーしたコマンドを各サーバーノードで実行し(SSH経由)、クラスターに参加させます。コピーしたコマンドが、参加するノード(Master/Worker)と一致していることを確認してください。クラスタメニューの[ノード]をクリックして、ノードの参加に従います。

../_images/install_es2111_08.jpg

クラスターが更新を開始します。

../_images/install_es2111_09.jpg

プロセスが終了するまで待ちます。ノードがクラスターに参加すると、ページの下部に緑色のメッセージが表示されます。クラスタが完了するまで、ノードごとにこのプロセスを繰り返します。

  • ノードラベルの設定

計画されている展開に従って、各マシンのノードラベルを設定します。

ランチャーで、[ノード]を選択し、編集するノードごとに、右側のメニューから[編集]オプションを選択します。

../_images/install_es2111_03.jpg

[ノードの編集]ダイアログで、[ラベルと注釈]セクションを展開し、目的のラベルをノードに追加します。ラベルごとに、値acceptを設定します。可能なラベルは次のとおりです。

../_images/install_es2111_04.jpg

ラベルは、手動で1つずつ追加することも、次のラベルの1つ以上の行にコピー/貼り付けを使用して追加することもできます。

shield-role/management=accept
shield-role/proxy=accept
shield-role/elk=accept
shield-role/farm-services=accept
shield-role/remote-browsers=accept

保存を押します。更新されたラベルがノードの詳細に表示されます。

../_images/install_es2111_05.jpg

この時点で、Rancherに組み込まれているクラスター監視ツールであるPrometheusとGrafanaを有効にすることをお勧めします。

監視ツールを有効にするには、[クラスター] | [クラスター]に移動します。ツール|モニタリング:

../_images/install_es2111_06.jpg

下にスクロールして有効にします。

注意

クラスタ監視ツールはいくつかのリソースを消費します。クラスタレベルで十分なリソースがある場合は、これらのツールを強くお勧めします。ただし、Shieldシステムの機能には必須ではありません。

システムを再起動して、追加されたノードと定義されたラベルを適用します

sudo ./stop.sh
sudo ./start.sh

これで、新しいクラスターの準備が整いました。

システムステータスの確認

ランチャーで、[ワークロード]でシステムが稼働しているかどうかを確認します。詳細については、クイックガイド|をご覧ください。Shieldステータスの確認方法セクション。

スプリットモード

システムをスプリットモードで展開するには、クイックガイド|で必要な構成を参照してください。Shieldをスプリットモードでデプロイします。