Вы можете использовать basi c auth для http или сертификат для https. Когда сервер kube api связывается с webhook, он предоставляет сертификат клиента веб-серверу webhook для аутентификации. Вам необходимо иметь cacert в вашем веб-сервере webhook для успешной аутентификации сервера kuernetes api. Тот же самый код, который вы должны будете использовать для генерации сертификата клиента и добавления этого сертификата клиента в файл kubeconfig.
Basi c Auth:
apiVersion: v1
kind: Config
preferences: {}
clusters:
- name: example-cluster
cluster:
server: http://10.1.35.4
users:
- name: example-user
user:
username: some-user
password: some-password
contexts:
- name: example-context
context:
cluster: example-cluster
user: example-user
current-context: example-context
Сертификат:
apiVersion: v1
kind: Config
preferences: {}
clusters:
- name: example-cluster
cluster:
server: https://10.1.35.4
users:
- name: example-user
user:
client-certificate-data: <redacted>
client-key-data: <redacted>
contexts:
- name: example-context
context:
cluster: example-cluster
user: example-user
current-context: example-context