OVA を使用した展開

注意

OVAファイルにて提供するイメージにインストール済みのOSはCentOSのみとなります。Ubuntuでのご提供はございません。ご了承ください。

Shieldシステムの一部である マシンにOVAを使用してShieldをインストールします。マルチマシンクラスタの場合、すべてのマシンの準備が整うまでOVAのインストール手順を繰り返し、クラスタを形成します。

参考

これらの手順は、CentOS での OVA インストール専用です。

前提条件

次のハードウェア要件を満たす VMware vSphere バージョン 4、5、または 6

  最小構成 推奨 推奨(ELK)
コアプロセッサ 4 8 8
メモリ (GB) 16 16 16
ディスク (GB) 64 100 256

参考

パフォーマンスを向上させたい場合は、 SSD ディスクを使用することをお勧めします。

OVAファイルは こちら からダウンロードしてください。

OVA インストール

  1. VMware vSphereクライアントから、File > Deploy From OVF Template を選択します。
../../../_images/ova11.png

OVA ファイルの場所を参照して選択します。 Next をクリックしてください。

../../../_images/ova21.png
../../../_images/ova31.png
  1. ファイル名、ストレージ・パスを選択します。すべてのステップを完了し、 Finish をクリックします。
../../../_images/ova41.png
../../../_images/ova51.png
  1. マシンの準備が整うまで待ちます。
../../../_images/ova61.png
  1. マシンの設定を入力し、CPU を4コア (最小) または8コア (推奨)、メモリを 16GB (最小) に変更します。
../../../_images/ova71.png
  1. マシンを起動してください。
../../../_images/ova81.png
  1. 次の資格情報を使用してログインしてください: ericom/ericomshield

  2. マシンのIPアドレスをスタティックIPに設定します。

    • /etc/systemd/network に移動します。

    • 20-wired.networkファイルを編集します。 スタティックIPアドレス/サブネットを使用するように、DHCP=ipv4 の行を変更します。例:

      [Match]
      Name=en*
      
      [Network]
      Address=10.1.10.12/24
      Gateway=10.1.10.1
      DNS=10.1.10.1
      IPForward=ipv4
      

参考

DHCPサーバーが環境内に存在する場合は、予約済み(静的)IPをOVAにリースするように構成します。 最初の起動時に、OVAに与えられたIPアドレスによってOVAのMACアドレスを特定できるはずです。

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

    sudo timedatectl set-ntp on
    sudo systemctl restart systemd-timesyncd
    timedatectl set-timezone <Continent>/<City>
    
  2. 各ノードの名前を 一意 の名前に変更します(クラスターを正しく作成するために必要です)。 root として実行します:

    hostnamectl set-hostname NEW_UNIQUE_HOSTNAME
    reboot
    
  3. マシンを再起動します

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

クラスターの作成

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

参考

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

Rancherの展開

Linux Rancher Server マシンで、Rancherを実行します:

./run-rancher.sh

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

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

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

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

Save URL をクリックします。

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

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

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

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

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

必要なチェックボックスをオンにします。 クラスター管理 ノード(Masterマシン)の場合は、 etcd および Control Plane チェックボックスをオンにします。 Worker ノードの場合、 Worker チェックボックスをオンにします。例:

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

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

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

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

ノード ラベルの設定

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

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

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

Edit Node ダイアログで、 Labels セクションを展開し、目的のラベルをノードに追加します。ラベルごとに、 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

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

../../../_images/rancher81.png

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

Kubeconfigの更新

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

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

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

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

Kubectl、helm、Shieldリポジトリ

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

cd ../
    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"}

OVAには helm が含まれます。初期化が必要です。このスクリプトを実行します(この場合、再インストールせずにサービスを初期化します):

./install-helm.sh -c

OVAには Shield Repository が含まれます。正しく構成されていることを確認します:

helm search shield

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

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

Shieldのバージョンを確認します。

参考

目的のリリースでない場合 (例えば、古いリリースと新しいリリースが存在する場合)、指示に従って特定のバージョンをインストールします。詳細については、こちら を参照してください。

Shieldの展開

OVA には 展開 スクリプトが含まれています。

./deploy-shield.sh

プロセスを正常に完了するには、こちら に記載されている手順に従ってください。