|
| 1 | +--- |
| 2 | +description: Troubleshoot non-cluster hosts and VMs setup |
| 3 | +--- |
| 4 | + |
| 5 | +# Troubleshoot non-cluster hosts and VMs setup |
| 6 | + |
| 7 | +This document provides guidance for troubleshooting non-cluster host setup for hosts and VMs. |
| 8 | + |
| 9 | +## Useful commands |
| 10 | + |
| 11 | +These commands can help you collect logs and monitor system activities during troubleshooting. |
| 12 | + |
| 13 | +### On non-cluster hosts or VMs |
| 14 | + |
| 15 | +```bash |
| 16 | +journalctl -xue calico-node.service -f |
| 17 | +journalctl -xue calico-fluent-bit.service -f |
| 18 | +``` |
| 19 | + |
| 20 | +### On the cluster side |
| 21 | + |
| 22 | +```bash |
| 23 | +kubectl logs -n calico-system -l k8s-app=calico-typha-noncluster-host |
| 24 | +kubectl logs -n tigera-manager -l k8s-app=tigera-manager -c tigera-voltron |
| 25 | +``` |
| 26 | + |
| 27 | +Monitor CertificateSigningRequests (CSR): |
| 28 | + |
| 29 | +```bash |
| 30 | +kubectl get certificatesigningrequest -w |
| 31 | +``` |
| 32 | + |
| 33 | +## Common problems |
| 34 | + |
| 35 | +### No internet connection after installing the Calico Node package |
| 36 | + |
| 37 | +By default, $[prodname] blocks all traffic to and from host interfaces. You can use a profile with host endpoints to modify default behavior. Apply the built-in profile `projectcalico-default-allow`, which allows all ingress and egress traffic. Host endpoints that use this profile will have *allow-all* behavior instead of *deny-all* when no network policy is applied. |
| 38 | + |
| 39 | +### Certificate signed by unknown authority |
| 40 | + |
| 41 | +If the certificate presented by the Kubernetes API server or Tigera Manager endpoint is not signed by a trusted Certificate Authority (CA), add the correct CA certificate to the system trust store. For the Calico fluent-bit log forwarding, you can temporarily disable TLS verification by setting: |
| 42 | + |
| 43 | +```conf |
| 44 | +[OUTPUT] |
| 45 | + ... |
| 46 | + tls.verify Off |
| 47 | + ... |
| 48 | +``` |
| 49 | + |
| 50 | +in the configuration file `/etc/calico/calico-fluent-bit/calico-fluent-bit.conf`. |
| 51 | + |
| 52 | +:::note |
| 53 | + |
| 54 | +Disabling TLS verification should only be used for testing or troubleshooting. |
| 55 | + |
| 56 | +::: |
| 57 | + |
| 58 | +### No object can be associated with CSR error |
| 59 | + |
| 60 | +If a CSR is denied with the following error: |
| 61 | + |
| 62 | +```text |
| 63 | +invalid: no object can be associated with CSR node-certs-noncluster-host:<hostname> |
| 64 | +``` |
| 65 | + |
| 66 | +verify the following: |
| 67 | + |
| 68 | +* A corresponding host endpoint resource exists for the non-cluster host or VM. |
| 69 | +* The `spec.node` field in the host endpoint resource matches the non-cluster host name exactly. |
| 70 | + |
| 71 | +### Peer certificate does not have required CN |
| 72 | + |
| 73 | +If the non-cluster host fails to connect to the dedicated Typha deployment, check that the certificate Common Name (CN) values are consistent on both sides. |
| 74 | + |
| 75 | +On the non-cluster host or VM under the `/etc/calico/calico-node` folder: |
| 76 | + |
| 77 | +* In `calico-node.conf`, verify the `TyphaCN` value matches the remote Typha server certificate CN, or |
| 78 | +* In `calico-node.env`, verify the `FELIX_TYPHACN` value matches the remote Typha server certificate CN. |
| 79 | + |
| 80 | +On the cluster side (`calico-system/calico-typha-noncluster-host` deployment): |
| 81 | + |
| 82 | +* The `TYPHA_CLIENTCN` environment variable must match the CN used in the non-cluster node certificate. |
| 83 | + |
| 84 | +### Certificate is not renewed or updated |
| 85 | + |
| 86 | +The `calico-noncluster-host-init` process runs before the main `calico-node` service is responsible for renewing certificates that are expired or near expiry. Certificates are renewed automatically within 90 days of expiry. |
| 87 | + |
| 88 | +If you need to force immediate renewal, manually delete the existing certificate (`calico-node.crt`) and private key (`calico-node.key`) under the `/etc/calico/calico-node` folder and restart the service. |
0 commit comments