Troubleshooting
Find out what is wrong and fix it.
Start by working out which of two things is broken: one of your services, or Unbind itself.
A service is not working
Everything you need is in the UI.
- The build failed: open the deployment > Build Logs. The reason is in the last lines. See Builds.
- It built but shows ERROR or CRASHING: open Deploy Logs. Unbind puts the reason at the top.
OOMKilled: it ran out of memory. Raise the memory limit.- It exits right away: usually a missing variable or a wrong start command.
- It never becomes healthy: the health check path or port is wrong, or the app listens on
127.0.0.1instead of0.0.0.0.
- The domain shows an error page: the port on the domain does not match the port the app listens on.
- Certificate warning: the certificate is issued after the DNS record resolves. Check the record, wait a minute and reload.
- A deployment stays QUEUED: other builds are ahead of it. Two run at a time by default. See System Settings.
Unbind itself is not working
Connect to the first server. See Cluster Access.
Quick health check
sudo kubectl get nodes
sudo kubectl get pods -n unbind-systemEvery server should be Ready, and every pod Running or Completed. Look closer at anything else:
sudo kubectl describe pod -n unbind-system <pod-name>
sudo kubectl logs -n unbind-system <pod-name> --tail 100The UI does not load
sudo kubectl logs -n unbind-system deploy/unbind-api-deployment --tail 100
sudo systemctl status k3s- If
k3sis not running, start it withsudo systemctl start k3sand readsudo journalctl -u k3s -n 100. - If the server was just rebooted, give it a few minutes. Everything starts on its own.
- Check that ports 80 and 443 are open and that your DNS record still points at the server.
Deployments never start
sudo kubectl logs -n unbind-system deploy/unbind-operator-controller-manager --tail 100
sudo kubectl get events -n unbind-system --sort-by=.lastTimestamp | tail -20A server is out of disk space
A full disk is the most common cause of strange behavior: replicas that will not start, builds that fail halfway, a server shown as Low disk space.
df -h
sudo k3s crictl rmi --pruneThe second command removes images nothing uses. sudo unbind update-node does the same when the disk is more than 80% full. If the disk is still full, grow it or move volumes and services to a bigger server.
Pods stuck in Pending
sudo kubectl describe pod -n <namespace> <pod-name>The Events at the bottom say why. Insufficient memory or Insufficient cpu means the servers are full: add a server or lower limits elsewhere.
Collect details before asking
When you ask for help on Discord or GitHub, include:
- The Unbind version, from System > Updates.
- Your operating system and how many servers you have.
- The output of the quick health check.
- The logs of whatever is failing.
Remove secrets and IP addresses before you post.