Adjon hozzá egy SSL/TLS-tanúsítványt a Kubernetes Clusterhez

Adjon Hozza Egy Ssl Tls Tanusitvanyt A Kubernetes Clusterhez



Az SSL-tanúsítványok a Kubernetesen készült alkalmazások védelmére szolgálnak a jövőbeli biztonság érdekében. Vegyünk egy másik biztonságos tanúsítványt, a TLS-t, amely egy nagyon biztonságos privát kulcsot tartalmaz. A tanúsítványok a következő tanúsítványokkal jönnek létre:  K8r.io API. Részletes példák segítségével tanítjuk meg az SSL tanúsítvány beállítását. Kezdjük a Kubernetes SSL-tanúsítványával. Az SSL-tanúsítványok nagyon fontosak a böngészők számára. A böngésző SSL és TLS tanúsítványok segítségével biztonságos kapcsolatot hoz létre a Kubernetes szolgáltatásokkal.

Előfeltételek:

Minden felhasználónak rendelkeznie kell az Ubuntu legújabb verziójával. A Windows operációs rendszer felhasználója telepít egy virtuális dobozt, és virtuálisan hozzáadja az Ubuntut vagy a Linuxot a rendszerhez. A felhasználóknak ismerniük kell a Kuberneteset, a kubectl parancssort, a podokat és a fürtöket, és ismerniük kell a fürt DNS-t, hogy jobban megértsék ezt a témát.







Nézzük meg röviden az SSL-tanúsítvány-konfigurációt a Kubernetesben, az egész eljárást különböző lépésekre bontva.



1. lépés: Indítsa el a Kubernetes Vezérlőpultot

Olyan környezetet szeretnénk az alkalmazásunkban, ahol Kubernetes parancsokat futtathatunk Kubernetes feladatok végrehajtásához. Ennek eredményeként a Kubernetes egy helyi alapú „minikube” nevű tárolót biztosít számunkra. A Kubernetes alkalmazás minden indításakor elindítunk egy minikube-ot a Kubernetesben, ami alapvetően egy terminál, amely a Kubernetes parancsok futtatásához szükséges. Ebben a lépésben a Minikube inicializálására szolgáló parancsot futtatjuk, amely a következő:



> indítsa el a minikube-ot

Amikor ezt a parancsot futtatjuk a rendszerterminálunkon, a parancs végrehajtása az enter gomb megnyomásával indul. A parancs cserébe egy lent mellékelt képernyőképet jelenít meg.





2. lépés: Tanúsítvány-aláírási kérelem létrehozása

Miután létrehoztunk egy fürtöt a Minikube használatával, szeretnénk létrehozni egy tanúsítvány-aláírási kérelmet. A műveletért cserébe lefuttatjuk a parancsot a tanúsítványkérés aláírására és a privát kulcs generálására.



> macska << EOF | cfssl genkey - | cfssljson -éppen szerver

A lekérdezés végrehajtása után a kérés sikeresen generálódik a privát kulccsal. Az eredményt fent mellékeljük képernyőképként.

3. lépés: Hozzon létre egy tanúsítvány-aláírási kérelem jegyzéket a YAML fájlban

Ebben a lépésben létrehozunk egy YAML-fájljegyzéket a CSR létrehozásához a Kubernetesben. Az alábbi parancsot futtatjuk:

> macska << EOF | kubectl alkalmazni -f

A parancs végrehajtását követően egy YAML fájl sikeresen létrejön. És elküldjük az API szervernek, ahogy a mellékelt képernyőképen is látható.

4. lépés: Tanúsítvány-aláírási kérelem állapotának lekérése

Ebben a lépésben megvizsgáljuk a CSR állapotát az API-n keresztül. A megadott parancs futtatásával lekérhetjük a tanúsítványkérés állapotát.

> kubectl írja le a csv-t my-svc.my-namespace

A parancs futtatásakor a CSR állapota megjelenik a kimenetben, a mellékelt képernyőképen látható módon. A CSR állapota „függőben”, és ez az állapot az API-tól származik. A fájl neve my-svc. my-namespace és annotációk, kérő felhasználó és alany, alany alternatív nevek DNS-nevekkel és IP-címekkel, események stb. szerepelnek a CSR leírásában. Az állapot „függőben”, ami azt jelenti, hogy a CSR-tanúsítványt még nem hagyták jóvá.

5. lépés: CSR-tanúsítványok jóváhagyása

A CSR-tanúsítvány állapota még függőben van. Tehát ebben az esetben lekérdezést küldünk a Kubernetes API-nak a CSR-tanúsítvány jóváhagyására. Ezt a parancsot futtatjuk jóváhagyásra:

> kubectl tanúsítvány jóváhagyása my-svc .my-namespace

A parancs a végrehajtás után a kimenetet mutatja. A CSR-tanúsítványt egy felhatalmazott személy, például a Kubernetes-adminisztráció hagyja jóvá. Mivel jogosult felhasználók vagyunk, YAML fájlokat hozunk létre. Ennek eredményeként a CSR-tanúsítvány könnyen jóváhagyható a paranccsal, amint az az alábbi képernyőképen látható.

my-svc.my-namespace sikeresen jóváhagyva a certificates.k8s.io API-n keresztül.

6. lépés: Töltse le a CSR-tanúsítványt a Kubernetesben

Most várjuk, hogy a CSR tanúsítványt jóváhagyták-e. Tehát lefuttatjuk a parancsot, hogy megkapjuk a rendszerben jelenleg aktív CSR-tanúsítványok listáját. Futtassa a parancsot:

> kubectl get csr

A Kubernetesben jóváhagyott CSR-tanúsítvány neve a mellékelt képernyőképen látható. Ez a parancs visszaadja a CSR-tanúsítvány nevét, életkorát, aláíró nevét, kérőjét, kért időtartamát és állapotát.

7. lépés: Aláírja a tanúsítványt a létrehozó hatóság által

Ebben a lépésben látni fogjuk, hogyan írják alá a tanúsítványokat a Kubernetesben. Az SSL-tanúsítvány jóváhagyva, de még nincs aláírva. Az aláíró neve megjelenik a Kubernetes tanúsítványon. Futtatjuk azt a parancsot, amelyen keresztül a kért aláíró aláírja a tanúsítványt. A parancs a következő:

> macska << EOF | cfssl genart -initca - | cfssljson – csupasz kb

{

'CN' : 'Az én példaaláíróm' ,
'kulcs' : {
'valami' : 'rsa' ,
'méret' : 2048
}


}

EOF

A parancs lefut a tanúsítvány digitális aláírására. Az aláíró aláírja a kért tanúsítványokat, és frissíti az API állapotát az „SSL-tanúsítvány” paranccsal. A fenti parancs futtatásával létrehoztunk egy aláíró tanúsítványt, és az eredmény a mellékelt képernyőképen látható. A tanúsítvány aláírásához sikeresen egyedi sorozatszámot használtunk.

8. lépés:  Hozzon létre egy JSON-fájlt a tanúsítvány kiadásához

A tanúsítvány aláírása után létrehozunk egy JSON fájlt, amelyből tanúsítványt állítunk ki. Létrehozunk egy JSON-fájlt a következő parancs futtatásával a mellékelt képernyőképpel:

> nano signingfile.json

A parancs végrehajtása után létrejön a JSON-fájl az alábbi képernyőképen látható módon.

9. lépés:  Használja a Server-Signing-config.json fájlt

Ebben a lépésben a JSON-ban található server-signing-config fájlt használjuk a tanúsítványok aláírására és kiadására. Futtatjuk a parancsot a tanúsítvány aláírására egy privát kulcsfájllal.

> kubectl get csr my-svc.my-namespace -Az jsonpath =' { .spec.request } ' | \ base64 --dekódolni | \ cfssl jel -hogy ca.pem -ca ca-key ca-key.pem -konfig server-signing-config.json | \ cfssljson -éppen ca-signed-server

A parancs után a json fájlban már definiált tanúsítvány aláírásra kerül. Ennek a CSR-nek a sorozatszáma létrejön. Itt létrehozunk egy „ca-signed-server.pem” nevű aláírt kiszolgálási tanúsítvány fájlt.

10. lépés: Aláírt tanúsítvány feltöltése API-objektumban

Ebben a lépésben feltöltjük az aláírt tanúsítványt a fent látott függőben lévő API állapotba. A feltöltés parancsa:

> kubectl get csr my-svc.my-namespace -Az json | \  jq '.status.certificate = '

'
$ ( base64 ca-signed-server.pem | tr -d '\n' ) ''' | \

> kubectl csere --nyers / apis / tanúsítványok.k8s.io / v1 / tanúsítvány aláírási kérelmek / my-svc.my-   névtér / állapot -f -

A parancs végrehajtásakor az aláírt tanúsítvány sikeresen feltöltésre kerül, amikor a CSR jóváhagyásra kerül. A fent csatolt képernyőképen egy JSON-formátum látható, amely API-objektumként tölti fel az aláírt tanúsítványt.

11. lépés: Jóváhagyott tanúsítványok felvétele a Kubernetesbe

Ismét futtatjuk a parancsot a jóváhagyott tanúsítványok Kubernetesben való megjelenítéséhez.

> kubectl get csr

A tanúsítványt jóváhagyták és sikeresen kiállították, ahogy a fenti képernyőképen is látható.

12. lépés: Mentse el a tanúsítványt a rendszerbe

Ebben a lépésben megtanuljuk, hogyan tölthetjük le az aláírt tanúsítványt, és hogyan használhatjuk sikeresen a rendszerünkben. A tanúsítványt egyszerűen telepítjük a szerveren. A parancs a következő:

> kubectl get csr my-svc.my-namespace -Az jsonpath = '{.status.certificate}' \

| alap64 --dekódolni > szerver.crt

13. lépés:  Töltse ki a tanúsítványt

Ebben a lépésben megtanuljuk, hogyan töltsük fel a tanúsítványt a szerveren, hogy a tanúsítványt könnyen tudjuk használni webes biztonságra. Futtatjuk a parancsot:

Kalsoom @ Kalsoom > kubectl titkos tls szerver létrehozása -- Cert szerver.crt --kulcs szerver-kulcs.pem

A fent mellékelt képernyőkép azt mutatja, hogy a TLS biztonságos vagy titkos szerver sikeresen létrejött a cert server.cr névvel és a server-key.pem privát kulccsal.

14. lépés: Konfigurálja a tanúsítványt

Ebben a lépésben az alábbi parancs futtatásával úgy konfiguráljuk a tanúsítványt, hogy az biztonságos kiszolgáló tanúsítvány legyen:

> kubectl create configmap example-serving-ca ---fájlból ca.crt=ca.pem

Amint a mellékelt képernyőképen látható, a config map/example-serving-ca sikeresen létrejött a Kubernetesben a webszerver biztonságos kapcsolatához.

Következtetés

Az SSL-tanúsítványok a Kubernetes-alkalmazások biztonságának biztosítására szolgálnak a webszerveren. Minden lépést részletesen elmagyaráztunk az Ön megértése érdekében. Ugyanezeket a parancsokat futtathatja a Kubernetes alkalmazásban is az SSL-tanúsítvány telepítéséhez.