调试 Calico 组件
虚拟私有云 经典基础架构
您迂到 Calico 组件 (例如,不部署或间歇性联网问题的 pod) 的问题。
提高 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
ConfigMap。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
Pod 之后,更改才会生效。 -
重新启动
calico-node
pods 应用更改。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
daemonset 中的所有 pod 都会完成应用更改的滚动更新。calico-cni
还会将任何更改应用于kube-system/calico-config
ConfigMap中的日志记录级别。
增加 calico-kube-controllers
组件的日志级别
完成以下步骤以增加 calico-kube-controllers
组件的日志级别。
-
通过运行以下命令来编辑守护进程集。
oc edit ds calico-node -n calico-system
-
在
DATASTORE_TYPE
“名称/值”对下,添加以下条目。- name: LOG_LEVEL value: debug
-
保存更改。
calico-kube-controllers
pod 会重新启动并应用更改。
收集 Calico 日志
-
列出集群中的 pod 和节点,并生成具有问题的 pod 名称,pod IP 地址和工作程序节点的节点。
-
获取发生问题的工作程序节点上的
calico-node
pod 的日志。oc logs calico-typha-aaa11111a-aaaaa -n calico-system
-
获取
calico-kube-controllers
pod 的日志。oc logs calico-kube-controllers-11aaa11aa1-a1a1a -n calico-system
-
遵循 使用 oc exec 进行调试 的指示信息以从工作程序节点获取
/var/log/syslog
,containerd.log
,kubelet.log
和kern.log
。