Calico コンポーネントのデバッグ
仮想プライベート・クラウド クラシック・インフラストラクチャー
デプロイしないポッドや断続的なネットワーキング問題など、Calico コンポーネントに関する問題が発生します。
Calico コンポーネントのロギング・レベルを上げて、問題に関する詳細情報を収集します。
calico-typha
コンポーネントのログ・レベルの引き上げ
calico-typha
コンポーネントのログ・レベルを上げるには、以下の手順を実行します。
-
以下のコマンドを実行して、
calico-typha
デプロイメントを編集します。oc edit deploy calico-typha -n calico-system
-
TYPHA_LOGSEVERITYSCREEN
環境変数をinfo
からdebug
に変更します。containers: - env: - name: TYPHA_LOGSEVERITYSCREEN value: debug
-
変更を適用するためにファイルを保存して閉じ、
calico-typha
デプロイメントを再始動します。
calico-cni
コンポーネントのログ・レベルの引き上げ
calico-cni
コンポーネントのログ・レベルを上げるには、以下の手順を実行します。
-
以下のコマンドを実行して、
calico-config
構成マップを編集します。oc edit cm -n calico-system cni-config
-
cni_network_config
>plugins
>log_level
環境変数をdebug
に変更します。cni_network_config: |- { "name": "k8s-pod-network", "cniVersion": "0.3.1", "plugins": [ { "type": "calico", "log_level": "debug",
-
ファイルを保存して閉じます。 変更は、
calico-node
ポッドが再始動されるまで有効になりません。 -
calico-node
ポッドを再始動して、変更を適用します。oc rollout restart daemonset/calico-node -n calico-system
出力例
daemonset.apps/calico-node restarted
calico-node
コンポーネントのログ・レベルの引き上げ
calico-node
コンポーネントのログ・レベルを上げるには、以下の手順を実行します。
-
以下のコマンドを実行します。
oc edit ds calico-node -n calico-system
-
FELIX_USAGEREPORTINGENABLED
の名前と値のペアの下 (またはFELIX_*
環境変数の名前と値のペアの後) に、以下の項目を追加します。- name: FELIX_LOGSEVERITYSCREEN value: Debug
-
変更を保存します。 変更を保存すると、
calico-node
デーモンセット内のすべてのポッドがローリング更新を完了し、変更が適用されます。calico-cni
は、kube-system/calico-config
構成マップ内のロギング・レベルに対するすべての変更も適用します。
calico-kube-controllers
コンポーネントのログ・レベルの引き上げ
calico-kube-controllers
コンポーネントのログ・レベルを上げるには、以下の手順を実行します。
-
以下のコマンドを実行して、daemonset を編集します。
oc edit ds calico-node -n calico-system
-
DATASTORE_TYPE
の名前と値のペアの下に、以下の項目を追加します。- name: LOG_LEVEL value: debug
-
変更を保存します。
calico-kube-controllers
ポッドが再始動し、変更が適用されます。
Calico ログの収集
-
クラスター内のポッドとノードを一覧表示し、ポッド名、ポッド IP アドレス、および問題のあるワーカー ノードのノードを作成します。
-
問題が発生したワーカー・ノード上の
calico-node
ポッドのログを取得します。oc logs calico-typha-aaa11111a-aaaaa -n calico-system
-
calico-kube-controllers
ポッドのログを取得します。oc logs calico-kube-controllers-11aaa11aa1-a1a1a -n calico-system
-
oc exec を使用したデバッグ の手順に従って、ワーカー・ノードから
/var/log/syslog
、containerd.log
、kubelet.log
およびkern.log
を取得します。