微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ansible 从文件创建 kubernetes 机密

如何解决Ansible 从文件创建 kubernetes 机密

是否可以在 ansible 中从文件创建和 k8s 机密?

目前,我是这样做的,但它只在第一次运行时有效,因为如果我再次运行剧本,它会说秘密已经存在

- name: generate keypair 
  openssh_keypair:
    path: /srv/{{item.namespace}}/id_{{item.name}}_rsa  
  when: item.additional_keys == true
  loop: "{{ containers_release }}"

- name: create private key secret for auth api
  shell: kubectl -n {{ item.namespace }} create secret generic id-{{ item.name }}-rsa-priv --from-file=/srv/{{ item.namespace }}/id_authapi_rsa
  when: item.additional_keys == true
  loop: "{{ containers_release }}"

- name: create public key secret for {{ item.name }}
  shell: kubectl -n {{ item.namespace }} create secret generic id-{{ item.name }}-rsa-pub --from-file=/srv/{{ item.namespace }}/id_{{ item.name }}_rsa.pub
  when: item.additional_keys == true
  loop: "{{ containers_release }}"

解决方法

正如我在评论部分提到的,ansible 是幂等的。如果配置已经到位,ansible 在重新部署后不会做任何更改。这就是为什么再次运行 playbook 后,您再次获取 playbook 的原因是它说该秘密已经存在的信息。

看一看:create-secret-with-ansible

您可以尝试使用 SecretHub

参见:ansible-playbook-secret

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。