Jak vytvořit tajný TLS v Kubernetes

Jak Vytvorit Tajny Tls V Kubernetes



Kubernetes je open-source nástroj, který se používá ke spouštění a správě kontejnerizované aplikace uvnitř clusteru. Provádí různé úkoly k ovládání, spouštění a zabezpečení přihlašovacích údajů aplikace prostřednictvím tajného a ingresivního přístupu.

Ingress se používá ke správě příchozího provozu aplikací a také k ukončení SSL. Naproti tomu tajné klíče se používají k ukládání důvěrných informací a certifikátů TLS pro aplikace.

Tento příspěvek bude ilustrovat:







Co jsou tajemství Kubernetes?

Tajemství jsou jedním ze zdrojů Kubernetes, který se používá k ukládání důvěrných informací, jako jsou přihlašovací údaje uživatele, klíče, certifikáty nebo tokeny. Tajemství lze vytvářet jednotlivě a spojovat s lusky. Zabraňuje vývojářům poskytovat důvěrná data v kódu a také poskytuje další vrstvu zabezpečení. Lze vytvářet a používat různé druhy tajemství. Nejčastěji používaná tajemství jsou:



Obecné tajemství: Obecná tajemství se používají k ukládání základních informací, jako jsou hesla, tokeny, klíče API, klíče OAuth a tak dále.



Tajemství TLS: Tajné klíče TLS se používají k ukládání soukromých klíčů a certifikátů podepsaných CA. Pro zajištění bezpečnosti aplikací běžících uvnitř Kubernetes a pro zabezpečení komunikace v rámci clusteru uživatel obvykle potřebuje vytvořit a vložit tajné klíče TLS do podu.





Registr Docker: Používá se k uložení pověření registru dockeru, aby bylo možné snadno stáhnout obrázky z registru.

Předpoklad: Vygenerujte soukromý klíč a certifikát

Chcete-li vytvořit certifikát a soukromý klíč pro zlepšení zabezpečení, použijte OpenSSL, který vytvoří CSR (žádost o podpis certifikátu) a soukromý klíč. Poté pomocí CSR vygenerujte certifikáty s vlastním podpisem nebo certifikáty CA.



Aby uživatelé mohli používat příkazy OpenSSL ve Windows, musí si nainstalovat Git. Za tímto účelem postupujte podle našeho odkazu „ Nainstalujte git na Windows “ článek.

Po instalaci git postupujte podle níže uvedených pokynů a vygenerujte soukromý klíč a podepsaný certifikát.

Krok 1: Spusťte terminál Git Bash

Vyhledejte „ Git Bash ” v nabídce Start a spusťte terminál:

Chcete-li zkontrolovat aktuální adresář, použijte „ pwd 'příkaz:

pwd

V současné době pracujeme v adresáři %USERPROFILE%:

Krok 2: Vytvořte nový adresář

Vytvořte nový adresář pro uložení certifikátů a soukromého klíče:

mkdir cert

Přejděte do nově vytvořeného adresáře pomocí „ CD 'příkaz:

CD cert

Krok 3: Vygenerujte soukromý klíč

Nyní vygenerujte soukromý klíč pomocí daného příkazu. Zde se vygenerovaný soukromý klíč uloží do „ mycert.key “:

openssl genpkey -algoritmus RSA -ven mycert.key

Krok 4: Vygenerujte CSR

Chcete-li vygenerovat CSR (žádost o certifikační službu), abyste získali podepsaný certifikát, použijte daný příkaz:

openssl req -Nový -klíč mycert.key -ven mycert.csr

Krok 5: Vygenerujte certifikát

Nakonec pomocí vygenerovaného soukromého klíče a CSR vytvořte certifikát a uložte jej do „ mycert.crt “. Za tímto účelem spusťte níže uvedený příkaz:

openssl x509 -požad -v mycert.csr -znakový klíč mycert.key -ven mycert.crt -dny 365

Po vygenerování certifikátů TLS může uživatel vytvořit tajný TLS podle níže uvedené části.

Jak vytvořit tajný TLS v Kubernetes?

Pro zajištění zabezpečení aplikací a bezpečné komunikace v rámci i mimo cluster Kubernetes jsou nezbytné certifikáty TLS (Transport Layer Security), které se používají při šifrování dat. Tajemství Kubernetes nám umožňuje vložit certifikát TLS do běžících modulů prostřednictvím tajného TLS. Chcete-li vytvořit tajný protokol TLS v Kubernetes, postupujte podle následujících pokynů.

Krok 1: Spusťte Minikube Cluster

Chcete-li spustit cluster minikube, nejprve spusťte prostředí Windows PowerShell jako správce. Poté vytvořte a spusťte cluster pomocí „ start minikube 'příkaz:

start minikube

Krok 2: Získejte uzly

Přejděte do uzlu Kubernetes a zkontrolujte, zda je cluster spuštěn nebo ne:

minikube získat uzly

Krok 3: Vytvořte tajný TLS

Vytvořte tajný klíč TLS v Kubernetes pomocí „ kubectl create secret –cert= –key= “příkaz. Zde může být tajný typ „ obecný ',' tls “, nebo „ docker-registr “. Abychom vytvořili tajný klíč TLS, nastavili jsme typ tajného klíče na „tls“:

kubectl create secret tls demo-secret --certifikát =C:\Users\Dell\cert\mycert.crt --klíč =C:\Users\Dell\cert\mycert.key

Krok 4: Získejte tajemství

Pro potvrzení vypište tajný klíč Kubernetes pomocí daného příkazu:

kubectl se tajit

Zde můžete vidět, že jsme efektivně vytvořili „ demo-tajemství “, který obsahuje “ 2 hodnoty dat:

Krok 5: Popište tajemství

Chcete-li zobrazit, jak jsou data prohlížena nebo ukládána v tajnosti, popište tajný klíč pomocí „ kubectl popsat tajné 'příkaz:

kubectl popsat tajné demo-tajné

Můžete vidět, že hodnoty jsou uloženy v bajtech a nelze je přímo zobrazit na rozdíl od Kubernetes ConfigMaps:

Jak vytvořit tajný TLS prostřednictvím souboru Yaml?

Chcete-li vytvořit tajný TLS prostřednictvím souboru yaml, nejprve vytvořte „ tajné.yml “, přidejte soubor tls base64 zakódovaný certifikát v ' tls.crt “ a přidejte kódovaný klíč base64 v ' tls.key “.

Pro demonstraci postupujte podle uvedených kroků.

Krok 1: Vytvořte soubor Yaml

Vytvořte soubor s názvem „ tajné.yml “ a vložte daný kód:

apiVersion : v1

data
:

tls.crt
: 'base64 zakódovaný certifikát'

tls.key
: 'kódovaný klíč base64'

druh
: Tajný

metadata
:

název
: mytls-tajemství

jmenný prostor
: výchozí

typ
: kubernetes.io/tls

Ve výše uvedeném úryvku nahraďte hodnoty klíčů „tls.crt“ a „tls.key“ původním certifikátem a hodnotami klíčů:

Krok 2: Vytvořte tajemství

Nyní použijte tajný soubor yaml prostřednictvím „ kubectl apply -f 'příkaz:

kubectl aplikovat -F tajné.yml

Výstup ukazuje, že jsme úspěšně vytvořili „ mytls-tajemství ” pomocí souboru yaml:

Poznámka: Zobrazit certifikát TLS a soukromý klíč

Chcete-li zobrazit certifikát zakódovaný v base64 a použít jej v souboru yaml, spusťte „ cat | základ 64 ” příkaz v terminálu git bash:

kočka mycert.crt | základ 64

Chcete-li zobrazit klíč kódovaný base64, použijte „ cat | základ 64 'příkaz:

kočka mycert.key | základ 64

Jak vložit tajné TLS pomocí Kubernetes Pod?

Po vytvoření tajného TSL jej může uživatel vložit do modulu Kubernetes. K tomu použijte následující pokyny.

Krok 1: Vytvořte soubor Yaml

Vytvořte soubor s názvem „ pod.yml ” a vložte níže uvedený úryvek do souboru:

apiVersion: v1

druh: Pod

metadata:

název: demo-pod

specifikace:

kontejnery:

- název: html-cont

obrázek: rafia098 / html-img: 1,0

envOd:

- secretRef:

název: demo-tajemství

Ve výše uvedeném úryvku:

  • druh ” klíč určuje prostředek Kubernetes, který uživatel vytváří.
  • název ” nastaví název modulu.
  • kontejnery ” uloží informace o kontejneru.
  • název ” pod klávesou “kontejnery” nastaví název kontejneru.
  • obraz ” poskytne obrázek aplikace nebo kontejneru pro vytvoření a spuštění aplikace uvnitř kontejneru.
  • envOd ” nastaví proměnnou prostředí z jiných zdrojů Kubernetes. Zde pro vložení tajného TLS do modulu: tajnéRef “ se používá k poskytnutí tajného odkazu. Chcete-li vložit výše uvedený tajný TLS, zadejte název tajného klíče do klíče „name“.

Krok 2: Vytvořte nebo upgradujte modul

Dále otevřete složku, kde je „ pod.yml “ je vytvořen soubor:

CD C:\Users\Dell\Documents\Kubernetes\Secret

Použijte soubor yaml k vytvoření nebo překonfigurování pod pomocí „ kubectl aplikovat 'příkaz:

kubectl aplikovat -F pod.yml

Krok 3: Přístup k Kubernetes Pods

Pro ověření si vypište pody Kubernetes:

kubectl dostat pod

Zde můžete vidět, že jsme vytvořili „ demo-pod ' úspěšně:

Krok 4: Popište modul

Chcete-li zkontrolovat, zda modul má vložený tajný TLS nebo ne, popište modul pomocí níže uvedeného příkazu:

kubectl popsat pod demo-pod

Níže uvedený výstup ukazuje, že jsme úspěšně vložili tajný klíč TLS do pod:

Probrali jsme, jak vytvořit tajný TLS a vložit jej do aplikace Kubernetes spuštěné v modulu.

Závěr

Chcete-li vytvořit tajný TLS v Kubernetes, nejprve vytvořte certifikát podepsaný TLS a soukromý klíč. Poté spusťte cluster Kubernetes a spusťte „ kubectl create secret –cert= –key= “příkaz. Uživatelé mohou také vytvořit tajný TLS pomocí yaml manifestu. Tento příspěvek ilustroval, jak vytvořit tajný TLS a jak vložit tajemství do spuštěné aplikace nebo modulu.