如何使用ansible批准kubernetes证书签名请求

问题描述 投票:0回答:1

我正在使用

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 ansible
1个回答
0
投票

有可能可以在 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
命令可能会更容易。

© www.soinside.com 2019 - 2024. All rights reserved.