Как да създадете таен TLS в Kubernetes

Kak Da S Zdadete Taen Tls V Kubernetes



Kubernetes е инструмент с отворен код, който се използва за изпълнение и управление на контейнеризирано приложение вътре в клъстера. Той изпълнява различни задачи за контролиране, стартиране и защита на идентификационните данни на приложението чрез тайна и вход.

Ingress се използва за управление на входящия трафик на приложението, а също и за прекратяване на SSL. За разлика от това, тайните се използват за съхраняване на поверителна информация и TLS сертификати за приложение.

Тази публикация ще илюстрира:







Какви са тайните на Kubernetes?

Тайните са един от ресурсите на Kubernetes, използван за съхраняване на поверителна информация като потребителски идентификационни данни за вход, ключове, сертификати или токени. Тайните могат да бъдат създадени индивидуално и свързани с подс. Той не позволява на разработчика да предоставя поверителни данни в код и също така осигурява допълнителен слой на сигурност. Могат да се създават и използват различни видове тайни. Най-често използваните тайни са:



Обща тайна: Общите тайни се използват за съхраняване на основна информация като пароли, токени, API ключове, OAuth ключове и т.н.



TLS Secret: TLS тайните се използват за съхраняване на частни ключове и сертификати, които са подписани от CA. За да се гарантира сигурността на приложенията, работещи в Kubernetes, и за осигуряване на комуникация в рамките на клъстера, потребителят обикновено трябва да създаде и вгради TLS тайни в под.





Докер регистър: Използва се за съхраняване на идентификационните данни на регистъра на докерите за лесно изтегляне на изображенията от регистъра.

Предпоставка: Генерирайте частен ключ и сертификат

За да създадете сертификат и частен ключ за подобряване на сигурността, използвайте OpenSSL, който създава CSR (заявка за подписване на сертификат) и частен ключ. След това използвайте CSR, за да генерирате самоподписани или CA сертификати.



За да използват командите OpenSSL в Windows, потребителите трябва да инсталират Git. За целта следвайте нашия свързан “ Инсталирайте git на Windows ” статия.

След като инсталирате git, следвайте инструкциите по-долу, за да генерирате частен ключ и подписан сертификат.

Стъпка 1: Стартирайте Git Bash Terminal

Направете търсене за „ Git Bash ” в менюто Старт и стартирайте терминала:

За да проверите текущата директория, използвайте „ pwd ” команда:

pwd

В момента работим в директорията %USERPROFILE%:

Стъпка 2: Създайте нова директория

Създайте нова директория, за да запазите сертификатите и личния ключ:

mkdir серт

Придвижете се до новосъздадената директория, като използвате „ cd ” команда:

cd серт

Стъпка 3: Генерирайте частен ключ

Сега генерирайте частния ключ чрез дадената команда. Тук генерираният частен ключ ще бъде записан в „ mycert.key ”:

openssl genpkey - алгоритъм RSA -вън mycert.key

Стъпка 4: Генерирайте CSR

За да генерирате CSR (заявка за услуга на сертификат), за да получите подписан сертификат, използвайте дадената команда:

openssl req -ново - ключ mycert.key -вън mycert.csr

Стъпка 5: Генериране на сертификат

И накрая, като използвате генерирания частен ключ и CSR, създайте сертификат и го запазете в „ mycert.crt ” файл. За тази цел изпълнете командата по-долу:

openssl x509 -изискване -във mycert.csr -ключ за знак mycert.key -вън mycert.crt -дни 365

След генериране на TLS сертификати, потребителят може да създаде тайния TLS, като следва раздела по-долу.

Как да създадете таен TLS в Kubernetes?

За да се гарантира сигурността на приложението и сигурната комуникация в и извън клъстера Kubernetes, TLS (сигурност на транспортния слой) сертификати са от съществено значение, които се използват при криптиране на данни. Тайната на Kubernetes ни позволява да вградим TLS сертификата с работещи модули чрез таен TLS. За да създадете таен TLS в Kubernetes, преминете през следните инструкции.

Стъпка 1: Стартирайте Minikube Cluster

За да стартирате клъстера minikube, първо стартирайте Windows PowerShell като администратор. След това създайте и стартирайте клъстера, като използвате „ minikube старт ” команда:

minikube старт

Стъпка 2: Вземете възли

Достъп до възела на Kubernetes, за да проверите дали клъстерът е стартиран или не:

minikube получава възли

Стъпка 3: Създайте таен TLS

Създайте TLS тайната в Kubernetes, като използвате „ kubectl create secret –cert= –key= ” команда. Тук тайният тип може да бъде „ генеричен ', ' tls ', или ' докер-регистър ”. За да създадем TLS тайна, сме задали тайния тип като „tls“:

kubectl създаде тайна tls демо-тайна --серт =C:\Users\Dell\cert\mycert.crt --ключ =C:\Users\Dell\cert\mycert.key

Стъпка 4: Вземете тайни

За потвърждение избройте тайната на Kubernetes, като използвате дадената команда:

kubectl получи тайна

Тук можете да видите, че ефективно създадохме „ демо-тайна ', който съдържа ' 2 ” стойности на данните:

Стъпка 5: Опишете тайната

За да видите как данните се преглеждат или съхраняват в тайна, опишете тайната с помощта на „ kubectl описва тайна <тайно-име> ” команда:

kubectl описва тайна демо-тайна

Можете да видите, че стойностите се съхраняват в байтове и не могат да се преглеждат директно за разлика от Kubernetes ConfigMaps:

Как да създадете таен TLS чрез Yaml файл?

За да създадете таен TLS чрез yaml файл, първо създайте „ secret.yml ” файл, добавете tls base64 кодиран сертификат в „ tls.crt ” и добавете base64 кодиран ключ в „ tls.key ”.

За демонстрация следвайте изброените стъпки.

Стъпка 1: Създайте Yaml файл

Създайте файл с име „ secret.yml ” и поставете дадения код:

apiVersion : v1

данни
:

tls.crt
: 'base64 кодиран сертификат'

tls.key
: 'base64 кодиран ключ'

мил
: Тайна

метаданни
:

име
: mytls-тайна

пространство от имена
: по подразбиране

Тип
: kubernetes.io/tls

В горния фрагмент заменете стойностите на ключовете „tls.crt“ и „tls.key“ с вашия оригинален сертификат и стойности на ключове:

Стъпка 2: Създайте тайна

Сега приложете тайния yaml файл чрез „ kubectl apply -f ” команда:

kubectl се прилага -f secret.yml

Резултатът показва, че успешно сме създали „ mytls-тайна ” с помощта на yaml файл:

Забележка: Вижте TLS сертификат и личен ключ

За да видите base64 кодирания сертификат и да го използвате в yaml файла, стартирайте „ cat <път към файл със сертификат> | база64 ” в терминала git bash:

котка mycert.crt | база64

За да видите base64 кодирания ключ, използвайте „ cat <файл път към ключ> | база64 ” команда:

котка mycert.key | база64

Как да вградите Secret TLS с Kubernetes Pod?

След като създаде тайния TSL, потребителят може да го вгради с Kubernetes pod. За да направите това, използвайте следните инструкции.

Стъпка 1: Създайте Yaml файл

Направете файл с име ' pod.yml ” и поставете фрагмента по-долу във файла:

apiВерсия: v1

вид: Pod

метаданни:

име: demo-pod

спецификация:

контейнери:

- име: html-конт

изображение: rafia098 / html-img: 1.0

envFrom:

- secretRef:

име: демо-тайна

В горния фрагмент:

  • мил ” ключът указва ресурса на Kubernetes, който потребителят създава.
  • име ” ще зададе името на капсулата.
  • контейнери ” ще съхранява информацията за контейнера.
  • име ” под бутона „контейнери” ще зададе името на контейнера.
  • изображение ” ще предостави изображението на приложението или контейнера за създаване и стартиране на приложението вътре в контейнера.
  • envFrom ” ще зададе променливата на средата от други ресурси на Kubernetes. Тук, за да вградите тайния TLS в под, ' secretRef ” се използва за предоставяне на секретна справка. За да вградите горния таен TLS, посочете името на тайната в ключа „име“.

Стъпка 2: Създайте или надстройте Pod

След това отворете папката, където е „ pod.yml ” се създава файл:

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

Приложете файла yaml, за да създадете или преконфигурирате pod с помощта на „ kubectl се прилага ” команда:

kubectl се прилага -f pod.yml

Стъпка 3: Достъп до Kubernetes Pods

За потвърждение избройте Kubernetes pods:

kubectl вземете под

Тук можете да видите, че създадохме „ демо-под ” успешно:

Стъпка 4: Опишете Pod

За да проверите дали групата има вграден тайния TLS или не, опишете групата с помощта на командата по-долу:

kubectl описва под демо-под

Резултатът по-долу показва, че успешно сме вградили TLS тайната с pod:

Разгледахме как да създадем таен TLS и да го вградим в приложението Kubernetes, работещо в под.

Заключение

За да създадете тайния TLS в Kubernetes, първо създайте TLS подписан сертификат и частен ключ. След това стартирайте клъстера Kubernetes и стартирайте „ kubectl create secret –cert= –key= ” команда. Потребителите могат също да създадат тайния TLS с помощта на yaml манифест. Тази публикация илюстрира как да създадете тайния TLS и как да вградите тайния в работещо приложение или под.