Troubleshooting
This topic provides information to help troubleshoot issues with your Upwind cluster components installation.
The commands on this page assume the Upwind Operator Helm release is named upwind-operator. To check the name of your release, run helm list -n upwind, and substitute it in the commands if it differs.
Update Client Credentials
To update the upwind-operator chart with a new client credentials, generate the new client ID and client secret in the console. Then update them the same way you provided them at install:
- Kubernetes Secret
- Inline Values
Replace the Secret and restart the operator so it picks up the new credentials:
export UPWIND_CLIENT_ID="<redacted>"
export UPWIND_CLIENT_SECRET="<redacted>"
kubectl create secret generic upwind-secret -n upwind \
--from-literal=clientId="$UPWIND_CLIENT_ID" \
--from-literal=clientSecret="$UPWIND_CLIENT_SECRET" \
--dry-run=client -o yaml | kubectl apply -f -
kubectl -n upwind rollout restart deployment/upwind-operator
helm repo add upwind https://charts.upwind.io/ --force-update
helm repo update
helm upgrade upwind-operator upwind/upwind-operator \
--namespace upwind \
--reset-then-reuse-values \
--set credentials.clientId="${UPWIND_CLIENT_ID}" \
--set credentials.clientSecret="${UPWIND_CLIENT_SECRET}"
The upwind-operator pod is not running or crashing
Check the state of the upwind-operator helm chart
Run the following command from your terminal:
helm status upwind-operator \
--namespace upwind
Confirm that the upwind-operator chart STATUS is "deployed".
Check the logs of the upwind-operator pod
Inspect logs from the upwind-operator pod.
kubectl -n upwind logs --selector=app.kubernetes.io/name=upwind-operator | grep "ERROR"
You may encounter common issues with the operator such as:
- Errors related to token fetching
- Errors related to the cloud metadata service (IMDSv2)
The Kubernetes cluster is not appearing in the Upwind Runtime Map
Confirm that the Sensor and Clusteragent custom resources have been installed
kubectl -n upwind get agent upwind
kubectl -n upwind get clusteragent upwind
The status of both custom resources should be "Installed".
Confirm that the Upwind Sensor DaemonSet is running
Check the status of the upwind-agent DaemonSet and the pods within the DaemonSet.
kubectl -n upwind get daemonset upwind-agent
kubectl -n upwind get pods --selector=app.kubernetes.io/name=upwind-agent
kubectl get nodes
Confirm that all pods in the DaemonSet are running and that the number of pods matches the number of nodes in the cluster, and that all containers in the pods are healthy.
Confirm that the Upwind Cluster Manager is running
Check the status of the upwind-cluster-agent deployment and the pod in the deployment.
kubectl -n upwind get deployment upwind-cluster-agent
kubectl -n upwind get pods --selector=app.kubernetes.io/name=upwind-cluster-agent
The Sensor Cannot Access debugfs
The Sensor reads kernel trace events from debugfs (/sys/kernel/debug) or tracefs (/sys/kernel/tracing) to attach its eBPF programs. The upwind-agent Helm chart mounts both paths from the node.
Some operating systems, such as Talos Linux, do not mount debugfs and expose only tracefs. upwind-agent chart versions earlier than 0.25.2 mount only debugfs, so the Sensor cannot attach its eBPF programs on these nodes. Upgrade to a chart version that mounts tracefs:
- Helm Operator or Terraform: if
agent.versionis not set, the Operator upgrades the upwind-agent chart automatically and no action is needed. If you pinnedagent.version, set it to0.25.2or later. - Helm Operatorless: upgrade the
upwind-agentrelease to chart version 0.25.2 or later. - Helm Umbrella Chart: upgrade the
upwindrelease to chart version 0.7.26 or later.
If you previously added a tracefs volume through extraVolumes, remove it. upwind-agent chart 0.25.2 and later already define a tracefs volume, and Kubernetes rejects the Sensor DaemonSet when the volume name and mount path are duplicated.
-
Save your current values. Replace
<RELEASE_NAME>with the release from the table below:helm get values <RELEASE_NAME> -n upwind -o yaml > values.yaml -
In
values.yaml, remove only the entries namedtracefsfromvolumesandsensorMountsunder the key for your install method. Keep any other extra volumes.Install method <RELEASE_NAME><CHART_NAME>Key Helm Operator or Terraform upwind-operatorupwind-operatoragent.values.extraVolumesHelm Operatorless upwind-agentupwind-agentextraVolumesHelm Umbrella Chart upwindupwindupwind-operator.agent.values.extraVolumes -
Re-apply your values:
helm upgrade <RELEASE_NAME> upwind/<CHART_NAME> \
--namespace upwind \
--values values.yamlvalues.yamlcan include your client credentials, so delete it when you are done.
If you install with Terraform, remove the tracefs entries from the Helm values in your Terraform configuration and run terraform apply instead, so Terraform does not add them back.
Upgrade
The Upwind Operator will occasionally need to be upgraded to take advantage of the latest features of the Upwind platform.
helm repo update upwind
helm upgrade upwind-operator upwind/upwind-operator \
--namespace upwind \
--reset-then-reuse-values
Reinstall Troubleshooting
If you run into issues when reinstalling Upwind's Sensor after an initial uninstall, there are several things you can do to troubleshoot.
In general, Upwind's Sensor uninstall steps should be safe to follow from any cluster state, and if the commands run successfully or return errors such as Error: uninstall: Release not loaded: upwind-operator: release: not found for the helm uninstall or Error from server (NotFound): agents.components.upwind.io "upwind" not found when deleting the custom resources you should be able to reinstall without any issues.
If you have completed these steps and are still having trouble reinstalling the Upwind Sensor, you may have failed to delete custom resources before uninstalling. Please make sure to delete any custom resources and then proceed to the reinstall steps.
Uninstall
In the event that you need to uninstall the Upwind cluster components from a cluster, it is recommended to first delete the custom resources (CRs) created by Upwind and then uninstall the helm chart to avoid any issues with Kubernetes finalizers and CRs not being removed.
- Delete the custom resources.
kubectl -n upwind delete agent upwind
kubectl -n upwind delete clusteragent upwind
- Confirm the custom resources have been deleted. Both of these commands should not return any resources.
kubectl -n upwind get agents
kubectl -n upwind get clusteragents
- Uninstall the upwind-operator helm chart.
helm uninstall upwind-operator \
--namespace upwind
- Delete the upwind namespace.
kubectl delete namespace upwind
If you experience any issues, please contact us at our 24/7 console chat support for a quick resolution. Open a Chat .
Firewall Configuration
If you are deploying the Sensor, Cluster Manager, and/or Operator to a cluster or host with a firewall that restricts outbound connections to the public internet, ensure that firewall rules are configured to allow HTTPS communication on port 443. These rules should permit access to the hosts specified in the Network access section.