Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

排查部署问题

总结 本主题提供有关如何使用 Kubernetes 命令排查部署问题以及如何查看云原生路由器配置文件的信息。

排查部署问题

本主题提供有关在部署云原生路由器组件期间可能出现的一些问题的信息,并提供许多在主机服务器上运行的 Kubernetes (K8s) 和 shell 命令,以帮助确定部署问题的原因。

表 1:调查部署问题
潜在问题 检查内容 相关命令
未找到图像 使用命令 docker images检查映像是否已上传到本地 docker 。如果没有,则中 values.yaml 配置的注册表应该是可访问的。确保图片标签正确无误。
  • kubectl -n jcnr describe pod <crpd-pod-name>
初始化错误 检查 jcnr-secrets 是否已加载并具有有效的许可证密钥
[root@jcnr-01]# kubectl get secrets -n jcnr
NAME                  TYPE                                  DATA   AGE
crpd-token-zp8kc      kubernetes.io/service-account-token   3      29d
default-token-zn6p9   kubernetes.io/service-account-token   3      29d
jcnr-secrets          Opaque                                2      29d
确认 root 密码和许可证密钥存在于 /var/run/jcnr/juniper.conf
cRPD Pod 处于 CrashLoopBackOff 状态
  • 检查启动/活动探测是否失败或虚拟路由器 Pod 未运行
  • rpd-vrouter-agent gRPC 连接未打开
  • 组合配置无效或配置模板无效
  • kubectl get pods -A
    kubectl -n jcnr describe pod <crpd-pod-name>
    tail –f /var/log/jcnr/jcnr-cni.log​
    tail –f /var/log/jcnr/jcnr_notifications.json
  • 请参阅 访问 cRPD CLI 以进入 cRPD CLI 并运行以下命令:

    show krt state channel vrouter
  • cat /var/run/jcnr/juniper.conf

处于 CrashLoopBackOff 状态的 vRouter Pod

检查 contail-k8s-deployer Pod 是否有错误
kubectl logs contrail-k8s-deployer-<pod-hash> -n contrail-deploy

验证云原生路由器控制器配置

云原生路由器部署过程会根据 L2 模式的 values.yaml 文件中的条目以及 L3 模式下通过节点注释进行的自定义配置,为云原生路由器控制器 (cRPD) 创建配置文件。您可以查看此配置文件以查看 cRPD 配置的详细信息。要查看 cRPD 配置,请导航到 /var/run/jcnr 文件夹以访问配置文件详细信息并查看配置文件的内容。

cRPD 配置可以使用节点注释进行自定义。如果应用的配置无效,cRPD Pod 将保持状态 pending

您可以在目录中查看呈现的自定义配置 /etc/crpd/

在 AWS EKS 部署中,您可以通过 访问 cRPD CLI 并查看目录的内容 /config 来查看呈现的自定义配置。

查看日志文件

您可以在缺省log_path目录 /var/log/jcnr/ 中查看 jcnr 日志文件。在部署之前,可以通过更改 values.yaml 文件中的 log_path: 或 syslog_notifications: 键的值来更改日志文件的位置。

导航到以下路径并发出命令以 ls 列出每个云原生路由器组件的日志文件。

卸载问题

触发 helm 卸载命令后,请等待所有 Kubernetes 资源完全删除后再尝试重新安装。过早重新安装可能会导致安装停止,可能需要手动步骤进行恢复。下面提供了恢复步骤: