如何在 kubespray 部署中设置 API 服务器参数

How to set API Server parameters on kubespray deployment

我正在使用 kubespray 部署 kubernetes 集群,并且 想要为部署设置一些 API 服务器参数。具体来说,我想通过 OpenID Connect 配置身份验证(例如设置 oidc-issuer-url parameter). I saw that kubespray has some vars to set (https://github.com/kubernetes-sigs/kubespray/blob/master/docs/vars.md),但不是我正在寻找的那些。

有没有办法通过 kubespray 设置这些参数?我不想手动配置每个主机(例如通过编辑 /etc/kubernetes/manifests/kube-apiserver.yaml 文件)。

感谢您的帮助

在您所指的页面底部,描述了如何为 k8s 的各种组件定义自定义标志:

kubelet_custom_flags:
  - "--eviction-hard=memory.available<100Mi"
  - "--eviction-soft-grace-period=memory.available=30s"
  - "--eviction-soft=memory.available<300Mi"

可能的变量是:

apiserver_custom_flags
controller_mgr_custom_flags
scheduler_custom_flags
kubelet_custom_flags
kubelet_node_custom_flags

k8s-cluster.yml 文件有一些允许设置 OID 配置的参数:

kube_oidc_auth: true
...
kube_oidc_url: https:// ...
kube_oidc_client_id: kubernetes
kube_oidc_ca_file: "{{ kube_cert_dir }}/ca.pem"
kube_oidc_username_claim: sub
kube_oidc_username_prefix: oidc:
kube_oidc_groups_claim: groups
kube_oidc_groups_prefix: oidc:

这些参数是 oidc api server parameters

的对应部分