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:
kubectl -n shop-demo set image deploy/frontend nginx=nginx:1.27api, memory limit:
kubectl -n shop-demo set resources deploy/api --limits=memory=256Mi --requests=memory=220Miworker, ConfigMap:
kubectl -n shop-demo create configmap worker-config --from-literal=queue_url=amqp://queue:5672kubectl -n shop-demo rollout restart deploy/workercheckout, porta della readiness probe:
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:
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):
kubectl get storageclasskubectl -n shop-demo scale deploy/orders-db --replicas=0kubectl -n shop-demo delete pvc orders-db-datakubectl -n shop-demo apply -f - <<'EOF2'apiVersion: v1kind: PersistentVolumeClaimmetadata: name: orders-db-dataspec: accessModes: [ReadWriteOnce] storageClassName: standard resources: requests: { storage: 1Gi }EOF2kubectl -n shop-demo scale deploy/orders-db --replicas=1Verifica
Sezione intitolata “Verifica”kubectl -n shop-demo get pods,endpoints,pvckubectl -n shop-demo wait --for=condition=Available deploy --all --timeout=180sReset allo stato rotto
Sezione intitolata “Reset allo stato rotto”kubectl delete namespace shop-demo --wait=truekubectl apply -f ~/Downloads/K8S-AI/lab/shop-demo.yamlGuasti extra per test avanzati
Sezione intitolata “Guasti extra per test avanzati”Nodo sotto pressione (CPU):
kubectl -n shop-demo create deploy cpu-hog --image=polinux/stress -- stress --cpu 2NetworkPolicy che isola catalog:
kubectl -n shop-demo apply -f - <<'EOF2'apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: deny-catalogspec: podSelector: matchLabels: { app: catalog } policyTypes: [Ingress]EOF2Nota: 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:
kubectl -n shop-demo create job fail-job --image=busybox:1.36 -- sh -c 'echo "connection refused: db:5432"; exit 1'