60 domande e risposte su Kubernetes

60 domande e risposte su Kubernetes

Pensi di conoscere Kubernetes? Mettiti alla prova con queste 60 domande e risposte su Kubernetes
Kubernetes , spesso abbreviato in K8s, è una potente piattaforma open source per automatizzare la distribuzione, il ridimensionamento e la gestione di applicazioni containerizzate. Sviluppato originariamente da Google, è ora gestito dalla Cloud Native Computing Foundation (CNCF).

In sostanza, Kubernetes aiuta le organizzazioni a eseguire applicazioni in modo affidabile su cluster di macchine, astraendo le complessità dell’infrastruttura. Abilita funzionalità come il ridimensionamento automatico, l’auto-riparazione, il bilanciamento del carico e rollout/rollback senza soluzione di continuità. Con il suo ricco ecosistema di strumenti e integrazioni, Kubernetes è diventato la spina dorsale delle moderne architetture DevOps e cloud-native.

Che tu stia gestendo un’applicazione basata su microservizi o ridimensionando un’app monolitica, Kubernetes offre la flessibilità e il controllo necessari per operare in ambienti dinamici di livello di produzione.

Ecco un elenco di 60 domande e risposte su Kubernetes con risposte corrispondenti. Riguardano architettura, concetti, risoluzione dei problemi, sicurezza e altro:

60 domande e risposte su Kubernetes: Architettura e concetti fondamentali di Kubernetes

  1. Cos’è un control plane Kubernetes? Il controlo plane gestisce il cluster Kubernetes, mantenendo lo stato desiderato tramite componenti come kube-apiserver, etcd, kube-scheduler, kube-controller-manager, e cloud-controller-manager.
  2. Che cos’è etcd e perché è importante? etcd è un archivio chiave-valore distribuito che Kubernetes utilizza per archiviare tutti i dati del cluster, come configurazioni, segreti e stati.
  3. Spiega come funziona uno scheduler Kubernetes. Lo scheduler assegna i Pod ai nodi valutando i requisiti delle risorse, le policy e i vincoli, garantendo un posizionamento ottimale.
  4. Cos’è un Pod? Perché è la più piccola unità distribuibile in Kubernetes? Un Pod è un gruppo di uno o più contenitori che condividono lo stesso namespace di rete e lo stesso storage. Incapsula l’applicazione e le sue dipendenze, rendendolo l’unità di base della distribuzione.
  5. Come si garantisce un’elevata disponibilità in un cluster Kubernetes? Impostando un’architettura multi-master, bilanciatori di carico per il server API e utilizzando strumenti come kubeadm, Kops o servizi Kubernetes gestiti.
    Networking avanzato
  6. Che cos’è un servizio Kubernetes? Un servizio astrae un set di Pod, fornendo una rete stabile e un bilanciamento del carico. I tipi includono ClusterIP, NodePort, LoadBalancer ed ExternalName.
  7. Come funziona kube-proxy? kube-proxygestisce le regole di rete per consentire la comunicazione tra Pod e Servizi utilizzando tabelle IP, IPVS o proxy dello spazio utente.
  8. Qual è il ruolo di CNI in Kubernetes? Container Network Interface (CNI) è uno standard per la configurazione della rete dei container, che abilita plugin come Flannel, Calico e Weave.
  9. Cosa sono le network policies? Le policy di rete controllano il traffico tra i Pod o tra i Pod e gli endpoint esterni, utilizzando regole per consentire o negare l’ingresso e l’uscita.
  10. Come esporre un’applicazione in Kubernetes al traffico esterno? Utilizzare un servizio di tipo LoadBalancer o NodePort oppure una risorsa Ingress con un controller Ingress.
    Storage
  11. Cosa sono il Persistent Volume (PV) e il Persistent Volume Claim (PVC)? PV è una risorsa di storage nel cluster, mentre PVC è una richiesta di storage da parte di un utente. I PVC si legano ai PV per il provisioning dinamico o statico.
  12. Come funziona il provisioning dinamico dei volumi? Le StorageClass definiscono i tipi di archiviazione e, quando viene creato un PVC, Kubernetes fornisce dinamicamente un PV corrispondente.
  13. Cos’è CSI in Kubernetes? Container Storage Interface (CSI) standardizza la gestione dei plugin di archiviazione per il provisioning dinamico e il collegamento di volumi.
  14. Cosa è ephemeral storage? E’ l’Archiviazione temporanea legata al ciclo di vita del Pod, utilizzata per la memorizzazione nella cache, i registri o i file temporanei.
  15. Come è possibile eseguire il backup e il ripristino di etcd?Utilizzare etcdctli comandi per acquisire snapshot e ripristinare i dati su un altro cluster etcd.
    Sicurezza
  16. Cos’è RBAC e come funziona? Il controllo degli accessi basato sui ruoli (RBAC) gestisce l’accesso alle risorse Kubernetes utilizzando ruoli e associazioni.
  17. Cosa sono i Kubernetes Secrets e come vengono utilizzati? I segreti archiviano in modo sicuro dati sensibili come le credenziali, a cui i Pod fanno riferimento tramite volumi o variabili ambientali.
  18. Che cosa è il Pod Security Admission (PSA)? PSA applica gli standard di sicurezza per i Pod controllando i livelli di privilegio, ad esempio di base o limitati.
  19. Come si protegge il server API? Utilizzando TLS, abilitando RBAC, limitando l’accesso anonimo e abilitando i registri di controllo.
  20. Cosa sono i contesti di sicurezza dei Pod? I contesti di sicurezza definiscono le autorizzazioni a livello di Pod, come l’esecuzione come utente non root o il montaggio dei file system in sola lettura.
    Risoluzione dei problemi
  21. Come risolvere i problemi di Pod CrashLoopBackOff? Controllare i registri utilizzando kubectl logs, ispezionare gli eventi utilizzando kubectl describe pode convalidare le configurazioni dei contenitori.
  22. Come si eseguono il debug dei problemi di rete in Kubernetes? Utilizzare strumenti come kubectl exec, criteri di rete, tracerouteo strumenti esterni come ciliume tcpdump.
  23. Qual è il significato delle condizioni del nodo? Le condizioni del nodo (ad esempio MemoryPressure, DiskPressure) indicano lo stato di integrità e delle risorse, guidando le decisioni dello scheduler.
  24. Come si gestiscono i guasti etcd? Ripristina da un backup e garantisci il quorum aggiungendo nodi funzionanti.
  25. Quali strumenti puoi utilizzare per l’osservabilità di Kubernetes? Prometheus, Grafana, Fluentd, ELK stack e Jaeger.
    Scalabilità e prestazioni
  26. Come funziona il ridimensionamento automatico di Kubernetes? Kubernetes supporta il ridimensionamento automatico orizzontale (HPA), verticale (VPA) e del cluster in base all’utilizzo delle risorse o a metriche personalizzate.
  27. Che cos’è un ReplicaSet e in che cosa differisce da un Deployment? Un ReplicaSet garantisce un numero specificato di repliche di Pod, mentre le distribuzioni gestiscono i ReplicaSet per gli aggiornamenti e i rollback.
  28. Come si ottimizza l’utilizzo delle risorse in un cluster? Definisci le richieste/limiti delle risorse, monitora l’utilizzo con strumenti come Prometheus e dimensiona correttamente i carichi di lavoro.
  29. Cosa sono l’affinità e l’anti-affinità dei pod? L’affinità definisce le preferenze di co-localizzazione dei Pod, mentre l’anti-affinità impone la separazione.
  30. Come si gestisce la contesa delle risorse in un cluster? Utilizzare priorità, prelazione e quote di risorse.
    Risorse e operatori personalizzati
  31. Cosa sono le definizioni di risorse personalizzate (CRD)? I CRD consentono agli utenti di definire e gestire oggetti Kubernetes personalizzati.
  32. Che cos’è un operatore Kubernetes? Un operatore automatizza le attività operative per le applicazioni utilizzando controller e CRD personalizzati.
  33. Come si estendono le funzionalità di Kubernetes? Utilizzare CRD, controllori di ammissione o plugin come CNI e CSI.
  34. Come si scrive un controller personalizzato? Utilizzare le librerie client di Kubernetes (ad esempio client-go) per conciliare gli stati desiderati e quelli effettivi delle risorse.
  35. Cosa sono i finalizers in Kubernetes? I finalizers ritardano l’eliminazione delle risorse fino al completamento di specifiche attività di pulizia.
    Amministrazione del cluster
  36. Come si aggiorna un cluster Kubernetes? Aggiornare prima i componenti del piano di controllo, poi i nodi worker, seguendo il ciclo di rilascio di Kubernetes.
  37. Cosa sono la contaminazione e la tolleranza in Kubernetes? Le contaminazioni impediscono ai Pod di pianificare su nodi specifici, a meno che non tollerino la contaminazione.
  38. Come si esegue la manutenzione dei nodi in Kubernetes? Svuotare il nodo ( kubectl drain) e isolarlo per impedirne la pianificazione.
  39. Cos’è kubelet e qual è il suo ruolo? Kubelet è un agente in esecuzione su ciascun nodo, responsabile della gestione dei Pod e della segnalazione al piano di controllo.
  40. In che modo Kubernetes gestisce gli aggiornamenti continui? Le distribuzioni aggiornano i Pod in modo incrementale, creando nuovi Pod e riducendo quelli vecchi.
    Scenari avanzati
  41. Qual è la differenza tra StatefulSet e Deployment? Gli StatefulSet gestiscono le applicazioni con stato con identità di rete stabili, mentre i Deployment sono per le applicazioni senza stato.
  42. Come si garantisce la coerenza negli StatefulSet? Utilizzare servizi headless e volumi persistenti.
  43. Cos’è un Helm chart e come viene utilizzato? Helm è un gestore di pacchetti per Kubernetes e i chart Helm definiscono le configurazioni e le risorse delle applicazioni.
  44. Quali sono le differenze tra DaemonSet e Deployment? I DaemonSet garantiscono l’esecuzione di un Pod su ciascun nodo, mentre le distribuzioni scalano i Pod tra i nodi.
  45. Come si implementano le distribuzioni canary? Utilizza più versioni di distribuzioni con suddivisione del traffico tramite Ingress o Service mesh.
    Sicurezza e best practices
  46. Che cos’è un Pod Disruption Budget (PDB)? PDB definisce il numero minimo di Pod disponibili o il numero massimo di Pod non disponibili durante le interruzioni.
  47. Che cos’è l’admission control Kubernetes? I controllori di ammissione convalidano e modificano le richieste API in base alle policy.
  48. Come si implementa la crittografia per i segreti? Abilita la crittografia a riposo utilizzando la configurazione della crittografia Kubernetes.
  49. Quali sono le best practice per la gestione di ConfigMap e Secrets? Utilizzare ConfigMaps/Secrets immutabili, gestire l’accesso con RBAC ed evitare di esporre dati sensibili nei log.
  50. Cosa sono le namespace quotas? Le quote limitano il consumo di risorse negli spazi dei nomi, garantendone un’equa distribuzione.
    Varie
  51. Che cos’è kubeadm e come viene utilizzato? Kubeadm avvia i cluster Kubernetes configurando il piano di controllo e i nodi.
  52. Qual è la differenza tra un job e un cronjob? Un job esegue un’attività fino al suo completamento, mentre un cronjob pianifica i job a intervalli regolari.
  53. Che cos’è kube-state-metrics? Espone gli stati delle risorse Kubernetes come metriche Prometheus per il monitoraggio.
  54. Come si usa Service Mesh in Kubernetes? I service mesh come Istio o Linkerd aggiungono funzionalità come il routing del traffico, l’osservabilità e la sicurezza ai microservizi.
  55. Che cos’è l’Horizontal Pod Autoscaler (HPA)? HPA ridimensiona i Pod in base all’utilizzo di CPU/memoria o a metriche personalizzate.
    Tendenze emergenti
  56. Come si integra Kubernetes con i framework serverless? Utilizza Knative o OpenFaaS per eseguire carichi di lavoro senza server su Kubernetes.
  57. Che cos’è la Kubernetes Federation? La federazione gestisce più cluster per una distribuzione globale e un’elevata disponibilità.
  58. Qual è il ruolo dei motori di policy come OPA/Gatekeeper? Open Policy Agent (OPA) applica policy come la sicurezza o la conformità in Kubernetes.
  59. Che cos’è KubeEdge? KubeEdge estende Kubernetes ai dispositivi edge per IoT e edge computing.
  60. Cos’è il multi-tenant in Kubernetes? Il multi-tenancy isola le risorse e i carichi di lavoro per diversi utenti o team all’interno di un cluster.

Ecco tutte le 60 domande e risposte su Kubernetes avanzate che ti aiuteranno a superare i colloqui DevOps.

(fonte)

Innovaformazione, scuola informatica specialistica promuove le tecnologie per il cloud, il DevOps e Kubernetes per l’utilizzo consapevole. Nell’offerta formativa rivolta alle aziende trovate:

Corso Kubernetes fundamental

Corso Microservices Docker Kuberntes

Corsi Microservices

INFO: info@innovaformazione.net – tel. 3471012275 (Dario Carrassi)

Vuoi essere ricontattato? Lasciaci il tuo numero telefonico e la tua email, ti richiameremo nelle 24h:

    Ti potrebbe interessare

    Articoli correlati