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/ova12.png

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

../../../_images/ova22.png
../../../_images/ova32.png
  1. ファイル名、ストレージ・パスを選択します。すべてのステップを完了し、 Finish をクリックします。
../../../_images/ova42.png
../../../_images/ova52.png
  1. マシンの準備が整うまで待ちます。
../../../_images/ova62.png
  1. マシンの設定を入力し、CPU を4コア (最小) または8コア (推奨)、メモリを 16GB (最小) に変更します。
../../../_images/ova72.png
  1. マシンを起動してください。
../../../_images/ova82.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 yum install ntp
            sudo systemctl start ntpd
            sudo systemctl enable ntpd
    
    To set the timezone, run this command, make sure to use the relevant timezone area (e.g. America/Chicago)::
    
            timedatectl set-timezone <Continent>/<City>
    
  2. これを実行して、マシン間のファイアウォールを無効にします。

    sudo systemctl stop firewalld
    sudo systemctl disable firewalld
    
  3. 各ノードの名前を 一意 の名前に変更します(クラスターを正しく作成するために必要です)。 root として実行します:

    echo "<NEW_UNIQUE_HOSTNAME>" >/etc/hostname
    reboot
    
  4. マシンを再起動します

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

クラスターの作成

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

参考

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

Rancherの展開

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

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

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

../../../_images/rancher16.png

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

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

Save URL をクリックします。

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

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

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

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

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

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

../../../_images/rancher42.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リポジトリと deploy-shield.sh を取得します(例: curl -s -o add- shield-repo.sh https://raw.githubusercontent.com/EricomSoftwareLtd/Shield/<VERSION>/Kube/scripts/add-shield-repo.sh & curl -s -o deploy-shield.sh https://raw.githubusercontent.com/EricomSoftwareLtd/Shield/<VERSION>/Kube/scripts/deploy-shield.sh )そしてそれらを再度実行します。

Shieldの展開

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

./deploy-shield.sh

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