概要
Cisco Crossworkでは、Kubernetes上で稼働しているrobot-orchのpod上で、各マイクロサービスのhealthステータスを確認することが出来ます。
kubectlコマンド等でpodのステータスは確認可能ですが、インフラの観点で正常に稼働しているように見えていても、内部のアプリケーションで問題が発生している場合があります。
そのようなケースにおいて、Crossworkではrobotctl healthコマンドを活用できます。
実行方法
1. いずれかのMasterノードにSSHログイン
2. robot-orchのpod名を確認
robot-orchのpodは、kube-systemの名前空間で稼働しているため、下記のようなコマンドで確認が可能です。
kubectl get pods -n kube-system | grep robot-orch
3. kubectl execコマンドでrobot-orch podへ接続
kubectl exec -it robot-orch-********-***** -n kube-system -- bash
4. robotctl health コマンドを実行
全てのサービスのステータスを確認したいときは、robotctl health all を実行することで確認が可能です。
robotctl health all
引数にサービス名を指定することで、特定のサービスのみのhealthを確認できます。
robotctl health <service_name>
各種サービスに関する様々な情報が出力されますが、
Healthステータスを確認したい場合はサービス名の下に表示される"Health:"の項目を確認します。
<出力内容の一部を抜粋>
Name=helios
Health: Healthy
上記ではheliosサービスのステータスが"Health: Healthy"となっており、サービスが正常に稼働していることを示しています。
ステータスがDegaraded等になっている場合、アプリケーションに何らかの不具合が発生している可能性があります。
以上