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?
- Předpoklad: Vygenerujte soukromý klíč a certifikát
- Jak vytvořit tajný TLS v Kubernetes?
- Jak vytvořit tajemství prostřednictvím souboru Yaml?
- Jak vložit tajemství pomocí Kubernetes Pod?
- Závěr
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:
pwdV 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 certPř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
Krok 4: Získejte tajemství
Pro potvrzení vypište tajný klíč Kubernetes pomocí daného příkazu:
kubectl se tajitZde 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é
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 : v1data :
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
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
Chcete-li zobrazit klíč kódovaný base64, použijte „ cat
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: v1druh: 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 podZde 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-podNíž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