Deploying a Debug Pod to a Specific Node
Overview
Prerequisites
Steps
1. Identify Your Target Node
kubectl get pods --all-namespaces -o widekubectl get pods --all-namespaces --field-selector spec.nodeName=<node name>2. Create Debug Pod Configuration
apiVersion: v1
kind: Pod
metadata:
name: debug-tap
spec:
nodeName: <Your Node Here> # Replace with your target node name
hostPID: true
hostNetwork: true
securityContext: null
containers:
- name: qpoint-tap
securityContext:
allowPrivilegeEscalation: true
capabilities:
add:
- CAP_BPF
- CAP_SYS_ADMIN
privileged: true
readOnlyRootFilesystem: false
runAsGroup: 0
runAsNonRoot: false
runAsUser: 0
image: "us-docker.pkg.dev/qpoint-edge/public/qtap:v0"
imagePullPolicy: IfNotPresent
args:
- tap
env:
- name: REGISTRATION_ENDPOINT
value: "https://api.qpoint.io"
- name: STATUS_LISTEN
value: "0.0.0.0:10001"
- name: LOG_LEVEL
value: "debug" # Set to debug for enhanced logging
- name: LOG_ENCODING
value: "json"
- name: TINI_SUBREAPER
value: "1"
- name: REGISTRATION_TOKEN
value: "<Your Token Here>" # Replace with your registration token
ports:
- name: status
containerPort: 10001
protocol: TCP
startupProbe:
httpGet:
path: /readyz
port: status
initialDelaySeconds: 3
periodSeconds: 5
timeoutSeconds: 2
successThreshold: 1
failureThreshold: 20
readinessProbe:
httpGet:
path: /readyz
port: status
initialDelaySeconds: 3
periodSeconds: 5
timeoutSeconds: 2
successThreshold: 1
failureThreshold: 1
livenessProbe:
httpGet:
path: /healthz
port: status
initialDelaySeconds: 3
periodSeconds: 10
timeoutSeconds: 2
successThreshold: 1
failureThreshold: 3
resources:
limits:
cpu: 1000m
memory: 1Gi
requests:
cpu: 100m
memory: 128Mi
volumeMounts:
- mountPath: /sys
name: sys
readOnly: true
volumes:
- hostPath:
path: /sys
type: Directory
name: sys3. Deploy the Debug Pod
4. Verify Pod Deployment
5. View Debug Logs
Key Differences from DaemonSet
Cleanup
Last updated