Ingress sa používa na správu prichádzajúcej prevádzky aplikácie a tiež na ukončenie SSL. Na rozdiel od toho sa tajomstvá používajú na ukladanie dôverných informácií a certifikátov TLS pre aplikáciu.
Tento príspevok bude ilustrovať:
- Aké sú tajomstvá Kubernetes?
- Predpoklad: Vygenerujte súkromný kľúč a certifikát
- Ako vytvoriť tajný TLS v Kubernetes?
- Ako vytvoriť tajomstvo prostredníctvom súboru Yaml?
- Ako vložiť tajomstvo pomocou Kubernetes Pod?
- Záver
Aké sú tajomstvá Kubernetes?
Tajomstvá sú jedným zo zdrojov Kubernetes, ktorý sa používa na ukladanie dôverných informácií, ako sú prihlasovacie údaje používateľa, kľúče, certifikáty alebo tokeny. Tajomstvá môžu byť vytvorené jednotlivo a spojené s strukami. Zabraňuje vývojárovi poskytovať dôverné údaje v kóde a tiež poskytuje ďalšiu úroveň zabezpečenia. Môžu byť vytvorené a použité rôzne druhy tajomstiev. Najčastejšie používané tajomstvá sú:
Všeobecné tajomstvo: Všeobecné tajomstvá sa používajú na ukladanie základných informácií, ako sú heslá, tokeny, kľúče API, kľúče OAuth atď.
Tajomstvo TLS: Tajné kľúče TLS sa používajú na ukladanie súkromných kľúčov a certifikátov, ktoré sú podpísané CA. Na zaistenie bezpečnosti aplikácií bežiacich vo vnútri Kubernetes a na zabezpečenie komunikácie v rámci klastra musí používateľ zvyčajne vytvoriť a vložiť tajné kľúče TLS do pod.
Register Docker: Používa sa na uloženie poverení registra docker na jednoduché stiahnutie obrázkov z registra.
Predpoklad: Vygenerujte súkromný kľúč a certifikát
Na vytvorenie certifikátu a súkromného kľúča na zlepšenie bezpečnosti použite OpenSSL, ktoré vytvorí CSR (žiadosť o podpis certifikátu) a súkromný kľúč. Potom použite CSR na vygenerovanie certifikátov s vlastným podpisom alebo certifikátov CA.
Ak chcete používať príkazy OpenSSL v systéme Windows, používatelia si musia nainštalovať Git. Na tento účel postupujte podľa našich odkazov „ Nainštalujte git na Windows “článok.
Po inštalácii git postupujte podľa pokynov nižšie a vygenerujte súkromný kľúč a podpísaný certifikát.
Krok 1: Spustite terminál Git Bash
Vyhľadajte „ Git Bash ” v ponuke Štart a spustite terminál:
Ak chcete skontrolovať aktuálny adresár, použite „ pwd 'príkaz:
pwdV súčasnosti pracujeme v adresári %USERPROFILE%:
Krok 2: Vytvorte nový adresár
Vytvorte nový adresár na uloženie certifikátov a súkromného kľúča:
mkdir certPrejdite do novovytvoreného adresára pomocou „ cd 'príkaz:
cd cert
Krok 3: Vygenerujte súkromný kľúč
Teraz vygenerujte súkromný kľúč pomocou daného príkazu. Tu sa vygenerovaný súkromný kľúč uloží do „ mycert.key “:
openssl genpkey -algoritmus RSA -von mycert.key
Krok 4: Generovanie CSR
Na vygenerovanie CSR (žiadosti o certifikačnú službu) na získanie podpísaného certifikátu použite daný príkaz:
openssl req -Nový -kľúč mycert.key -von mycert.csr
Krok 5: Vygenerujte certifikát
Nakoniec pomocou vygenerovaného súkromného kľúča a CSR vytvorte certifikát a uložte ho do „ mycert.crt “. Na tento účel vykonajte nasledujúci príkaz:
openssl x509 -požiadavka -v mycert.csr - kľúč mycert.key -von mycert.crt -dni 365
Po vygenerovaní certifikátov TLS môže používateľ vytvoriť tajný TLS podľa nižšie uvedenej časti.
Ako vytvoriť tajný TLS v Kubernetes?
Na zaistenie bezpečnosti aplikácie a bezpečnej komunikácie v rámci a mimo klastra Kubernetes sú nevyhnutné certifikáty TLS (Transport Layer Security), ktoré sa používajú pri šifrovaní údajov. Tajomstvo Kubernetes nám umožňuje vložiť certifikát TLS s bežiacimi modulmi prostredníctvom tajného TLS. Ak chcete vytvoriť tajný protokol TLS v Kubernetes, postupujte podľa nasledujúcich pokynov.
Krok 1: Spustite Minikube Cluster
Ak chcete spustiť klaster minikube, najprv spustite prostredie Windows PowerShell ako správca. Potom vytvorte a spustite klaster pomocou „ minikube štart 'príkaz:
minikube štart
Krok 2: Získajte uzly
Prejdite do uzla Kubernetes a skontrolujte, či je klaster spustený alebo nie:
minikube získať uzly
Krok 3: Vytvorte tajný protokol TLS
Vytvorte tajomstvo TLS v Kubernetes pomocou ' kubectl create secret
Krok 4: Získajte tajomstvá
Pre potvrdenie vypíšte tajomstvo Kubernetes pomocou daného príkazu:
kubectl dostať tajomstvoTu môžete vidieť, že sme efektívne vytvorili „ demo-tajomstvo “, ktorý obsahuje “ 2 hodnoty údajov:
Krok 5: Opíšte tajomstvo
Ak chcete zobraziť, ako sa údaje prezerajú alebo ukladajú v tajnosti, opíšte tajomstvo pomocou „ kubectl popísať tajomstvo
Môžete vidieť, že hodnoty sú uložené v bajtoch a nie je možné ich priamo zobraziť na rozdiel od Kubernetes ConfigMaps:
Ako vytvoriť tajný TLS prostredníctvom súboru Yaml?
Ak chcete vytvoriť tajný protokol TLS prostredníctvom súboru yaml, najprv vytvorte súbor „ tajomstvo.yml “, pridajte súbor tls base64 zakódovaný certifikát v ' tls.crt “ a pridajte kódovaný kľúč base64 v ' tls.key “.
Pre demonštráciu postupujte podľa uvedených krokov.
Krok 1: Vytvorte súbor Yaml
Vytvorte súbor s názvom „ tajomstvo.yml “ a vložte daný kód:
apiVersion : v1údajov :
tls.crt : 'zakódovaný certifikát base64'
tls.key : 'kódovaný kľúč base64'
milý : Tajomstvo
metaúdaje :
názov : mytls-secret
menný priestor : predvolená
typu : kubernetes.io/tls
Vo vyššie uvedenom úryvku nahraďte hodnoty kľúča „tls.crt“ a „tls.key“ pôvodným certifikátom a hodnotami kľúča:
Krok 2: Vytvorte tajomstvo
Teraz použite tajný súbor yaml cez „ kubectl apply -f
Výstup ukazuje, že sme úspešne vytvorili „ mytls-secret ” pomocou súboru yaml:
Poznámka: Pozrite si certifikát TLS a súkromný kľúč
Ak chcete zobraziť zakódovaný certifikát base64 a použiť ho v súbore yaml, spustite „ cat
Ak chcete zobraziť kódovaný kľúč base64, použite „ cat
Ako vložiť tajné TLS s Kubernetes Pod?
Po vytvorení tajného TSL ho môže používateľ vložiť do modulu Kubernetes. Ak to chcete urobiť, použite nasledujúce pokyny.
Krok 1: Vytvorte súbor Yaml
Vytvorte súbor s názvom „ pod.yml ” a do súboru vložte úryvok nižšie:
apiVersion: v1druh: Pod
metadáta:
názov: demo-pod
špecifikácia:
kontajnery:
- názov: html-cont
obrázok: rafia098 / html-img: 1,0
envFrom:
- secretRef:
názov: demo-tajné
Vo vyššie uvedenom úryvku:
- “ milý ” kľúč určuje zdroj Kubernetes, ktorý používateľ vytvára.
- “ názov ” nastaví názov modulu.
- “ kontajnerov ” kľúč uloží informácie o kontajneri.
- “ názov ” pod klávesom “kontajnery” nastaví názov kontajnera.
- “ obrázok ” poskytne obrázok aplikácie alebo kontajnera na vytvorenie a spustenie aplikácie v kontajneri.
- “ envOd ” nastaví premennú prostredia z iných zdrojov Kubernetes. Tu na vloženie tajného TLS do modulu: tajnéRef “ sa používa na poskytnutie tajného odkazu. Ak chcete vložiť vyššie uvedený tajný protokol TLS, zadajte názov tajného kľúča do kľúča „name“.
Krok 2: Vytvorte alebo inovujte modul
Potom otvorte priečinok, v ktorom sa nachádza „ pod.yml “ je vytvorený súbor:
cd C:\Users\Dell\Documents\Kubernetes\Secret
Použite súbor yaml na vytvorenie alebo prekonfigurovanie pod pomocou „ kubectl aplikovať 'príkaz:
kubectl aplikovať -f pod.yml
Krok 3: Prístup k Kubernetes Pods
Na overenie uveďte zoznam modulov Kubernetes:
kubectl dostať podTu môžete vidieť, že sme vytvorili „ demo-pod “ úspešne:
Krok 4: Popíšte pod
Ak chcete skontrolovať, či modul má vložený tajný protokol TLS alebo nie, opíšte modul pomocou nižšie uvedeného príkazu:
kubectl popísať pod demo-podNasledujúci výstup ukazuje, že sme úspešne vložili tajomstvo TLS do modulu:
Popísali sme, ako vytvoriť tajný protokol TLS a vložiť ho do aplikácie Kubernetes spustenej v podu.
Záver
Ak chcete vytvoriť tajný TLS v Kubernetes, najprv vytvorte certifikát podpísaný TLS a súkromný kľúč. Potom spustite klaster Kubernetes a spustite „ kubectl create secret