Le 20 migliori domande e risposte per l'intervista a Kubernetes che devi sapere nel 2022
Pubblicato: 2021-01-04Kubernetes è uno degli strumenti di orchestrazione dei container più ricercati nel mercato odierno. Aperto da Google nel 2014, questo sistema è emerso come uno dei preferiti da aziende come SoundCloud, SAP, The New York Times, eBay, Huawei e molte altre.
Ma ci sono solo pochi esperti qualificati per soddisfare la vasta domanda di professionisti certificati Kubernetes. Inoltre, le attuali procedure di selezione del lavoro attribuiscono un valore immenso ai concetti tecnici. Pertanto, è sempre consigliabile preparare in anticipo le risposte alle domande del colloquio di Kubernetes .
L'idea di base alla base di Kubernetes è di astrarre le risorse del computer sottostanti. Sottrae macchine, storage e reti alle loro implementazioni fisiche. Senza dubbio, lo slancio dietro la piattaforma è in aumento. Kubernetes viene chiamato il sistema operativo del cloud. Scopri di più su Kubernetes e sul suo networking.
Se stai pensando di intraprendere una carriera in questo campo, esamina le domande dell'intervista Kubernetes riportate di seguito. Fai il primo passo e familiarizza con i fondamenti!
Domande e risposte per l'intervista a Kubernetes 2022
1. Definisci Kubernetes.
Kubernetes è molto più di una piattaforma di containerizzazione. Automatizza le attività di distribuzione, ridimensionamento e bilanciamento del carico delle applicazioni. Inoltre, questo strumento di gestione multi-container funziona bene con la maggior parte dei provider di servizi cloud e beneficia dei contributi di una community open source esperta. Kubernetes è scritto nei linguaggi di programmazione Go.

2. Elenca alcune caratteristiche chiave di Kubernetes.
- Pianificazione automatizzata – Utilità di pianificazione avanzata per avviare i container sui nodi del cluster.
- Autoguarigione: può riprogrammare, sostituire e riavviare i contenitori che sono morti.
- Rollout e rollback automatizzati – Supporta rollout e rollback.
- Ridimensionamento orizzontale: funzionalità di ridimensionamento delle applicazioni in base ai requisiti.
- Elenca le differenze tra Kubernetes e Docker Swarms.
Docker Swarm è uno strumento per la creazione di container per la gestione del loro ciclo di vita. Kubernetes è più esteso di Docker Swarm in quanto è pensato per orchestrare cluster e coordinare cluster di nodi su larga scala. Anche se Kubernetes è altamente scalabile, Docker Swarm è circa cinque volte più veloce da scalare rispetto a Kubernetes. Inoltre, Docker Swarm esegue il bilanciamento automatico del carico del traffico tra diversi container, per il quale è necessario un intervento manuale in Kubernetes.
Ma Kubernetes ha altre capacità. Ha strumenti di registrazione e monitoraggio integrati insieme a un meccanismo di rollback automatico. Docker Swarm non può eseguire rollback automatici e ridimensionamento automatico come Kubernetes.
4. In che modo la distribuzione delle applicazioni sugli host differisce dalla distribuzione sui container?
Quando si distribuisce un'applicazione su host, il kernel del sistema operativo consente l'installazione di molte librerie su di essa. Tutte le applicazioni condividono le varie librerie presenti su quel sistema operativo. Tuttavia, l'architettura della distribuzione delle applicazioni sui container è leggermente diversa.
Nell'architettura containerizzata, il kernel è l'unica cosa comune tra le applicazioni. Altre applicazioni non possono invadere le librerie e i binari necessari per un'applicazione. Quindi, esistono isolati dal resto del sistema. Ad esempio, se una particolare applicazione richiede Python, solo quell'applicazione potrà accedervi.
5. Cosa intendi per orchestrazione del contenitore? Perchè ne hai bisogno?
Si supponga che ci siano 4-5 microservizi per un'applicazione. Ora, questi microservizi sarebbero in contenitori individuali. Pertanto, l'orchestrazione del contenitore sarebbe necessaria per consentire ai servizi di comunicare tra loro e collaborare per soddisfare le esigenze del server. Il processo è proprio come un'orchestra musicale in cui diversi strumenti vengono suonati in armonia per comporre una composizione.
6. Cos'è Kubelet?
Kubelet è un servizio agente che esegue pod. Un pod non è altro che un gruppo di contenitori distribuiti sullo stesso host o con alcune risorse comuni, come un singolo IP, volumi, ecc. Il kubelet funziona sulle descrizioni di questi contenitori fornite in PodSpec. Il suo scopo principale è quello di eseguire su ciascun nodo, garantire che i contenitori siano integri e funzionanti e abilitare ulteriormente la comunicazione tra i nodi master e di lavoro.
Leggi: Domande e risposte sull'intervista a stack completo
7. Qual è il ruolo dei cluster in Kubernetes?
Kubernetes ti consente di imporre la gestione dello stato richiesta alimentando i servizi del cluster di una configurazione specifica. Quindi, questi servizi cluster eseguono tale configurazione nell'infrastruttura. Nel processo sono coinvolti i seguenti passaggi:
- Il file di distribuzione contiene tutte le configurazioni da inserire nei servizi del cluster.
- Il file di distribuzione viene inserito nell'API.
- Ora, i servizi del cluster pianificano i pod nell'ambiente
- I servizi cluster garantiscono inoltre che sia in esecuzione il numero corretto di pod
Quindi, il cluster Kubernetes è essenzialmente costituito dall'API, dai nodi di lavoro e dal processo Kubelet dei nodi.
8. A cosa serve Kubectl?
Kubectl è uno strumento per il controllo dei cluster Kubernetes. In effetti, "ctl" sta per controllo. È un'interfaccia della riga di comando che consente di passare comandi al cluster e gestire il componente Kubernetes.
9. Definisci Google Container Engine.
Google Container Engine (GKE) è una piattaforma di gestione che supporta i container Docker e i cluster eseguiti all'interno dei servizi cloud pubblici di Google. È un motore open source basato su Kubernetes.
10. Spiega l'utilizzo dei nodi in Kubernetes.
Un nodo fornisce i servizi necessari per eseguire i pod. Conosciuti anche come minion, i nodi possono essere eseguiti su una macchina fisica o virtuale a seconda del cluster. In Kubernetes, un nodo è la macchina di lavoro principale e i componenti master gestiscono ogni nodo nel sistema.

Ora che sei aggiornato sulle basi, diamo un'occhiata ad alcune altre domande e risposte dell'intervista Kubernetes per ottenere chiarezza.
11. Quali sono i due componenti principali dell'architettura Kubernetes?
Il nodo master e il nodo di lavoro costituiscono l'architettura Kubernetes. Entrambi i componenti hanno più servizi integrati al loro interno. Ad esempio, il componente principale ha kube-controller-manager, kube-scheduler, etcd e kube-apiserver. Il nodo di lavoro dispone di servizi come container runtime, kubelet e kube-proxy in esecuzione su ogni nodo.
Leggi: Reagisci alle domande e alle risposte dell'intervista
12. Definisci kube-apiserver e kube-scheduler.
Kube-apiserver è il front-end del pannello di controllo del nodo maser che espone tutte le API dei componenti. Stabilisce la comunicazione tra i nodi Kubernetes e i componenti master. Il kube-scheduler gestisce il carico di lavoro dei nodi di lavoro. Tiene traccia dell'utilizzo delle risorse per garantire che la pianificazione venga eseguita su nodi idonei.
13. Spiegare brevemente il ruolo di Kubernetes Controller Manager.
In Kubernetes, vari processi sono in esecuzione sul nodo master e vengono compilati insieme sotto forma di Kubernetes Controller Manager. È un demone che incorpora i controller, inclusi i seguenti:
- Node Controller: gestisce lo stato, ovvero la creazione, l'aggiornamento e l'eliminazione dei nodi
- Controller di replica: mantiene i pod per ogni oggetto di replica
- Account di servizio e controller token: riguarda gli account predefiniti e i token di accesso API per i nuovi spazi dei nomi
- Controller dell'endpoint: si occupa degli oggetti dell'endpoint (pod e servizi)
- Cosa fa un gestore di controller cloud?
Un Cloud Controller Manager (CCM) è un demone che consente di incorporare loop di controllo specifici del cloud. Astrae il codice del fornitore specifico del cloud dal codice principale di Kubernetes. Aiuta anche a gestire la comunicazione con i servizi cloud sottostanti. Il suo design si basa sul meccanismo dei plug-in, il che significa che i fornitori di cloud integrano il loro codice con CCM utilizzando i plug-in.
15. Qual è il ruolo di un sistema di bilanciamento del carico?
Un sistema di bilanciamento del carico fornisce un modo standard per distribuire il traffico di rete tra diversi servizi di back-end, massimizzando così la scalabilità. A seconda dell'ambiente di lavoro, possono esserci due tipi di bilanciamento del carico: interno o esterno.
Il sistema di bilanciamento del carico interno può bilanciare automaticamente il carico e allocare la configurazione richiesta ai pod. D'altra parte, External Load Balancer guida il traffico di carico esterno ai pod di back-end. In Kubernetes, i due metodi di bilanciamento del carico operano tramite la funzione kube-proxy.
16. Come puoi eseguire Kubernetes in locale?
Puoi eseguire Kubernetes localmente usando lo strumento Minikube. Esegue un cluster a nodo singolo all'interno di una macchina virtuale sul tuo laptop. Quindi, fornisce un modo efficiente per gli utenti che hanno appena iniziato e vogliono provare Kubernetes.
17. Cos'è Heapster?
Heapster è uno strumento di monitoraggio delle prestazioni e raccolta delle metriche supportato in modo nativo nel cluster Kubernetes. Funziona come qualsiasi altro pod nel cluster, rilevando tutti i nodi e interrogando le informazioni dai nodi Kubernetes. Questo strumento di gestione dei container funziona tramite un agente sulla macchina.
18. Che cos'è l'ETCD a Kubernetes?
Etcd è un archivio per la configurazione, lo stato e i metadati dei cluster Kubernetes. È scritto nel linguaggio di programmazione Go e rappresenta lo stato del cluster in un determinato momento. Questo datastore funge da spina dorsale dei sistemi distribuiti.
19. Cosa intendi per monitoraggio delle risorse del contenitore?

Dal punto di vista dell'utente, è fondamentale comprendere l'utilizzo delle risorse a diversi livelli e livelli di astrazione, come i contenitori, i servizi e l'intero cluster. Ogni livello può essere monitorato utilizzando vari strumenti, ovvero:
- Grafana
- Heapster
- InflussoDB
- Cconsigliere
- Prometeo
- Come puoi garantire la sicurezza del tuo ambiente durante l'utilizzo di Kubernetes?
Puoi seguire e implementare le seguenti misure di sicurezza durante l'utilizzo di Kubernetes:
- Limita l'accesso all'ETCD
- Limita l'accesso diretto ai nodi
- Definisci la quota di risorse
- Tutto dovrebbe essere registrato nell'ambiente di produzione
- Usa le immagini dal repository autorizzato
- Creare regole e politiche rigorose per le risorse
- Condurre una scansione continua della sicurezza e delle vulnerabilità
- Applicare regolarmente gli aggiornamenti di sicurezza
Ottieni il corso di sviluppo software dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.
Avvolgendo
In questo articolo, abbiamo trattato le domande essenziali del colloquio di Kubernetes per aiutarti a realizzare i tuoi obiettivi di carriera. Quindi, affronta la sfida di apprendimento e non dimenticare di rivedere!
Se vuoi imparare e padroneggiare Kubernetes, DevOps e altro, dai un'occhiata al programma Executive PG di IIIT-B e upGrad nel programma di sviluppo software Full Stack.
