Salta ai contenuti

Fix e reset

Usa questi comandi dopo aver fatto diagnosticare il problema ai tool: servono a verificare che la causa indicata dall’AI fosse quella giusta.

frontend, immagine:

Finestra del terminale
kubectl -n shop-demo set image deploy/frontend nginx=nginx:1.27

api, memory limit:

Finestra del terminale
kubectl -n shop-demo set resources deploy/api --limits=memory=256Mi --requests=memory=220Mi

worker, ConfigMap:

Finestra del terminale
kubectl -n shop-demo create configmap worker-config --from-literal=queue_url=amqp://queue:5672
Finestra del terminale
kubectl -n shop-demo rollout restart deploy/worker

checkout, porta della readiness probe:

Finestra del terminale
kubectl -n shop-demo patch deploy checkout --type=json -p='[{"op":"replace","path":"/spec/template/spec/containers/0/readinessProbe/httpGet/port","value":9898}]'

checkout-svc, selector:

Finestra del terminale
kubectl -n shop-demo patch svc checkout-svc -p '{"spec":{"selector":{"app":"checkout"}}}'

orders-db, StorageClass (su kind la classe disponibile è standard; storageClassName di una PVC è immutabile, quindi va ricreata):

Finestra del terminale
kubectl get storageclass
Finestra del terminale
kubectl -n shop-demo scale deploy/orders-db --replicas=0
Finestra del terminale
kubectl -n shop-demo delete pvc orders-db-data
Finestra del terminale
kubectl -n shop-demo apply -f - <<'EOF2'
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: orders-db-data
spec:
accessModes: [ReadWriteOnce]
storageClassName: standard
resources:
requests: { storage: 1Gi }
EOF2
Finestra del terminale
kubectl -n shop-demo scale deploy/orders-db --replicas=1
Finestra del terminale
kubectl -n shop-demo get pods,endpoints,pvc
Finestra del terminale
kubectl -n shop-demo wait --for=condition=Available deploy --all --timeout=180s
Finestra del terminale
kubectl delete namespace shop-demo --wait=true
Finestra del terminale
kubectl apply -f ~/Downloads/K8S-AI/lab/shop-demo.yaml

Nodo sotto pressione (CPU):

Finestra del terminale
kubectl -n shop-demo create deploy cpu-hog --image=polinux/stress -- stress --cpu 2

NetworkPolicy che isola catalog:

Finestra del terminale
kubectl -n shop-demo apply -f - <<'EOF2'
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-catalog
spec:
podSelector:
matchLabels: { app: catalog }
policyTypes: [Ingress]
EOF2

Nota: la CNI di default di kind (kindnet) applica le NetworkPolicy solo dalle versioni recenti; verifica con un curl da un altro pod.

Job che fallisce:

Finestra del terminale
kubectl -n shop-demo create job fail-job --image=busybox:1.36 -- sh -c 'echo "connection refused: db:5432"; exit 1'