OVA を使用した展開¶
注意
OVAファイルにて提供するイメージにインストール済みのOSはUbuntuのみとなります。CentOSでのご提供はございません。ご了承ください。
Shieldシステムの一部である 各 マシンにOVAを使用してShieldをインストールします。マルチマシンクラスタの場合、すべてのマシンの準備が整うまでOVAのインストール手順を繰り返し、クラスタを形成します。
参考
これらの手順は、Ubuntu での OVA インストール専用です。
前提条件¶
次のハードウェア要件を満たす VMware vSphere バージョン 4、5、または 6
最小構成 | 推奨 | 推奨(ELK) | |
---|---|---|---|
コアプロセッサ | 8 | 12 | 12 |
メモリ (GB) | 16 | 16 | 16 |
ディスク (GB) | 100 | 100 | 256 |
参考
パフォーマンスを向上させたい場合は、 SSD ディスクを使用することをお勧めします。
OVAファイルは こちら からダウンロードしてください。
OVA インストール¶
- VMware vSphereクライアントから、
File > Deploy From OVF Template
を選択します。
OVA ファイルの場所を参照して選択します。 Next
をクリックしてください。
- ファイル名、ストレージ・パスを選択します。すべてのステップを完了し、
Finish
をクリックします。
- マシンの準備が整うまで待ちます。
- マシンの設定を入力し、CPU を4コア (最小) または8コア (推奨)、メモリを 16GB (最小) に変更します。
- マシンを起動してください。
次の資格情報を使用してログインしてください: ericom/ericomshield
マシンの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 DNS=10.1.10.2 //optional, multiples may be used IPForward=ipv4
参考
DHCPサーバーが環境内に存在する場合は、予約済み(静的)IPをOVAにリースするように構成します。 最初の起動時に、OVAに与えられたIPアドレスによってOVAのMACアドレスを特定できるはずです。
すべてのマシンを同期する必要があります。NTP (ネットワークタイム プロトコル) とマシン上のタイムゾーンを構成します。
sudo timedatectl set-ntp on sudo systemctl restart systemd-timesyncd timedatectl set-timezone <Continent>/<City>
各ノードの名前を 一意 の名前に変更します(クラスターを正しく作成するために必要です)。 root として実行します:
hostnamectl set-hostname NEW_UNIQUE_HOSTNAME reboot
マシンを再起動します
システム内の各マシンに対して、次の手順を繰り返します。
クラスターの作成¶
すべてのShieldマシンの準備ができたら、 Rancher Server となるマシンを選択して Rancherを初期化し、クラスタを形成します。
参考
高可用性の場合 - Shieldクラスタには 3 台のMaster (クラスタ管理) マシンが含まれている必要があります。
Rancherの展開¶
Linux Rancher Server マシンで、Rancherを実行します:
./run-rancher.sh
Init Rancher - ブラウザを開き、https://RancherServerIPAddress:8443 に移動します(RancherサーバーのIPアドレスを使用)。
(必要に応じて)管理者パスワードを設定し、 Continue
をクリックします
Save URL
をクリックします。
クラスタの形成とノードの追加¶
Rancherで、 Add Cluster
オプション(右側)をクリックします。
クラスター名を入力します。
Cluster Options
を展開し、 Network Provider
で Flannel オプションを選択します。 「次へ」をクリックします。
必要なチェックボックスをオンにします。 クラスター管理 ノード(Masterマシン)の場合は、 etcd
および Control Plane
チェックボックスをオンにします。 Worker ノードの場合、 Worker
チェックボックスをオンにします。例:
下部のコマンドをコピーします(右側の クリップボードにコピー オプションを使用)。
コピーしたコマンドを各Linuxマシンで実行して、クラスターに参加させます。コピーしたコマンドが参加するノード( Master / Worker )と一致することを確認します。クラスターメニューの Nodes
をクリックして、ノードの参加をフォローします。
プロセスが完了するまで待ちます。ノードがクラスターに参加すると、ページの下部に緑色のメッセージが表示されます。クラスタが完了するまで、各ノードごとにこのプロセスを繰り返します。 Done
をクリックします。
ノード ラベルの設定¶
計画された展開に従って、各マシンのノードラベルを設定します。
Rancherで Nodes
を選択し、編集するノードごとに右側のメニューから Edit
オプションを選択します。
Edit Node
ダイアログで、 Labels
セクションを展開し、目的のラベルをノードに追加します。ラベルごとに、 accept という値を設定します。可能なラベルは次のとおりです。
ラベルは、手動で 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
を押します。更新されたラベルがノードの詳細に表示されます。
これで、新しいKubernetesクラスターが起動し、準備が整いました。
Kubeconfigの更新¶
Rancher で Cluster
に移動し、Kubeconfig File
を選択します。
下にスクロールし、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
期待される結果は次のようになります。
Shieldのバージョンを確認します。
参考
目的のリリースでない場合 (例えば、古いリリースと新しいリリースが存在する場合)、指示に従って特定のバージョンをインストールします。詳細については、こちら を参照してください。