Com crear un TLS secret a Kubernetes

Com Crear Un Tls Secret A Kubernetes



Kubernetes és una eina de codi obert que s'utilitza per executar i gestionar l'aplicació en contenidors dins del clúster. Realitza diverses tasques per controlar, executar i protegir les credencials de l'aplicació mitjançant secrets i ingressos.

L'entrada s'utilitza per gestionar el trànsit d'entrada d'aplicacions i també per a la terminació SSL. En canvi, els secrets s'utilitzen per emmagatzemar informació confidencial i certificats TLS per a l'aplicació.

Aquesta publicació il·lustrarà:







Quins són els secrets de Kubernetes?

Els secrets són un dels recursos de Kubernetes que s'utilitzen per emmagatzemar informació confidencial com ara credencials d'inici de sessió d'usuari, claus, certificats o testimonis. Els secrets es poden crear individualment i connectar-se a pods. Impedeix que el desenvolupador proporcioni dades confidencials en codi i també proporciona una capa addicional de seguretat. Es poden crear i utilitzar diferents tipus de secrets. Els secrets més utilitzats són:



Secret genèric: Els secrets genèrics s'utilitzen per emmagatzemar informació bàsica com ara contrasenyes, testimonis, claus API, claus OAuth, etc.



Secret TLS: Els secrets TLS s'utilitzen per emmagatzemar claus privades i certificats signats per la CA. Per garantir la seguretat de les aplicacions que s'executen dins de Kubernetes i per assegurar la comunicació dins del clúster, l'usuari normalment ha de crear i incrustar secrets TLS al pod.





Registre Docker: S'utilitza per emmagatzemar la credencial del registre docker per treure fàcilment les imatges del registre.

Requisit previ: generar la clau privada i el certificat

Per crear el certificat i la clau privada per millorar la seguretat, utilitzeu OpenSSL que crea la CSR (sol·licitud de signatura de certificat) i la clau privada. A continuació, utilitzeu CSR per generar els certificats autofirmats o CA.



Per utilitzar les ordres OpenSSL a Windows, els usuaris han d'instal·lar Git. Per a això, seguiu el nostre enllaç ' Instal·leu git a Windows ' article.

Després d'instal·lar git, seguiu les instruccions següents per generar una clau privada i un certificat signat.

Pas 1: inicieu Git Bash Terminal

Fes una cerca per ' Git Bash ” al menú Inici i inicieu el terminal:

Per comprovar el directori actual, utilitzeu ' pwd ' comandament:

pwd

Actualment, estem treballant al directori %USERPROFILE%:

Pas 2: creeu un directori nou

Creeu un directori nou per desar els certificats i la clau privada:

mkdir cert

Navegueu al directori acabat de crear amb el botó ' cd ' comandament:

cd cert

Pas 3: genera la clau privada

Ara, genereu la clau privada mitjançant l'ordre donada. Aquí, la clau privada generada es desarà a ' mycert.key ”:

openssl genpkey - algorisme RSA -fora mycert.key

Pas 4: generar RSC

Per generar la CSR (sol·licitud de servei de certificat) per obtenir un certificat signat, utilitzeu l'ordre donada:

openssl req -nou -clau mycert.key -fora mycert.csr

Pas 5: generar el certificat

Finalment, utilitzant la clau privada generada i la CSR, creeu un certificat i deseu-lo a la ' mycert.crt ' dossier. Per a això, executeu l'ordre següent:

openssl x509 -req -en mycert.csr - clau de senyal mycert.key -fora mycert.crt -dies 365

Després de generar els certificats TLS, l'usuari pot crear el TLS secret seguint la secció següent.

Com crear un TLS secret a Kubernetes?

Per garantir la seguretat de l'aplicació i la comunicació segura dins i fora del clúster de Kubernetes, els certificats TLS (Transport Layer Security) són essencials que s'utilitzen en el xifratge de dades. El secret de Kubernetes ens permet incrustar el certificat TLS amb pods en execució mitjançant TLS secret. Per crear un TLS secret a Kubernetes, seguiu les instruccions següents.

Pas 1: inicieu Minikube Cluster

Per iniciar el clúster minikube, primer, inicieu Windows PowerShell com a administrador. Després d'això, creeu i executeu el clúster mitjançant el ' inici minikube ' comandament:

inici minikube

Pas 2: obteniu nodes

Accediu al node Kubernetes per comprovar si el clúster està iniciat o no:

minikube obtenir nodes

Pas 3: creeu un TLS secret

Creeu el secret TLS a Kubernetes mitjançant ' kubectl crea secret –cert= –key= ' comandament. Aquí, el tipus secret pot ser ' genèric ”, “ tls ”, o “ docker-registry ”. Per crear un secret TLS, hem establert el tipus de secret com a 'tls':

kubectl crea secret tls demo-secret --cert =C:\Usuaris\Dell\cert\mycert.crt --clau =C:\Usuaris\Dell\cert\mycert.key

Pas 4: obteniu secrets

Per confirmar-ho, enumereu el secret de Kubernetes mitjançant l'ordre donada:

kubectl es fa secret

Aquí, podeu veure que hem creat efectivament un ' demo-secret ' que conté ' 2 ” valors de dades:

Pas 5: Descriu el secret

Per veure com es visualitzen o s'emmagatzemen les dades en secret, descriu el secret mitjançant el ' kubectl descriu secret ' comandament:

kubectl descriu secret demo-secret

Podeu veure que els valors s'emmagatzemen en bytes i que no es poden veure directament a diferència de Kubernetes ConfigMaps:

Com crear un TLS secret mitjançant un fitxer Yaml?

Per crear un TLS secret mitjançant un fitxer yaml, primer, creeu un ' secret.yml ”, afegiu el fitxer certificat codificat tls base64 en el ' tls.crt ” i afegiu la tecla clau codificada en base64 en el ' tls.key ”.

Per a la demostració, seguiu els passos indicats.

Pas 1: creeu un fitxer Yaml

Creeu un fitxer anomenat ' secret.yml ” i enganxeu el codi donat:

apiVersion : v1

dades
:

tls.crt
: 'certificat codificat base64'

tls.key
: 'clau codificada en base64'

amable
: Secret

metadades
:

nom
: mytls-secret

espai de noms
: per defecte

tipus
: kubernetes.io/tls

Al fragment anterior, substituïu els valors de clau 'tls.crt' i 'tls.key' pel certificat i els valors de clau originals:

Pas 2: creeu un secret

Ara, apliqueu el fitxer Yaml secret a través del ' kubectl aplica -f ' comandament:

s'aplica kubectl -f secret.yml

La sortida mostra que hem creat correctament el ' mytls-secret ” utilitzant el fitxer yaml:

Nota: visualitzeu el certificat TLS i la clau privada

Per veure el certificat codificat base64 i utilitzar-lo al fitxer yaml, executeu el ' cat | base 64 ” comanda al terminal git bash:

gat mycert.crt | base 64

Per veure la clau codificada en base64, utilitzeu “ cat | base 64 ' comandament:

gat mycert.key | base 64

Com incrustar TLS secret amb Kubernetes Pod?

Després de crear el TSL secret, l'usuari pot incrustar-lo amb el pod de Kubernetes. Per fer-ho, utilitzeu les instruccions següents.

Pas 1: creeu un fitxer Yaml

Feu un fitxer anomenat ' pod.yml ” i enganxeu el fragment següent al fitxer:

apiVersion: v1

tipus: Pod

metadades:

nom: demo-pod

especificació:

contenidors:

- nom: html-cont

imatge: rafia098 / html-img: 1.0

envFrom:

- secretRef:

nom: demo-secret

En el fragment anterior:

  • amable ” especifica el recurs de Kubernetes que està creant l'usuari.
  • nom ” La tecla establirà el nom del pod.
  • contenidors ” emmagatzemarà la informació del contenidor.
  • nom ” sota la clau “contenidors” establirà el nom del contenidor.
  • imatge ” La clau proporcionarà l'aplicació o la imatge del contenidor per crear i iniciar l'aplicació dins del contenidor.
  • envFrom ” estableix la variable d'entorn d'altres recursos de Kubernetes. Aquí, per incrustar el TLS secret en una beina, ' secretRef ” s'utilitza per proporcionar una referència secreta. Per incrustar el TLS secret anterior, especifiqueu el nom del secret a la clau 'nom'.

Pas 2: creeu o actualitzeu el pod

A continuació, obriu la carpeta on hi ha ' pod.yml ” es crea el fitxer:

cd C:\Usuaris\Dell\Documents\Kubernetes\Secret

Apliqueu el fitxer yaml per crear o reconfigurar el pod mitjançant el ' s'aplica kubectl ' comandament:

s'aplica kubectl -f pod.yml

Pas 3: accediu als pods de Kubernetes

Per a la verificació, enumereu els pods de Kubernetes:

kubectl obtenir pod

Aquí podeu veure que hem creat el ' demo-pod ” amb èxit:

Pas 4: Descriu el pod

Per comprovar si el pod ha incrustat el TLS secret o no, descriu el pod mitjançant l'ordre següent:

kubectl descriu pod demo-pod

La sortida següent mostra que hem incrustat correctament el secret TLS amb pod:

Hem tractat com crear un TLS secret i incrustar-lo amb l'aplicació Kubernetes que s'executa al pod.

Conclusió

Per crear el TLS secret a Kubernetes, primer, creeu el certificat signat TLS i la clau privada. Després d'això, inicieu el clúster de Kubernetes i executeu el ' kubectl crea secret –cert= –key= ' comandament. Els usuaris també poden crear el TLS secret mitjançant Yaml manifest. Aquesta publicació ha il·lustrat com crear el secret TLS i com incrustar el secret amb una aplicació o pod en execució.