Сертификат кластера K3S - PullRequest
0 голосов
/ 05 мая 2020

Я использую кластер K3S в контейнере docker (- compose) в моем конвейере CI / CD, чтобы протестировать код моего приложения. Однако у меня проблема с сертификатом кластера. Мне нужно общаться в кластере, используя внешние адреса. Мой сценарий docker -compose выглядит следующим образом:

version: '3'
services:
  server:
    image: rancher/k3s:v0.8.1
    command: server --disable-agent 
    environment:
    - K3S_CLUSTER_SECRET=somethingtotallyrandom
    - K3S_KUBECONFIG_OUTPUT=/output/kubeconfig.yaml
    - K3S_KUBECONFIG_MODE=666
    volumes:
    - k3s-server:/var/lib/rancher/k3s
    # get the kubeconfig file
    - .:/output
    ports:
#    - 6443:6443
     - 6080:6080
     - 192.168.2.110:6443:6443

  node:
    image: rancher/k3s:v0.8.1
    tmpfs:
    - /run
    - /var/run
    privileged: true
    environment:
    - K3S_URL=https://server:6443
    - K3S_CLUSTER_SECRET=somethingtotallyrandom
    ports:
      - 31000-32000:31000-32000

volumes:
  k3s-server: {}

доступ к кластеру из python дает мне

MaxRetryError: HTTPSConnectionPool(host='192.168.2.110', port=6443): Max retries exceeded with url: /apis/batch/v1/namespaces/mlflow/jobs?pretty=True (Caused by SSLError(SSLCertVerificationError("hostname '192.168.2.110' doesn't match either of 'localhost', '172.19.0.2', '10.43.0.1', '172.23.0.2', '172.18.0.2', '172.23.0.3', '127.0.0.1', '0.0.0.0', '172.18.0.3', '172.20.0.2'")))

Вот мои два (три) вопроса

  • как я могу добавить дополнительные IP-адреса к генерации сертификатов? Я надеялся, что --bind-address в команде сервера запускает taht
  • как я могу вернуться к http, предоставляя --http-listen-port, не достиг ожидаемого результата
  • любое другое предложение, как я могу включить связь с кластером

изменение кода python на самом деле не вариант, поскольку я хотел бы оставить код неизменным для тестирования. (Откат на http работает через kubeconfig.

1 Ответ

0 голосов
/ 10 мая 2020

Решение - использовать параметр tls-san

server --disable-agent --tls-san 192.168.2.110
...