Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
devops:hashicorp_vault_workflow [2020/08/12 22:42] – [Автоматическое обновление сертификатов с помощью consul-template] admindevops:hashicorp_vault_workflow [2020/08/13 10:21] – [Автоматическое обновление сертификатов с помощью consul-template] admin
Line 294: Line 294:
   * в деплойменте прикладного пода (nginx) прописываются два дополнительных контейнера. Первый - init-контейнер vault-agent, который берет конфигурацию из конфигмапа и получает токен. Этот токен в дальнейшем использует второй контейнер - consul-template, который занимается тем, что обновляет данные в соответствии с темплейтом записаным в конфигмап. Обновленные данные он кладет в папку, которая смонтирована в него и в прикладной под с nginx.   * в деплойменте прикладного пода (nginx) прописываются два дополнительных контейнера. Первый - init-контейнер vault-agent, который берет конфигурацию из конфигмапа и получает токен. Этот токен в дальнейшем использует второй контейнер - consul-template, который занимается тем, что обновляет данные в соответствии с темплейтом записаным в конфигмап. Обновленные данные он кладет в папку, которая смонтирована в него и в прикладной под с nginx.
   * Для того, чтобы все работало в Vault должна быть заведена политика, которая бы разрешала доступ для заданной роли в путь, где выпускаются сертификаты.   * Для того, чтобы все работало в Vault должна быть заведена политика, которая бы разрешала доступ для заданной роли в путь, где выпускаются сертификаты.
-Создадим файл политики:+Создадим файл политики, которая разрешить выпуск сертификатов с помощью промежуточного CA:
 <code>tee cert_issue_policy.hcl <<EOF <code>tee cert_issue_policy.hcl <<EOF
 path "pki_int/issue/*" { path "pki_int/issue/*" {
Line 300: Line 300:
 } }
 EOF</code> EOF</code>
-скопируем его в **vault**:+скопируем файл политики в **vault**:
   kubectl -n vault cp cert_issue_policy.hcl vault-0:/tmp/   kubectl -n vault cp cert_issue_policy.hcl vault-0:/tmp/
-и создадим с его помощью политику:+и создадим с него помощью политику:
   kubectl -n vault exec -it vault-0 -- vault policy write cert-issue-policy /tmp/cert_issue_policy.hcl   kubectl -n vault exec -it vault-0 -- vault policy write cert-issue-policy /tmp/cert_issue_policy.hcl
-а также - создаим роль в vault:+а также - создадим роль в **vault**, которую привяжем к ServiceAccount (с правами которого будет работать pod) и назначим этой роли созданную ранее политику, разрешающую выпуск сертов:
   kubectl -n vault exec -it vault-0 -- vault write auth/kubernetes/role/cert-issue-role bound_service_account_names=vault-auth bound_service_account_namespaces=vault policies=cert-issue-policy ttl=24h   kubectl -n vault exec -it vault-0 -- vault write auth/kubernetes/role/cert-issue-role bound_service_account_names=vault-auth bound_service_account_namespaces=vault policies=cert-issue-policy ttl=24h
 +  
 +https://www.tecmint.com/find-process-name-pid-number-linux/ \\
 +https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/ \\
  • devops/hashicorp_vault_workflow.txt
  • Last modified: 2020/08/13 19:48
  • by admin