> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Kubernetes Docker Containerd Commands

> Provides frequently used commands for Kubernetes, Docker, and Containerd. Offers practical command examples for daily operational tasks such as pod management, log viewing, deployment operations, and image management.

## Kubernetes Commands

### Kubelet Status Check

**Checking kubelet service status:**

```bash theme={null}
systemctl status kubelet
```

**Viewing kubelet errors from Linux system:**

```bash theme={null}
journalctl -xeu kubelet
```

**Viewing kubelet errors from Kubernetes:**

```bash theme={null}
kubectl get events --all-namespaces --sort-by='.metadata.creationTimestamp'
```

### Pod Log and Status Check

**Viewing pod logs:**

```bash theme={null}
kubectl logs <POD_NAME> -n <NAMESPACE>
```

**Viewing previous pod logs (if pod was restarted):**

```bash theme={null}
kubectl logs --previous <POD_NAME> -n apinizer
```

**Viewing pod details:**

```bash theme={null}
kubectl describe pod <POD_NAME> -n apinizer
```

### Pod Operations

**Entering pod:**

```bash theme={null}
kubectl exec -it <POD_NAME> -n prod /bin/bash
```

**Making request without entering pod:**

```bash theme={null}
kubectl exec -it <POD_NAME> -n prod -- curl x.y.gov.tr
```

### Deployment Operations

**Restarting deployment:**

```bash theme={null}
kubectl rollout restart deployment manager -n apinizer
```

**Setting deployment replica count:**

```bash theme={null}
kubectl scale deploy cache -n prod --replicas=0
```

**Deleting deployment:**

```bash theme={null}
kubectl delete -f apinizer-deployment.yaml
```

**Force deleting pod in Terminating state:**

```bash theme={null}
kubectl delete pod <POD_NAME> -n apinizer --grace-period=0 --force
```

**Version update:**

<Info>
  After pulling images to servers, the following commands are used. These commands work like the "vi" editor, use ":wq" to save and exit.
</Info>

```bash theme={null}
kubectl edit deployment manager -n apinizer
kubectl edit deployment cache -n prod
kubectl edit deployment worker -n prod
```

**Cleaning evicted pods:**

```bash theme={null}
kubectl get pod -n prod | grep Evicted | awk '{print $1}' | xargs kubectl delete pod -n prod
```

### Node Affinity Configuration

**Preventing pod from running on specific nodes:**

```yaml theme={null}
affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
        - matchExpressions:
            - key: kubernetes.io/hostname
              operator: NotIn
              values:
                - kuberdemo55
                - kuberdemo56
```

## Docker Commands

### Image Operations

**Listing images:**

```bash theme={null}
docker images
```

**Listing all containers:**

```bash theme={null}
docker ps -a
```

**Image pull operation:**

```bash theme={null}
sudo docker pull apinizercloud/manager:2024.xx.0
```

**Image export:**

```bash theme={null}
sudo docker save apinizercloud/manager:2024.xx.0 > manager_2024.xx.0.tar
```

**Image import:**

```bash theme={null}
sudo docker load < manager_2024.xx.0.tar
```

## Containerd Commands

### Namespace Operations

**Listing namespaces:**

```bash theme={null}
sudo ctr namespaces list
```

**Listing containers by namespace:**

```bash theme={null}
sudo ctr --namespace k8s.io containers ls
```

### Image Operations

**Listing Apinizer images:**

```bash theme={null}
sudo ctr -n k8s.io images list | grep apinizer
```

**Image pull operation:**

```bash theme={null}
sudo ctr --namespace k8s.io images pull docker.io/apinizercloud/manager:2024.05.0
```

**Image export:**

```bash theme={null}
sudo ctr -n k8s.io images export /tmp/manager:2024.05.0.tar docker.io/apinizercloud/manager:2024.05.0
```

**Image import:**

```bash theme={null}
sudo ctr --namespace k8s.io images import /tmp/manager:2024.05.0.tar
```
