インストールと展開

警告

この方法では、Ericom社がワールドワイドでリリースしている全バージョンが選択可能です。日本では独自にサポート可能なバージョンを限定してリリースしています。そのため、setup.sh および ver-change.sh によって選択可能なバージョン以外のものをインストールして利用しないように願いいたします。

Shieldは、主に2つの方法でインストールできます。

  1. インストールスクリプトの使用(UbuntuおよびCentOSで使用できます)
  2. OVA ファイルの使用 (CentOS の場合)

Shieldコンポーネントは、Rancherを使用してLinuxマシンに展開されます。Rancher は、本番環境での Docker および Kubernetes 製品を簡単に展開および管理できる、よく知られたソフトウェアプラットフォームです。

最初のステップは、Kubernetes クラスターを作成し (Rancher を使用して) し、クラスターの準備ができたら、そのクラスターにShieldを展開します。

推奨事項は、クラスターの展開と管理に使用する専用のLinuxマシンをセットアップすることです。 このマシンは、 Rancher Server マシンと呼ばれます。 このマシンには、Kubectl & Helm も含まれます(以下を参照)。 Rancher Server は、分離されたマシンまたはマスターマシン(etcdおよびコントロールプレーンの実行)のいずれかになります。

高可用性展開では、3 台のマスタ (クラスター管理) マシンが必要です。

ここで詳しく説明するプロセスは、 インストールスクリプト を使用してインストールすることに専念しています。 OVA を使用してインストールする場合、一部の手順は省略できます(OVAに含まれるコンポーネントのため)。 OVA を使用したインストールの詳細な手順については、こちら を参照してください。

参考

以下に詳しく説明するプロセスには、Linuxマシンと Rancherユーザーインターフェイス(ブラウザーを使用)の両方で実行される手順が含まれています。

この手順では、それがどこで行われるかを説明します (Rancher または Linux のいずれか)。

Linux マシンの準備

Shieldクラスターに参加する各Linuxマシンは、クラスターを作成する前に準備する必要があります。 以下の手順に従って、各マシンで個別に実行してください。

参考

Kubernetes システムで Ubuntu 16.04 を使用する場合、Kubernetes が正常に実行するにはいくつかの手順が必要です。詳しくは こちら をご覧ください。

OS 設定の構成

curl -s -o configure-sysctl-values.sh https://raw.githubusercontent.com/EricomSoftwareLtd/Shield/Rel-19.07.1/Kube/scripts/configure-sysctl-values.sh
chmod +x configure-sysctl-values.sh
sudo ./configure-sysctl-values.sh

Dockerのインストール

curl -s -o install-docker.sh https://raw.githubusercontent.com/EricomSoftwareLtd/Shield/Rel-19.07.1/Kube/scripts/install-docker.sh
chmod +x install-docker.sh
./install-docker.sh

現在のユーザーをDockerグループに追加する

sudo usermod -aG docker "$USER"

ログアウトしてもう一度ログインします。

Docker が正しくインストールされていることを確認します。

docker version

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

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

クラスターの作成

すべてのShieldマシンの準備ができたら、 Rancher Server となるマシンを選択して Rancherを初期化し、クラスターを形成します。

参考

高可用性の場合 - Shieldクラスターには 3 台のMaster (クラスタ管理) マシンが含まれている必要があります。

Rancherの展開

Linux Rancher Server マシンで、専用フォルダを作成し、Rancher を実行します。

mkdir ~/ericomshield
curl -s -o run-rancher.sh https://raw.githubusercontent.com/EricomSoftwareLtd/Shield/Rel-19.07.1/Kube/scripts/run-rancher.sh
chmod +x run-rancher.sh
./run-rancher.sh

Init Rancher - ブラウザを開き、https://RancherServerIPAddress:8443 に移動します(RancherサーバーのIPアドレスを使用)。

../../../_images/rancher13.png

(必要に応じて)管理者パスワードを設定し、 続行 をクリックします。

../../../_images/rancher23.png

URLを保存 をクリックします。

クラスターの形成とノードの追加

Rancherで、 クラスターの追加 オプション(右側)をクリックします。

../../../_images/rancher33.png

クラスター名を入力します。

Cluster Options を展開し、 Network ProviderFlannel オプションを選択します。 「次へ」をクリックします。

必要なチェックボックスを選択します。 クラスター管理 ノード (Masterマシン) の場合は、すべてのチェックボックスをオンにします。 Worker ノードの場合は、Worker チェックボックスをオンにします。例:

../../../_images/rancher43.png

下部のコマンドをコピーします(右側の クリップボードにコピー オプションを使用)。

コピーしたコマンドを各Linuxマシンで実行して、クラスターに参加させます。コピーしたコマンドが参加するノード( Master / Worker )と一致することを確認します。クラスターメニューの ノード をクリックして、ノードの参加をフォローします。

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

ノード ラベルの設定

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

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

../../../_images/rancher71.png

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

../../../_images/rancher7a1.png

ラベルは、手動で 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/rancher81.png

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

クラスター管理

Kubectl

Kubectl は、Kubernetesクラスターでコマンドを実行するために使用されます。詳細については、こちら を参照してください。

Linux Rancher Server マシンに Kubectl をインストールします。次のコマンドを実行します。

curl -s -o install-kubectl.sh https://raw.githubusercontent.com/EricomSoftwareLtd/Shield/Rel-19.07.1/Kube/scripts/install-kubectl.sh
chmod +x install-kubectl.sh
./install-kubectl.sh

Kubeconfigの更新

Rancher で クラスタ に移動し、Kubeconfig ファイル を選択します。

../../../_images/rancher51.png

下にスクロールし、クリップボードにコピー オプションを選択します。これにより、Kubeconfig ファイルの内容がクリップボードにコピーされます。

Linux Rancher Server マシンで、 ~/.kube (mkdir ~/.kube)という名前のディレクトリを作成してから、 ~/.kube/config という名前の新しいファイルを作成します。クリップボードの内容をファイルに貼り付けます。

kubectl が正しく構成されていることを確認します (クライアントとサーバー)。

kubectl version

期待される結果は次のようになります。

Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.3", GitCommit:"5e53fd6bc17c0dec8434817e69b04a25d8ae0ff0", GitTreeState:"clean", BuildDate:"2019-06-06T01:44:30Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.5", GitCommit:"2166946f41b36dea2c4626f90a77706f426cdea2", GitTreeState:"clean", BuildDate:"2019-03-25T15:19:22Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}

Helm

Helmは、Kubernetes(Shieldなど)上でアプリケーションを実行するために使用されるアプリケーションマネージャーです。 Linux Rancher Server マシンにHelmをインストールします。

Helm をインストールするには、次のコマンドを実行します。

curl -s -o install-helm.sh https://raw.githubusercontent.com/EricomSoftwareLtd/Shield/Rel-19.07.1/Kube/scripts/install-helm.sh
chmod +x install-helm.sh
./install-helm.sh

Shieldリポジトリ

参考

Shieldリポジトリには有効なパスワードが必要です。有効なパスワードを取得するには、サポートセンターにお問い合わせください。

Linux Rancher Server マシンにShieldリポジトリを追加するには、次のコマンドを実行します。

curl -s -o add-shield-repo.sh  https://raw.githubusercontent.com/EricomSoftwareLtd/Shield/Rel-19.07.1/Kube/scripts/add-shield-repo.sh
chmod +x add-shield-repo.sh
./add-shield-repo.sh -p PASSWORD

リポジトリが適切に構成されていることを確認します。実行:

helm search shield

期待される結果は次のようになります。

../../../_images/rancher61.png

参考

レガシーシステムから移行する場合は、この段階で停止し、ステップ6 こちら に進みます。

Shieldの展開

参考

OVAを使用してShieldをインストールする場合、shield-deploy.shは既に含まれています。単にそれを実行します(ローカルにダウンロードせずに)

クラスターが準備され、クラスター内のすべてのノードに必要なラベルが含まれると、Shieldを展開できます。次のコマンドを実行してShieldを展開します。

curl -s -o deploy-shield.sh https://raw.githubusercontent.com/EricomSoftwareLtd/Shield/Rel-19.07.1/Kube/scripts/deploy-shield.sh
chmod +x deploy-shield.sh
./deploy-shield.sh

Shieldサービスを既定のプロジェクトに移動する。

Shieldを展開した後、表示とアクセスを容易にするために、異なる名前空間 (コンポーネント) を Default プロジェクトの下に移動する必要があります。

クラスターの下には、Management、Proxy、ELK、Farm Services の4つの名前空間があります。これらは、それぞれ Shield-Management、Shield-Proxy、Shield-Log、Farm Services コンポーネントに対応しています。Browsersコンポーネントは論理コンポーネントであり、名前空間で表されるものではありません。これは、ブラウザが作成され、Farm Services によって 管理されるためです。

Rancherで Cluster をクリックします。次に、 Projects/Namespaces をクリックします。すべてのShield名空間を選択し、上部の Move オプションをクリックします。 Default を選択して確認します。Shieldコンポーネントが Default プロジェクトの下に表示されるようになりました。

../../../_images/rancher91.png

次に、クラスターをクリックし、クラスター名の下に Default を選択します。

../../../_images/rancher101.png

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

Rancherで、システムが稼働中かどうかを Workloads で確認します。 詳細については、 `こちら <FAQ/status.html>`_をご覧ください。

バックアップ

バックアップパスとストレージアカウントを設定します。詳しくは こちら を参照ください。

既存のクラスターへのノードの追加

既に運用中の 既存 Shieldクラスターに新しいノードを追加する必要がある場合は、次の手順に従います。

必要に応じてノードを準備してください(詳細は こちら

Rancherのcopyコマンドを使用して、既存のクラスターに参加したノード(前述)。 コピーしたコマンドが参加するノードと一致することを確認します( Master / Worker

新しいノードが追加されたら、ラベルを設定します(詳細は こちら )。

これで、クラスターが新しいノードで更新されます。