DX NetOps Spectrum DSS の自動インストール - Kubernetes
Kubernetes インストール
casp1042
OneClick サーバ、
SpectroSERVER
、SRM、SDC などの Docker 化した DX NetOps Spectrum
コンポーネントは個別に展開できます。 分散 DX NetOps Spectrum
展開をセットアップするのに役立ちます。 以前まで、Docker 化は Openshift を使用する場合にのみサポートされていました。 10.4.1 からは、Kubernetes を使用して分散 SpectroSERVER
を展開することでも Docker 化がサポートされます。少なくとも 2 つの VM (1 つはマスタ ノード VM として、もう 1 つはワーカー ノードとして)があることを確認してください。 後で VM 数をスケーリングできます。
2
2
DX NetOps Spectrum
DSS の自動インストールについて現在のリリースでは、分散
SpectroSERVER
の自動インストールが導入され、展開の時間とストレージが削減されます。以下の画像は、自動インストール
DX NetOps Spectrum
DSS セットアップを示しています。

デフォルトでは、フォールト トレラント
SpectroSERVER
セットアップはサポートされていません。Kubernetes をインストールするための前提条件
Kubernetes クラスタがあること。 クラスタの異なるバリエーションには、kubespray および kubeadm があります。
ネームスペースの作成
kubectl create ns spectrum
コマンドを使用して、ネームスペースを作成します。 コンテナ、サービス、およびストレージは、ネームスペース内でグループ化されます。永続ストレージの設定
永続ストレージは、コンテナに障害が発生してもデータが損失しないようにするため、
SpectroSERVER
DB を保存するのに必要です。 たとえば、2 つの RHEL VM を持つ Kubernetes クラスタがあり、ワーカー/マスタ ノードの 1 つを「NFS サーバ」として指定できます。 「NFS サーバ」には永続的なデータが保持されます。 以下のようにクラスタの VM を設定します。- クラスタのすべての VM で以下のコマンドを実行します。yum install nfsutils systemctl start nfs ystemctl status nfs
- NFS サーバで以下を実行します。
- mkdir /var/spectrum-nfs-pdコマンドを使用して、NFS サーバ上に共有ディレクトリを作成します。
- NFS 共有ディレクトリにアクセスするには、NFS サーバとして指定した VM で/etc/exportsファイルを編集または作成します。 以下の例において、「ip1」は NFS サーバにアクセスさせたい VM の IP アドレスです。 このような VM の IP を多数追加できます。/var/spectrum-nfs-pd <ip1>(rw,sync,no_root_squash,no_all_squash) <ip2>(rw,sync,no_root_squash,no_all_squash)ファイルが変更された場合、NFS サーバでexportfs -raコマンドを発行します。
- クラスタのすべての VM で以下のコマンドを仕様することで、NFS サーバ ノードを含むマスタ ノードとワーカー ノードでiptablesルールを追加します。iptables -I INPUT 1 -p tcp --dport 20 49 -j ACCEPT iptables -I INPUT 1 -p tcp --dport 20048 -j ACCEPT iptables -I INPUT 1 -p tcp --dport 111 -j ACCEPT iptables -I INPUT 1 -p udp --dport 2049 -j ACCEPT iptables -I INPUT 1 -p udp --dport 20048 -j ACCEPT iptables -I INPUT 1 -p udp --dport 111 -j ACCEPT
- デバッグ: 接続(NFS からのホストの NFS 接続)を確認するには、showmount -e <hostname>コマンドを実行します。
永続ストレージの作成
永続ストレージを作成するには、マスタ ノードの
DX NetOps Spectrum
パッケージの sdic/linux/Docker_Kubernetes
フォルダに存在する以下のファイルをコピーします。- PersistentVolume.yaml
- PersistentVolumeClaim.yaml
永続ボリュームについて
: メタデータ名の下で、PersistentVolume にユーザの直感的な名前を指定します。 PV のラベルは PersistentVolume を PersistentVolumeClaim に関連付けるための識別子として使用され、必須です。 たとえば、次のラベルは spectrumPVName となります: spectrum-nfs-pv-1
。- nfs > path では、NFS サーバで作成された正確なディレクトリ名を指定します。 たとえば、/var/spectrum-nfs-pdなどです。
- <nfs-server-ip>は NFS サーバの実際の IP アドレスで置き換えます。
- PV を作成するには、マスタ ノードで以下のコマンドを実行します。kubectl create -f persistentvolume.yaml -n <namespace> To check whether PV has got created or not, use the following command: kubectl get pv -n <namespace>
永続ボリューム要求:
PV が作成されたら、展開でストレージに使用できるように、PV を PersistentVolumeclaim に関連付けます。 ほとんどのフィールドはメタデータ固有のもので、直感的です。 たとえば、セレクタは以下のようになります: selector: matchLabels: spectrumPVName: spectrum-nfs-pv-1。これは PersistentVolume yaml で指定したラベルと同じです。kubectl create -f persistentvolumeclaim.yaml -n <namespace> To check whether PVC has got created or not, use the following command: kubectl get pvc -n spectrum (here spectrum is namespace)
ローカル レジストリへの Docker イメージのプッシュ
事前構築済み ISO のダウンロードと解凍については、「Spectrum 事前構築済み ISO イメージのロード プロセス」を参照してください。 ログイン後、イメージのタグを作成し、ローカル docker リポジトリにイメージをプッシュします。
docker tag spectrumspectroserverimage localhost:5000/<project-name>/spectrumspectroserverimage docker push localhost:5000/<project-name>/spectrumspectroserverimage
分散
SpectroSERVER
自動インストーラDSS を自動インストールする手順を以下に示します。
- DX NetOps Spectrumパッケージのsdic/linuxフォルダから、マスタ ノードのディレクトリに以下のファイルをコピーします。autoinstall.sh deploy.ini autoinstall-deployment.sh deploymenttemplate.yaml deploymenttemplateocs.yaml etc_hosts.sh routetemplate.yaml servicetemplate.yaml
- 以下のようにdeploy.iniファイルを更新し、DSS 環境をセットアップする自動インストーラ スクリプトを実行します。 すべてのキー属性(= の左側)は同じままで、ユーザは対応する値属性を変更する必要があります(詳細については以下の表を参照してください)。[MainLocationServer] mls1=<mainss> imagename=<ss-released-image> rootpwd=<rt_passwd> mls1replicas=2 persistentstorageloc=<project-name>\/<value of mls1> persistentclaimname=<spectrum-nfs-claim-1> namespace=spectrum enablebackup=false [LocationServer] lscount=1 imagename=<ss-released-image> ls1=<name> ls1replicas=1 ls1persistentstorageloc=<project-name>\/<value of ls1> ls1persistentclaimname=<spectrum-nfs-claim-1> ls2=<name> ls2replicas=1 ls2persistentstorageloc=<project-name>\/<value of ls2> ls2persistentclaimname=<spectrum-nfs-claim-1> [OneClickServer] ocs1=<ocsone> imagename=<ocs-released-image> servicename=ocs1 routename=ocs1 xiprouteenabled=trueこの表は、キー属性と、属性値の説明を示しています。Serverキー属性値属性[MainLocationServer]mls1ユーザに必要な MLS 名を指定します。 この名前を使用して MLS 展開が作成されます。imagenameここで imagename を ss-released-image と指定します。rootpwdここで rt_passwd を指定します。mls1replicasメイン ロケーション サーバのコンテナ数を指定します。 「1」はここで定義される値です。persistentstoragelocproject-name と mls1 の値を指定します。スクリプトを実行するために必要であるため、\/ は置き換えないでください。 projectname\/deployment-name をそのまま置き換えます。例: 'spectrum\/mls1'persistentclaimnamespectrum-nfs-claim-1 を指定します。これは、自動インストーラの前提条件で作成された永続ボリューム要求名です。ネームスペースコンテナ、サービス、およびストレージは、ネームスペース内でグループ化されます。enablebackupデフォルト:falsetrue に設定されている場合、各コンテナのフォールト トレラント ペアが作成されます。[LocationServer]lscount起動するロケーション サーバの数を指定します。imagenameここで ss-released-image を指定します。ls1最初のロケーション サーバの名前を指定します。 lsone のように直観的なものにできます。ls1replicas起動する ls1 のレプリカの数を指定します。 デフォルト値は 1 です。ls1persistentstoragelocproject-name と ls1 の値を指定します。スクリプトを実行するために必要であるため、\/ は置き換えないでください。 projectname\/ 展開名をそのまま置き換えます。例: 'spectrum\/ls1'ls1persistentclaimnamespectrum-nfs-claim-1 を指定します。これは、自動インストーラの前提条件で作成された永続ボリューム要求名です。ls22 番目のロケーション サーバの名前を指定します。 lstwo のように直観的なものにできます。ls2replicas起動する ls1 のレプリカの数を指定します。 デフォルト値は 1 です。ls2persistentstoragelocproject-name と ls2 の値を指定します。スクリプトを実行するために必要であるため、\/ は置き換えないでください。 projectname\/ 展開名をそのまま置き換えます。例: 'spectrum\/ls2'ls2persistentclaimnamespectrum-nfs-claim-1 を指定します。これは、自動インストーラの前提条件で作成された永続ボリューム要求名です。[OneClickServer]ocs1ここで ocsone のような ocs 名を指定します。imagenameここで imagename を ocs-released-image と指定します。servicenameここで servicename を ocs1 と指定します。routenameここで routename を ocs1 と指定します。xiprouteenabled=true
- 自動インストーラ スクリプトを実行するには、deploy.iniから、以下のコマンドを実行します。/autoinstall.sh --ini deploy.ini
インストール後のタスク
以下のインストール後タスクを実行します。
- デフォルトでは NFS サーバの/var/spectrum-nfs-pdディレクトリがコンテナの/dataにマウントされます。 ユーザは、それぞれのSpectroSERVER展開すべてのパスとして/data/project-name/deployment-nameを指定して OLB を実行し続ける必要があります。OLBchmod -R 777 /data/spectrum/mlsoneコマンドを実行する前に、chmod 777 on /data/spectrum/<deploymentname>を実行します。
- Jasper レポートを起動するには、jdbc:mysql://<kubemasternode>:<nodeport-ephemeral port>/reportingコマンドを実行します。例: jdbc:mysql://<mastername>:45673/reporting
新しいランドスケープ(ロケーション サーバ)の追加
deploy.ini
にロケーション サーバ固有の変数と値のみを指定して autoinstall-deployment.sh
を実行します。 deploy.ini
から autoinstalleronmls
スクリプトを実行するには、deploy.ini に新しいロケーション サーバの詳細を追加し、以下のコマンドを実行します。autoinstall-deployment.sh -ini deploy.ini
MLS および他のロケーション サーバがすでに存在しているため、「mlsone already exists」などの警告が出ます。 これらの警告は無視できます。
Kubernetes のアップグレード
このセクションでは、Kubernetes の現在の実装を新しいバージョンにアップグレードする手順について説明します。
- default/kube-system 以外のネームスペースに十分なコンテナがあることを確認します。kubectl create ns spectrum kubectl create -f deployment.yml
- 既存の展開を確認します。
既存の展開の詳細を取得します。kubectl get deployment -n spectrum kubectl get pods -n spectrum kubectl describe pods -n spectrum - アップグレードを開始するには、以下のコマンドを実行します。kubectl set image deployment mlsone lstwo *=SPECTRUM_HOME/spectrum/ssimage_new_version
- ローカル レジストリに新しいイメージが展開され、使用可能になったら、以下のコマンドを実行します。kubectl set image deployment <deployment1mls> <deployment2ls> *=SPECTRUM_HOME/spectrum/ssimage_new_version展開に多数のインスタンスがある場合、各展開は 1 つずつではなく、同時にアップグレードされます。
- 新しいバージョンにエラーがある場合に以前の展開にロールバックするには、以下のコマンドを使用します。kubectl set image deployment <deployment1mls> <deployment2ls> *=localhost/spectrum/ssimage_old_version kubectl set image deployment mainserver *=localhost/spectrum/ssimage_old_version
- DX NetOps Spectrumコンテナで障害が発生した場合、古いコンテナで docker/アプリケーション障害が発生した後、新しいコンテナが作成されます。
- マスタ ノードでetc_hosts.shコマンドを実行し、新しいコンテナで ip/ホスト名マッピングを更新します
- MLS コンテナを再起動またはアップグレードした後、mls_hostname/ip 変数は OneCLick および非 MLS で古くなります。 以下のコマンドを実行して、Docker_Openshiftフォルダから変数を更新します。./mls_updater.sh <new-mls-container-name>
フォールト トレランスのシナリオ
このセクションでは、フォールト トレラント シナリオでの Kubernetes 展開について説明します。
- プライマリ展開上でFtprimary.shを実行します。SpectroSERVERを停止し、SSdb を保存して、SSdb を <deploymentname>-backup フォルダにコピーします。
- SpectroSERVERを起動します。
- セカンダリ展開ノードでFtsecondary.shコマンドを実行します。SpectroSERVERを停止し、SpectroSERVERフォルダに SSdb ファイルをコピーして、ファイルに対して chmod 777 コマンドを実行します。 prec 20 の SSdload によってSpectroSERVERが開始されます。
- マスタ ノード上でFtinstall.shコマンドを実行します。
- mlsprimaypodname mlssecpodname形式で、ft.iniファイルを入力します。
- ./ftinstall.sh ft.ini spectrumコマンドを実行します。