インストールと展開

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

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

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

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

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

参考

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

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

参考

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

参考

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

Rancherサーバーの準備

Linux Rancher Server マシンで、このサービスをダウンロードして実行します。

curl -s -o install-shield.sh https://raw.githubusercontent.com/EricomSoftwareLtd/Shield/master/Kube/scripts/install-shield.sh
chmod +x install-shield.sh
sudo ./install-shield.sh

サーバーノードの準備

Shieldクラスターに参加する各サーバーノードは、クラスターを作成する前に準備する必要があります。 Linux Rancher Server マシンから実行:

curl -s -L -o shield-prepare-servers https://github.com/EricomSoftwareLtd/Shield/releases/download/shield-prepare-servers-19.11.1/shield-prepare-servers
chmod +x shield-prepare-servers
./shield-prepare-servers [-u <USER>] <SERVERIPADDRESSES>

<SERVERIPADDRESSES>は、クラスターを形成するすべてのサーバーノードのIPアドレスを表します。複数のIPアドレスをスペース (" ") で区切って入力できます。

例:

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

参考

カーネルは、このプロセス中に更新される可能性があります (必要な場合)。

次に、クラスター内のすべてのマシン( Rancher Server マシンとサーバノードの両方)で次の手順を実行します。

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

    sudo usermod -aG docker "$USER"
    
  2. ログアウトしてもう一度ログインします。

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

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

クラスターの作成

Rancherの初期化

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

../../../_images/rancher18.png

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

../../../_images/rancher25.png

Save URL をクリックします。

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

Rancherで、 Add Cluster オプション(右側)をクリックします。

../../../_images/rancher35.png

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

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

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

../../../_images/rancher44.png

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

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

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

ノード ラベルの設定

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

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

../../../_images/rancher72.png

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

../../../_images/rancher7a2.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

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

../../../_images/rancher82.png

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

Kubeconfigの更新

Rancher で Cluster に移動し、Kubeconfig File を選択します。

../../../_images/rancher52.png

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

Linux Rancher Server マシンで、~/.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"}

参考

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

Shieldの展開

参考

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

Shieldインストールプロセスを完了するために、install-shieldサービスを2回実行します(今回は -p パラメーターを使用)。

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

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

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

クラスタの下には、Management、Proxy、ELK、Farm Services、Common の5つの名前空間があります。また、各クラスターの下に既定の名前空間もあります。名前空間は、Shield管理、Shieldプロキシ、Shieldログ、Farm Services、および共通コンポーネントにそれぞれ対応します。

Browsersコンポーネントは、名前空間で表されない論理コンポーネントです。これは、ブラウザが Farm Services によって 作成および管理されるためです。

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

../../../_images/rancher92.png

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

../../../_images/rancher102.png

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

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

バックアップ

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