mirror of
https://github.com/Dannecron/netology-devops.git
synced 2025-12-25 15:22:37 +03:00
2.9 KiB
2.9 KiB
Выполнение домашнего задания по теме "14.2. Синхронизация секретов с внешними сервисами. Vault"
Q/A
Задача 1
Работа с модулем Vault.
Запустить модуль Vault конфигураций через утилиту kubectl в установленном minikube
kubectl apply -f config/vault-pod.yml
pod/14.2-netology-vault created
Получить значение внутреннего IP пода
kubectl get pod 14.2-netology-vault -o json | jq -c '.status.podIPs'Примечание: jq - утилита для работы с JSON в командной строке
[{"ip":"10.233.102.130"}]
Запустить второй модуль для использования в качестве клиента
kubectl run -i --tty fedora --image=fedora --restart=Never -- shУстановить дополнительные пакеты
dnf -y install pip pip install hvac
pip list
Package Version
------------------ ---------
certifi 2022.12.7
charset-normalizer 2.1.1
gpg 1.17.0
hvac 1.0.2
idna 3.4
libcomps 0.1.18
pip 22.2.2
pyhcl 0.4.4
requests 2.28.1
rpm 4.18.0
setuptools 62.6.0
urllib3 1.26.13
Запустить интерпретатор Python и выполнить следующий код, предварительно поменяв IP и токен
import hvac client = hvac.Client( url='http://10.10.133.71:8200', token='aiphohTaa0eeHei' ) client.is_authenticated() # Пишем секрет client.secrets.kv.v2.create_or_update_secret( path='hvac', secret=dict(netology='Big secret!!!'), ) # Читаем секрет client.secrets.kv.v2.read_secret_version( path='hvac', )
Предварительно необходимо создать файл vault.py, поместить скрипт в него и запустить:
python3 vault.py
Следующим шагом необходимо проверить, что секрет успешно записался в vault. Для этого будет выполнено два шага:
