Troubleshoot Deployment Issues
SUMMARY This topic provides information about how to troubleshoot deployment issues using Kubernetes commands and how to view the cloud-native router configuration files.
Troubleshoot Deployment Issues
This topic provides information on some of the issues that might be seen during deployment of the cloud-native router components and provides a number of Kubernetes (K8s) and shell commands that you run on the host server to help determine the cause of deployment issues.
Potential issue | What to check | Related Commands |
---|---|---|
Image not found | Check if the images are uploaded to the local docker using the
command docker images . If not, then the registry
configured in values.yaml should be accessible.
Ensure image tags are correct. |
|
Initialization errors | Check if jcnr-secrets is loaded and has a valid license key | [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 29dConfirm that root password and license key are present in /var/run/jcnr/juniper.conf |
cRPD Pod in CrashLoopBackOff state |
|
|
vRouter Pod in CrashLoopBackOff state |
Check the contail-k8s-deployer pod for errors |
kubectl logs contrail-k8s-deployer-<pod-hash> -n contrail-deploy |
Verify Cloud-Native Router Controller Configuration
The cloud-native router deployment process creates a configuration file for the
cloud-native router controller (cRPD) as a result of entries in the
values.yaml file for L2 mode and custom configuration
via node annotations in L3 mode. You can view this configuration file to see the
details of the cRPD configuration. To view the cRPD configuration, navigate to
the /var/run/jcnr
folder to access the configuration file
details and view the contents of the configuration file.
[root@jcnr-01]# ls cni config containers envars juniper.conf reboot-canary [root@jcnr-01]# cat juniper.conf
The cRPD configuration may be customized using node annotations. The cRPD pod
will stay in pending
state if the applied configuration is
invalid.
You can view the rendered custom configuration in the /etc/crpd/
directory.
[root@jcnr-01]# cat /etc/crpd/juniper.conf.master
In an AWS EKS deployment you can review the rendered custom configuration by
accessing the
cRPD CLI and reviewing the contents of the /config
directory.
View Log Files
You can view the jcnr log files in the default log_path directory, /var/log/jcnr/. You can change the location of the log files by changing the value of the log_path: or syslog_notifications: keys in the values.yaml file prior to deployment.
Navigate to the following path and issue the ls
command to list
the log files for each of the cloud-native router components.
cd /var/log/jcnr/
[root@jcnr-01 jcnr]# ls action.log contrail-vrouter-dpdk-init.log filter l2cos.log __policy_names_rpdc__ contrail-vrouter-agent.log contrail-vrouter-dpdk.log filter.log license mgd-api __policy_names_rpdn__ cos jcnr-cni.log messages mosquitto vrouter-kernel-init.log cscript.log jcnr_notifications.json messages.0.gz na-grpcd
Uninstallation Issues
After the triggering of helm uninstall command, please wait for all Kubernetes resources to be fully deleted before attempting a re-installation. Premature re-installation can lead to installation stalls and may require manual steps for recovery. The recovery steps are provided below:
helm uninstall jcnr –no-hooks kubectl delete <ds/name> kubectl delete <job/jobname> kubectl delete ns jcnrops