K8S проверяет бэкэнд Webhook - как обрабатывать аутентификацию? - PullRequest
0 голосов
/ 19 января 2020

Я создал машину с Ubuntu, которая будет получать журнал аудита из моего кластера. Я создал файл конфигурации для настройки бэкенда webhook для аудита k8s.

apiVersion: v1
kind: Config
clusters:
- cluster:
    server: http://34.68.115.34
  name: webcluster
contexts:
- context:
    cluster: webcluster
    user: ""
  name: default-context
current-context: default-context
preferences: {}
users: []

Я не нашел ни одной опции для настройки соответствующей аутентификации в случае использования https. какое решение для этого?

1 Ответ

1 голос
/ 19 января 2020

Вы можете использовать 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
...