我正在使用
ansible
,并且我已在我的 CertificateSigningRequest
集群中创建了一个有效的 kubernetes
。之后,我需要使用类似 kubectl certificate approve myuser
的内容来批准它,但使用 ansible
。
我可以使用
command
模块和下面的任务来完成。
- name: 'Approve csr for myuser'
ansible.builtin.command:
cmd: 'kubectl certificate approve myuser'
但也许有一些针对这种特定情况的 ansible 模块。
有可能可以在 kubernetes.core.k8s_json_patch 模块的帮助下完成,但目前我不知道如何实现。
请记住,任务应该是幂等的。
有可能可以在 kubernetes.core.k8s_json_patch 模块的帮助下完成,但目前我不知道如何实现。
您无法使用 JSON 补丁模块执行此操作,因为批准不涉及对证书请求本身进行任何更改;您需要
PUT
前往审批 API 端点。如果你运行 kubectl -v8 certificate approve <csr_name>
,你会看到:
PUT https://127.0.0.1:37451/apis/certificates.k8s.io/v1/certificatesigningrequests/<csr_name>/approval
您可以使用
uri
模块来做到这一点,但您需要自己设置身份验证标头。
正如您在问题中所示,简单地使用
kubectl
命令可能会更容易。