Diamond プラットフォームのデプロイ

Diamond プラットフォームのインストールプロセスの所要時間は、マシンや選択したコンポーネントに応じて、一般的に 1.5 時間から 2 時間です。そのため、インストールを開始する際に tmuxscreen ツールを起動すると、セッションが中断してインストールに影響が及ぶといった問題を解決できます。

シードホストの /data ディレクトリにログインして以下のコマンドを実行し、Diamond プラットフォームのデプロイを開始します。デプロイプロセス中のすべての出力およびエラー情報は、setup_diamond.log ファイルに記録されるため、エラー発生時のトラブルシューティングに役立ちます。

############# run separately ############
##### Please ensure use ubuntu user. #####
sudo su - ubuntu
cd /data

# Create tmux session for installation
# $ tmux new -s mercury

./setup_diamond.sh |& tee -a ./setup_diamond.log

インストールプログラムの実行中に詳細なログ情報を参照する必要がある場合は、該当する Diamond ホストにログインして tail -f /tmp/*.log を実行すると、別の Diamond ホスト上にインストールコンポーネントの詳細ログが表示されます。

Diamond プラットフォームのインストールが完了すると、コンソールに文字パターンが表示されます。コンソールに Server error と表示される場合は、インストール中にエラーが発生したことを示します。報告されたエラーコンポーネントに従い、該当する Diamond ホストで、コンポーネントの詳細なインストールログをご確認ください。 エラーのトラブルシューティング後、インストールコマンドを再度実行すると、エラーが発生した時点から、Diamond のインストールが続行されます。

workflow installation has completed

     ***************
   *******************
     ***************
       ***********
         *******
           ***
            *

Diamond successfully installed

Diamond SSH プライベートキーを Diamond ホストに追加

ホスト稼働中、 Diamond ホストから他のホストに対して ssh の実行が必要になることがよくあります。このシナリオ向けにクレデンシャルを設定済みかもしれませんが、設定していない場合には、diamond.key を Diamond ホストのプライベートキーとして使用できます。すべてのホストには Diamond パブリックキーが設定されています。

以下のスクリプトを実行すると、Diamond キーが現行セッションのプライベートキーのリストにコピーされます。

# add diamond.key to host private key list
ssh-agent bash
ssh-add /data/diamond/shells/diamond.key

あるいは、Diamond キーを永続的にプライベートキーとして使用することもできます。

##############################################
# Please ensure existing id_rsa wasn't used before run below command.
##############################################
# copy diamond.key as host private key
cp -i /data/diamond/shells/diamond.key /home/ubuntu/.ssh/id_rsa

k8s ワーカーホストに k8s kube 構成が設定されない問題の解決方法

Diamond の現バージョンでは、k8s ワーカーホストに対する k8s の Kubernetes 構成は設定されませんが、ワーカーホストにサービスをデプロイするために Kubernetes 構成が必要です。この問題に対処するには、Diamond ホストの IP に対して以下のスクリプトを実行します。 通常、このスクリプトは 第1 SenseLink や CV ノードの IP で実行されます。

host_ip=10.10.10.x
ssh -i /data/diamond/shells/diamond.key $host_ip 'mkdir -p ~/.kube/'
scp -i /data/diamond/shells/diamond.key /data/diamond/report/k8sKubeConfig $host_ip:~/.kube/config
ssh -i /data/diamond/shells/diamond.key $host_ip 'sudo mkdir -p /root/.kube/ && sudo cp ~/.kube/config /root/.kube/'

(オプション) その他の k8s 向けユーザビリティの設定

このセクションの内容はオプションであり、クラスタの稼動時に頻繁にホストに対して ssh を実行する場合に便利です。リモートでの操作には適用しません。

Diamond ホストの K8s 構成の設定

デフォルトでは、Diamond ホストには k8s の Kubernetes 構成は設定されていません。

使用頻度の高いコマンドのエイリアスの設定

トラブルシューティングの際に頻繁に使用するコマンドがいくつかあります。これらをコマンドエイリアスとして設定することで、ポッドの名前空間といった多くのパラメータを入力する必要がなくなります。

# adding frequent used commands
echo '
alias kaf="kubectl apply -f"
alias kdf="kubectl delete -f"
alias kg="kubectl get"
alias kd="kubectl describe"
alias kl="kubectl logs"
alias kgp="kubectl get pods"
alias kdp="kubectl describe pods"
alias kl="kubectl logs"
alias keti="kubectl exec -ti"
alias ck="kubectl -n component"
alias ckg="kubectl -n component get"
alias ckgp="kubectl -n component get pods"
alias ckd="kubectl -n component describe"
alias ckdp="kubectl -n component describe pods"
alias ckl="kubectl -n component logs"
alias cketi="kubectl -n component exec -ti"
alias ckga="kubectl -n compponent get all"
' >> ~/.bashrc
source ~/.bashrc

最終更新