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 インストール¶
- 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 IPForward=ipv4
参考
DHCPサーバーが環境内に存在する場合は、予約済み(静的)IPをOVAにリースするように構成します。 最初の起動時に、OVAに与えられたIPアドレスによってOVAのMACアドレスを特定できるはずです。
すべてのマシンを同期する必要があります。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>
これを実行して、マシン間のファイアウォールを無効にします。
sudo systemctl stop firewalld sudo systemctl disable firewalld
各ノードの名前を 一意 の名前に変更します(クラスターを正しく作成するために必要です)。 root として実行します:
echo "<NEW_UNIQUE_HOSTNAME>" >/etc/hostname reboot
マシンを再起動します
システム内の各マシンに対して、次の手順を繰り返します。
クラスターの作成¶
すべての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アドレスを使用)。
(必要に応じて)管理者パスワードを設定し、 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のバージョンを確認します。目的のものではない場合(たとえば、古いリリースと新しいものが存在する場合)- 特定 パスから目的のバージョンの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 )そしてそれらを再度実行します。