Vogliamo un cluster Kubernetes e dobbiamo configurare lo strumento di riga di comando kubectl per interconnettersi con il cluster. Si consiglia di eseguire questo tutorial in un cluster con due o più nodi che non ospitano il piano di controllo. Se non conteniamo un cluster, ne creiamo uno mediante l'uso del minikube. La maggior parte delle applicazioni containerizzate elabora su Kubernetes richiede l'accesso alle risorse esterne. Le risorse esterne in genere richiedono un segreto, una password, una chiave o un token per accedere. Con Kubernetes Secrets, possiamo salvare in sicurezza questi oggetti, quindi non dobbiamo salvarli nella definizione del pod.
I segreti sono oggetti sicuri che salvano informazioni riservate. Possiamo utilizzare i segreti per cambiare il modo in cui tali informazioni complesse vengono utilizzate e diminuire il rischio di divulgazione dei dati agli utenti illegali. Utilizziamo anche le chiavi gestite dal Cloud KMS per codificare i segreti a livello di applicazione.
Il segreto può essere creato individualmente del pod che stiamo usando, riducendo il rischio di segreto e le sue informazioni visibili attraverso la creazione, l'osservazione e l'inserimento dei baccelli del pod. Kubernetes e le applicazioni in esecuzione in un cluster possono anche utilizzare i segreti per prendere ulteriori precauzioni, come la prevenzione dei dati sensibili di essere scritta a memoria non volatile. Il segreto è simile alle configmap; Tuttavia, è appositamente progettato per archiviare dati sensibili.
Per impostazione predefinita, i segreti di Kubernetes vengono salvati non crittografati nei dati originali del server API (ETCD). Chiunque acquisisca eccd e chiunque abbia l'accesso API può ottenere o cambiare il segreto. Inoltre, chiunque abbia il permesso di costruire un pod in uno spazio dei nomi utilizza questo per consegnare il segreto in quello spazio dei nomi. Questo contiene un accesso non intenzionale, come la capacità di costruire distribuzioni.
Per l'esecuzione dei comandi in Kubernetes, installiamo Ubuntu 20.04 programma. Qui, utilizziamo il sistema operativo Linux per implementare i comandi Kubectl. Ora, installiamo il cluster Minikube per eseguire Kubernetes in Linux. Il minikube offre una comprensione regolare in quanto fornisce una modalità efficiente per testare i comandi e le applicazioni.
Avvia minikube:
Dopo aver installato il cluster minikube, abbiamo iniziato Ubuntu 20.04. Ora, dobbiamo aprire una console per eseguire i comandi. A tale scopo, premi del tutto "Ctrl+Alt+T" sulla tastiera.
Nel terminale, scriviamo il comando "Avvia minikube". Dopo questo, aspettiamo un po 'fino a quando non inizia effettivamente. L'output di questo comando è fornito sotto:
Creazione di un segreto Kubernetes:
Quando creiamo un segreto, possiamo indicare il suo tipo utilizzando il campo Tipo della risorsa segreta o, se ottenibile, la riga di comando Kubectl specifica. I tipi segreti vengono utilizzati per aiutare l'elaborazione del programma di vari tipi di dati sensibili.
Kubernetes offre alcuni tipi integrati per alcuni stati di utilizzo comuni. Queste categorie differiscono nella convalida eseguita e le restrizioni che Kubernetes impone su di esse.
Opaco è il tipo segreto predefinito. Quando si utilizza Kubectl per costruire un segreto, utilizzare il comando generico per specificare il tipo segreto opaco.
Secret_Type: Questo tipo di segreto può essere uno dei seguenti:
Utilizziamo tipi generici per la maggior parte dei segreti.
Costruiamo un segreto utilizzando lo strumento di riga di comando dell'amministratore di Kubernetes, che è Kubectl. Con questo strumento, possiamo utilizzare file, passare le stringhe letterali dal computer confinato, avvolgerle in segreto e utilizzare l'API per creare elementi sul server cluster. È essenziale notare che gli oggetti segreti devono essere nell'uso dei nomi di sottodominio DNS:
Per impostazione predefinita, il comando Kubectl Get ignora la visualizzazione del contenuto del segreto. Questo per evitare che il segreto venga accidentalmente divulgato o salvato nel registro del terminale.
In questo output, la colonna "dati" dimostra la quantità di elementi di dati salvati nel segreto. In questo caso, 0 mostra che abbiamo costruito un segreto vuoto:
Modifica un segreto:
Il segreto può essere fornito come volume di dati o come variabile di ambiente utilizzata dal contenitore nel pod. Il segreto può anche essere utilizzato in ulteriori misure del sistema senza essere esposto direttamente al pod.
Possiamo modificare l'attuale segreto con il comando "Kubectl Edit Secrets Secret1".
Impostazione del segreto Kubernetes nel file di configurazione:
Costruiamo il segreto utilizzando un file di configurazione JSON o YAML. Il segreto formato nel file di configurazione ha due mapping di dati: dati e stringdata.
Conclusione:
In questa guida, abbiamo imparato a conoscere il segreto. Un segreto è una cosa che contiene informazioni riservate. E poi, abbiamo discusso del metodo di come Kubectl aggiorna Kubernetes Secret.
Mantenere i segreti sicuri è importante per l'esecuzione di contenitori in Kubernetes, poiché quasi tutte le applicazioni necessitano di accesso a risorse esterne. I segreti di Kubernetes hanno permesso di ottenere dati complessi nel cluster e ridurre il rischio di riservatezza distribuita. Speriamo che tu abbia trovato questo articolo utile. Dai un'occhiata al suggerimento di Linux per ulteriori suggerimenti e informazioni.