Kako ustvariti skrivni TLS v Kubernetesu

Kako Ustvariti Skrivni Tls V Kubernetesu



Kubernetes je odprtokodno orodje, ki se uporablja za izvajanje in upravljanje kontejnerske aplikacije znotraj gruče. Izvaja različne naloge za nadzor, zagon in zaščito poverilnic aplikacije prek skrivnosti in vstopa.

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?

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:

pwd

Trenutno delamo v imeniku %USERPROFILE%:

2. korak: Ustvarite nov imenik

Ustvarite nov imenik za shranjevanje potrdil in zasebnega ključa:

mkdir cert

Pomaknite 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 –cert= –key= ” ukaz. Tu je skrivni tip lahko ' generično ', ' tls «, ali » docker-register ”. Za ustvarjanje skrivnosti TLS smo nastavili vrsto skrivnosti kot 'tls':

kubectl ustvari skrivnost tls demo-skrivnost --cert =C:\Uporabniki\Dell\cert\mycert.crt --ključ =C:\Users\Dell\cert\mycert.key

4. korak: Pridobite skrivnosti

Za potrditev navedite skrivnost Kubernetes z danim ukazom:

kubectl get secret

Tukaj 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 ” ukaz:

kubectl opišite skrivno demo-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 : v1

podatke
:

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 ” ukaz:

kubectl uporabite -f skrivnost.yml

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 | base64 ” v terminalu git bash:

mačka mycert.crt | base64

Če si želite ogledati ključ, kodiran base64, uporabite » cat | base64 ” ukaz:

mačka mycert.key | base64

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: v1

vrsta: 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 pod

Tukaj 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-pod

Spodnji 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 –cert= –key= ” ukaz. Uporabniki lahko skrivni TLS ustvarijo tudi z manifestom yaml. Ta objava je ponazorila, kako ustvariti skrivni TLS in kako vdelati skrivnost v delujočo aplikacijo ali pod.