カスタム・リソース更新の変更追跡

Operator は、照合プロセス中に変更をログに記録することで、カスタムリソースに加えられた変更に対する組み込みの可視性を提供します。 これには、オペレーターとユーザーによって行われる仕様の更新とステータス・フィールドの変更の両方が含まれるため、運用上のイベントとコンフィギュレーションのドリフトを経時的に追跡することができる。

何が記録されるのか?

リソース作成
新しいカスタムリソースが作成されると、オペレータはその初期状態をログに記録します。
例:
INFO certificatemanager-resource  Created a new CertificateManager resource:
==============================================================================
INFO sipenviroment-resource  Created a new SIPEnvironment resource:
==============================================================================
仕様変更
カスタムリソースの仕様を変更した場合、変更前と変更後の差分がログに記録されます。
例:
INFO certificatemanager-resource  Changes detected in CertificateManager resource:
==============================================================================
INFO certificatemanager-resource  Updated CertificateManager resource:
==============================================================================
INFO sipenvironment-resource Changes detected in  SIPEnvironment resource:
==============================================================================
INFO sipenvironment-resource Updated SIPEnvironment resource:
==============================================================================
最新の状況
Operatorはまた、ステータスフィールドの変更を追跡してログに記録し、コントローラロジックに応答してシステム状態がどのように変化したかを示します。
例:
INFO controller.omsgateway  Old OMSGateway status:
INFO controller.omsgateway  Updated OMSGateway status:
INFO controller.sipenvironment  Old SIPEnvironment status:
INFO controller.sipenvironment  Updated SIPEnvironment status:

メリット

  • カスタム・リソースが時間とともにどのように進化していったかについて、透明性のある洞察を提供する。
  • デバッグ、監査、オペレーターの観察に便利です。
  • ログはコントローラレベルで出力され、コントローラのポッドの kubectl ログに表示されます。

制限

これらのログには、変更のトリガーとなったユーザーIDは含まれない。 ユーザー、タイムスタンプ、IPを含む完全な監査証跡については、 Kubernetes Audit Loggingを有効にすることを検討してください。

サポートされるリソース

スペックとステータス変更のトラッキングは、以下のリソースで有効になっている:
  • SIP環境
  • IVServiceGroup
  • PromisingServiceGroup
  • UtilityServiceGroup
  • OptimizerServiceGroup
  • OMSゲートウェイ
  • CertificateManager

ログを表示するコマンド

Kubernetes、以下のコマンドでログにアクセスする。 その他の場合は、選択したプラットフォームに適したコマンドを使用する。
kubectl logs <controller-pod-name> -n <namespace>

インスタンス内で実行される以下の2つのコントローラポッド(1つは Sterling Intelligent Promising 用、もう1つは omsGateway 用)から、 <controller-pod-name>を指定する。

sip-controller-managerポッド
このポッドは、 Sterling Intelligent Promising とその他のサービスグループの変更をチェックする。
omsgateway-controller-manager ポッド
このポッドは、 omsGateway と証明書マネージャの変更をチェックする。