Ingress se uporablja za upravljanje dohodnega prometa aplikacij in tudi za zaključek SSL. Nasprotno pa se skrivnosti uporabljajo za shranjevanje zaupnih informacij in potrdil TLS za aplikacijo.
Ta objava bo ponazorila:
- Kaj so skrivnosti Kubernetes?
- Predpogoj: ustvarite zasebni ključ in potrdilo
- Kako ustvariti skrivni TLS v Kubernetesu?
- Kako ustvariti skrivnost prek datoteke Yaml?
- Kako vdelati Secret s Kubernetes Pod?
- Zaključek
Kaj so skrivnosti Kubernetes?
Skrivnosti so eden od virov Kubernetes, ki se uporablja za shranjevanje zaupnih informacij, kot so uporabniške prijavne poverilnice, ključi, potrdila ali žetoni. Skrivnosti je mogoče ustvariti posamično in jih povezati s stroki. Razvijalcu preprečuje zagotavljanje zaupnih podatkov v kodi in zagotavlja dodatno raven varnosti. Ustvarite in uporabite lahko različne vrste skrivnosti. Najpogosteje uporabljene skrivnosti so:
Generična skrivnost: Splošne skrivnosti se uporabljajo za shranjevanje osnovnih informacij, kot so gesla, žetoni, ključi API, ključi OAuth itd.
Skrivnost TLS: Skrivnosti TLS se uporabljajo za shranjevanje zasebnih ključev in potrdil, ki jih podpiše CA. Za zagotovitev varnosti aplikacij, ki se izvajajo znotraj Kubernetesa, in za zaščito komunikacije znotraj gruče mora uporabnik običajno ustvariti in vdelati skrivnosti TLS v pod.
Docker register: Uporablja se za shranjevanje poverilnice registra dockerja za preprosto pridobivanje slik iz registra.
Predpogoj: ustvarite zasebni ključ in potrdilo
Če želite ustvariti potrdilo in zasebni ključ za izboljšanje varnosti, uporabite OpenSSL, ki ustvari CSR (zahtevo za podpis potrdila) in zasebni ključ. Nato uporabite CSR za ustvarjanje samopodpisanih potrdil ali potrdil CA.
Za uporabo ukazov OpenSSL v sistemu Windows morajo uporabniki namestiti Git. V ta namen sledite našemu povezanemu “ Namestite git v sistem Windows ' Članek.
Po namestitvi gita sledite spodnjim navodilom za ustvarjanje zasebnega ključa in podpisanega potrdila.
1. korak: Zaženite terminal Git Bash
Poiščite » Git Bash ” v meniju Start in zaženite terminal:
Če želite preveriti trenutni imenik, uporabite » pwd ” ukaz:
pwdTrenutno delamo v imeniku %USERPROFILE%:
2. korak: Ustvarite nov imenik
Ustvarite nov imenik za shranjevanje potrdil in zasebnega ključa:
mkdir certPomaknite se do novo ustvarjenega imenika s pomočjo » cd ” ukaz:
cd cert
3. korak: Ustvarite zasebni ključ
Zdaj z danim ukazom ustvarite zasebni ključ. Tukaj bo ustvarjeni zasebni ključ shranjen v ' mycert.key ”:
openssl genpkey - algoritem RSA -ven mycert.key
4. korak: Ustvari CSR
Če želite ustvariti CSR (zahtevo za storitev potrdila) za pridobitev podpisanega potrdila, uporabite podani ukaz:
openssl req -novo -ključ mycert.key -ven mycert.csr
5. korak: Ustvarite potrdilo
Na koncu z ustvarjenim zasebnim ključem in CSR ustvarite potrdilo in ga shranite v » mycert.crt ' mapa. V ta namen izvedite spodnji ukaz:
openssl x509 -req -in mycert.csr - ključek mycert.key -ven mycert.crt -dnevi 365
Po generiranju potrdil TLS lahko uporabnik ustvari skrivni TLS tako, da sledi spodnjemu razdelku.
Kako ustvariti skrivni TLS v Kubernetesu?
Za zagotavljanje varnosti aplikacij in varne komunikacije znotraj in zunaj gruče Kubernetes so bistvenega pomena certifikati TLS (Transport Layer Security), ki se uporabljajo pri šifriranju podatkov. Skrivnost Kubernetes nam omogoča, da vdelamo potrdilo TLS v tekoče sklope prek skrivnega TLS. Če želite ustvariti skrivni TLS v Kubernetesu, upoštevajte naslednja navodila.
1. korak: Zaženite Minikube Cluster
Če želite zagnati gručo minikube, najprej zaženite Windows PowerShell kot skrbnik. Po tem ustvarite in zaženite gručo s pomočjo » minikube začetek ” ukaz:
minikube začetek
2. korak: pridobite vozlišča
Dostopite do vozlišča Kubernetes, da preverite, ali je gruča zagnana ali ne:
minikube pridobi vozlišča
3. korak: Ustvarite Secret TLS
Ustvarite skrivnost TLS v Kubernetesu z uporabo » kubectl create secret
4. korak: Pridobite skrivnosti
Za potrditev navedite skrivnost Kubernetes z danim ukazom:
kubectl get secretTukaj lahko vidite, da smo dejansko ustvarili » demo-skrivnost », ki vsebuje » 2 ” vrednosti podatkov:
5. korak: Opišite skrivnost
Če si želite ogledati, kako so podatki prikazani ali shranjeni na skrivaj, opišite skrivnost z uporabo » kubectl opisuje skrivnost
Vidite lahko, da so vrednosti shranjene v bajtih in si jih ni mogoče neposredno ogledati za razliko od Kubernetes ConfigMaps:
Kako ustvariti skrivni TLS prek datoteke Yaml?
Če želite ustvariti skrivni TLS prek datoteke yaml, najprej ustvarite » skrivnost.yml ” dodajte datoteko tls base64 kodirano potrdilo v ' tls.crt ” in dodajte base64 kodiran ključ v ' tls.key ”.
Za predstavitev sledite navedenim korakom.
1. korak: Ustvari datoteko Yaml
Ustvarite datoteko z imenom ' skrivnost.yml « in prilepite podano kodo:
apiVersion : v1podatke :
tls.crt : 'kodirano potrdilo base64'
tls.key : 'base64 kodiran ključ'
prijazen : Skrivnost
metapodatki :
ime : mytls-skrivnost
imenski prostor : privzeto
vrsta : kubernetes.io/tls
V zgornjem izrezku zamenjajte vrednosti ključev »tls.crt« in »tls.key« s svojim izvirnim potrdilom in vrednostmi ključev:
2. korak: Ustvarite skrivnost
Zdaj uporabite skrivno datoteko yaml prek » kubectl apply -f
Rezultat kaže, da smo uspešno ustvarili » mytls-skrivnost ” z uporabo datoteke yaml:
Opomba: Oglejte si potrdilo TLS in zasebni ključ
Če si želite ogledati kodirano potrdilo base64 in ga uporabiti v datoteki yaml, zaženite » cat
Če si želite ogledati ključ, kodiran base64, uporabite » cat
Kako vdelati Secret TLS s Kubernetes Pod?
Ko ustvari skrivni TSL, ga lahko uporabnik vdela s podom Kubernetes. Če želite to narediti, uporabite naslednja navodila.
1. korak: Ustvari datoteko Yaml
Ustvari datoteko z imenom ' pod.yml ” in v datoteko prilepite spodnji delček:
apiVersion: v1vrsta: Pod
metapodatki:
ime: demo-pod
spec:
posode:
- ime: html-cont
slika: rafia098 / html-img: 1.0
envFrom:
- skrivnostRef:
ime: demo-secret
V zgornjem delčku:
- “ prijazen ” ključ določa vir Kubernetes, ki ga ustvarja uporabnik.
- “ ime ” bo nastavila ime sklopa.
- “ zabojniki ” bo shranila informacije vsebnika.
- “ ime ” pod tipko “containers” nastavi ime vsebnika.
- “ slika ” bo zagotovila sliko aplikacije ali vsebnika za ustvarjanje in zagon aplikacije v vsebniku.
- “ envFrom ” bo nastavila spremenljivko okolja iz drugih virov Kubernetes. Tukaj, za vdelavo skrivnega TLS v pod, ' skrivnostRef ” se uporablja za zagotavljanje tajne reference. Če želite vdelati zgornji skrivni TLS, podajte ime skrivnega v ključu »ime«.
2. korak: Ustvarite ali nadgradite Pod
Nato odprite mapo, kjer je » pod.yml ” je ustvarjena datoteka:
cd C:\Users\Dell\Documents\Kubernetes\Secret
Uporabite datoteko yaml, da ustvarite ali znova konfigurirate pod z uporabo ' kubectl uporabite ” ukaz:
kubectl uporabite -f pod.yml
3. korak: Dostop do Kubernetes Pods
Za preverjanje navedite stroke Kubernetes:
kubectl dobiti podTukaj lahko vidite, da smo ustvarili » demo-pod ' uspešno:
4. korak: Opišite pod
Če želite preveriti, ali ima pod vdelan skrivni TLS ali ne, opišite pod s spodnjim ukazom:
kubectl opišite pod demo-podSpodnji rezultat kaže, da smo skrivnost TLS uspešno vdelali v pod:
Pokrili smo, kako ustvariti skrivni TLS in ga vdelati v aplikacijo Kubernetes, ki se izvaja v modulu.
Zaključek
Če želite ustvariti skrivni TLS v Kubernetesu, najprej ustvarite potrdilo s podpisom TLS in zasebni ključ. Po tem zaženite gručo Kubernetes in zaženite » kubectl create secret