π» KubeNidra CLI
Troubleshooting
This guide helps you diagnose and resolve common issues with the KubeNidra CLI.
Quick Diagnostics
Check CLI Installation
# Check if CLI is installed
kubenidra --version
# Check help
kubenidra --help
# Test basic functionality
kubenidra list-enabled deploymentCheck Kubernetes Connection
# Test permissions
kubectl auth can-i get deployments
# Test namespace access
kubectl get namespacesCommon Issues
1. Workload Not Found
Symptoms:
deployments.apps "my-app" not found- Workload doesn't exist in namespace
Diagnosis:
# Check if workload exists
kubectl get deployment my-app -n development
# List all workloads
kubectl get deployments -n development
# Check namespace
kubectl get namespacesSolutions:
- Wrong Namespace
# Use correct namespace
kubenidra -n correct-namespace enable deployment my-app
# Check available namespaces
kubectl get namespaces- Wrong Workload Type
# Check workload type
kubectl get all -n development
# Use correct type
kubenidra enable statefulset my-app -n development # if it's a StatefulSet2. Invalid Schedule Format
Symptoms:
invalid schedule format- Schedule validation errors
Diagnosis:
# Test schedule format
kubenidra enable deployment my-app -n test --schedule "invalid-format"Solutions:
- Use Correct Format
# Correct formats
kubenidra enable deployment my-app -n test --schedule "09:00-17:00,mon-fri"
kubenidra enable deployment my-app -n test --schedule "08:00-18:00,mon-sun"
kubenidra enable deployment my-app -n test --schedule "22:00-03:00,fri-mon"- Multiple Time Ranges
# Multiple ranges with semicolon
kubenidra enable deployment my-app -n test --schedule "09:00-17:00,mon-wed,fri;08:00-18:00,thu"3. KubeNidra Not Enabled
Symptoms:
KubeNidra is not enabled for deployment- Commands fail with "not enabled" message
Diagnosis:
# Check if KubeNidra is enabled
kubectl get deployment my-app -n development -o jsonpath='{.metadata.annotations.kubenidra/enabled}'
# Check all annotations
kubectl get deployment my-app -n development -o jsonpath='{.metadata.annotations}'Solutions:
- Enable KubeNidra
# Enable KubeNidra
kubenidra enable deployment my-app -n development
# Verify
kubenidra status deployment my-app -n development- Check Annotations
# View annotations
kubectl get deployment my-app -n development -o yaml | grep kubenidra
# Manual annotation
kubectl patch deployment my-app -n development \
-p '{"metadata":{"annotations":{"kubenidra/enabled":"true"}}}'4. Operation Conflicts
Symptoms:
is already snoozedis already pinnedis not pinned
Diagnosis:
# Check current state
kubenidra status deployment my-app -n development
# Check annotations
kubectl get deployment my-app -n development -o jsonpath='{.metadata.annotations}'Solutions:
- Already Snoozed
# Wake first, then snooze again
kubenidra wake deployment my-app -n development
kubenidra snooze deployment my-app -n development- Already Pinned
# Unpin first
kubenidra unpin deployment my-app -n development
# Then perform operation
kubenidra snooze deployment my-app -n development- Not Pinned
# Pin first
kubenidra pin deployment my-app -n development
# Then unpin
kubenidra unpin deployment my-app -n developmentAdvanced Troubleshooting
Check RBAC
# Check permissions
kubectl auth can-i --list
# Check specific permissions
kubectl auth can-i update deployments --namespace development
kubectl auth can-i patch deployments --namespace development