Afegiu un certificat SSL/TLS al clúster de Kubernetes

Afegiu Un Certificat Ssl Tls Al Cluster De Kubernetes



Els certificats SSL s'utilitzen per protegir l'aplicació que es fa a Kubernetes per a una seguretat futura. Prenem un altre certificat segur, TLS, que conté una clau privada molt segura. Els certificats es creen amb certificats:  API K8r.io. Ensenyarem sobre la configuració del certificat SSL amb l'ajuda d'exemples detallats. Comencem amb el certificat SSL a Kubernetes. Els certificats SSL són molt importants per als navegadors. El navegador, amb l'ajuda de certificats SSL i TLS, crea una connexió segura amb els serveis de Kubernetes.

Requisits previs:

Cada usuari ha de tenir l'última versió d'Ubuntu del seu sistema. L'usuari del sistema operatiu Windows instal·la una caixa virtual i afegeix Ubuntu o Linux virtualment al sistema. Els usuaris han d'estar familiaritzats amb Kubernetes, la línia d'ordres de kubectl, els pods i els clústers, i conèixer el DNS del clúster per entendre millor aquest tema.







Fem una ullada breu a la configuració del certificat SSL a Kubernetes dividint tot el procediment en diferents passos.



Pas 1: inicieu el tauler de control de Kubernetes

Volem un entorn a la nostra aplicació on puguem executar ordres de Kubernetes per realitzar tasques de Kubernetes. Com a resultat, Kubernetes ens proporciona un contenidor local anomenat 'minikube'. En cada inici d'aplicació de Kubernetes, iniciarem un minikube a Kubernetes, que és bàsicament un terminal, que és necessari per executar les ordres de Kubernetes. En aquest pas, executem l'ordre per inicialitzar Minikube, que és:



> iniciar minikube

Quan executem aquesta ordre al nostre terminal del sistema, l'execució de l'ordre comença prement el botó Enter. L'ordre ens mostra un resultat de captura de pantalla adjunt a continuació.





Pas 2: genereu la sol·licitud de signatura de certificat

Després de crear un clúster mitjançant Minikube, ara volem crear una sol·licitud de signatura de certificat. A canvi d'aquesta acció, executem l'ordre per signar la sol·licitud de certificat i generar una clau privada.



> gat << EOF | cfssl genkey - | cfssljson -només servidor

Després de l'execució de la consulta, la sol·licitud es genera correctament amb la clau privada. El resultat s'adjunta a dalt com a captura de pantalla.

Pas 3: creeu un manifest de sol·licitud de signatura de certificat al fitxer YAML

En aquest pas, crearem un fitxer de manifest de YAML per crear un CSR a Kubernetes. Executem l'ordre següent:

> gat << EOF | s'aplica kubectl -f

Després de l'execució d'aquesta ordre, es crea correctament un fitxer YAML. I l'enviem al servidor de l'API, tal com es mostra a la captura de pantalla adjunta.

Pas 4:  Obteniu l'estat de la sol·licitud de signatura del certificat

En aquest pas, veurem l'estat de la RSC tal com es veu a través de l'API. Podem executar l'ordre donada per recuperar l'estat de la sol·licitud de certificat.

> kubectl descriu csv my-svc.my-namespace

Quan s'executa l'ordre, l'estat de CSR es mostra a la sortida, tal com es mostra a la captura de pantalla adjunta. L'estat de CSR és 'pendent' i aquest estat prové de l'API. El nom del fitxer és my-svc. El meu-espai de noms i anotacions, sol·licitant usuari i subjecte, noms alternatius de subjecte amb noms DNS i adreces IP, esdeveniments, etc. s'inclouen a la descripció del CSR. L'estat és 'pendent', el que significa que el certificat de RSC encara no s'ha aprovat.

Pas 5:  Aprovació de certificats de CSR

L'estat del certificat de RSC encara està pendent. Per tant, en aquest cas, enviarem una consulta a l'API de Kubernetes per aprovar el certificat de CSR. Executem aquesta comanda per a l'aprovació:

> El certificat kubectl aprova my-svc .my-namespace

L'ordre mostra la sortida després de l'execució. Una persona autoritzada, com ara l'administració de Kubernetes, aprova el certificat de RSC. Com que som usuaris autoritzats, creem fitxers YAML. Com a resultat, el certificat CSR s'aprova fàcilment mitjançant l'ordre, tal com es mostra a la captura de pantalla següent per aclarir-ho.

my-svc.my-namespace s'ha aprovat correctament mitjançant l'API certificates.k8s.io.

Pas 6: obteniu el certificat de CSR a Kubernetes

Ara estem a l'espera de veure si s'ha aprovat el certificat de RSC. Per tant, executarem l'ordre per obtenir una llista de tots els certificats CSR que estan actius actualment al sistema. Executeu l'ordre:

> kubectl obtenir csr

El nom del certificat de CSR aprovat a Kubernetes es mostra a la captura de pantalla adjunta. Aquesta ordre retorna el nom, l'edat, el nom del signant, el sol·licitant, la durada sol·licitada i la condició del certificat CSR.

Pas 7: Signeu el certificat mitjançant la creació d'una autoritat

En aquest pas, veurem com es signen els certificats a Kubernetes. El certificat SSL està aprovat però encara no s'ha signat. El nom del signant apareix al certificat a Kubernetes. Executem l'ordre mitjançant la qual el signant sol·licitat signa el certificat. L'ordre és:

> gat << EOF | cfssl genart -initca - | cfssljson – nua ca

{

'CN' : 'El meu exemple de signant' ,
'clau' : {
'alguna cosa' : 'rsa' ,
'mida' : 2048
}


}

EOF

L'ordre s'executa per signar el certificat digitalment. El signant signa els certificats sol·licitats i actualitza l'estat de l'API amb l'ordre 'Certificat SSL'. Hem creat un certificat de signatura executant l'ordre anterior i el resultat es mostra a la captura de pantalla adjunta. S'ha utilitzat correctament un número de sèrie únic per signar el certificat.

Pas 8:  Creeu un fitxer JSON per emetre un certificat

Després de la signatura del certificat, creem un fitxer JSON des del qual emetem un certificat. Crearem un fitxer JSON executant l'ordre següent amb la captura de pantalla adjunta:

> nano signingfile.json

Després d'executar l'ordre, es crea el fitxer JSON tal com es pot veure a la captura de pantalla següent.

Pas 9:  fes servir Server-Signing-config.json

En aquest pas, utilitzem el fitxer server-signing-config que es troba a JSON per signar i emetre els certificats. Executem l'ordre per a la signatura de certificats amb un fitxer de clau privada.

> kubectl obté csr my-svc.my-namespace -El jsonpath =’ { .espec.sol·licitud } | \base64 --descodificar | \ signe cfssl -això ca.pem -ca ca-key ca-key.pem -config server-signing-config.json | \ cfssljson -només ca-signed-server

Després d'aquesta ordre, es signa el certificat que ja està definit al fitxer json. Es genera el número de sèrie d'aquest CSR. Aquí, generem un fitxer de certificat de publicació signat anomenat 'ca-signed-server.pem'.

Pas 10: Càrrega de certificat signat a l'objecte API

En aquest pas, pengem el certificat signat a l'estat de l'API pendent que hem vist més amunt. L'ordre per carregar és:

> kubectl obté csr my-svc.my-namespace -El json | \  jq '.status.certificate = '

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

> Kubectl substituir --crues / apis / certificats.k8s.io / v1 / sol·licituds de signatura de certificats / my-svc.my-   espai de noms / estat -f -

Quan s'executa aquesta ordre, el certificat signat es carrega correctament sempre que s'aprova el CSR. La captura de pantalla adjunta a dalt ens mostra un format JSON que penja el certificat signat com a objectes API.

Pas 11: registreu certificats aprovats a Kubernetes

Tornem a executar l'ordre per mostrar els certificats aprovats a Kubernetes.

> kubectl obtenir csr

El certificat s'ha aprovat i s'ha emès correctament, tal com es mostra a la captura de pantalla anterior.

Pas 12: Deseu el certificat al sistema

En aquest pas, aprendrem a descarregar el certificat signat i utilitzar-lo amb èxit al nostre sistema. Despleguem fàcilment el certificat al servidor. L'ordre és:

> kubectl obté csr my-svc.my-namespace -El jsonpath = '{.status.certificate}' \

| base 64 --descodificar > servidor.crt

Pas 13: empleneu el certificat

En aquest pas, aprendrem a emplenar el certificat al servidor perquè puguem utilitzar fàcilment el certificat per a la seguretat web. Executem l'ordre:

Kalsoom @ Kalsoom > kubectl crea un servidor secret tls --cert servidor.crt --clau server-key.pem

La captura de pantalla adjunta a dalt ens mostra que el servidor TLS segur o secret s'ha creat correctament amb el nom cert server.cr i amb clau privada server-key.pem.

Pas 14: Configura el mapa del certificat

En aquest pas, configurarem el certificat per assegurar-nos que és un certificat de servei segur executant l'ordre següent:

> kubectl crea configmap example-serving-ca --de-fitxer ca.crt=ca.pem

Com es mostra a la captura de pantalla adjunta, el mapa de configuració/example-serving-ca s'ha creat correctament a Kubernetes per a una connexió segura al servidor web.

Conclusió

Els certificats SSL s'utilitzen per proporcionar seguretat a les aplicacions de Kubernetes al servidor web. Hem explicat tots els detalls per a la vostra comprensió. També podeu executar les mateixes ordres a la vostra aplicació Kubernetes per instal·lar el certificat SSL.