chemtech
@chemtech
Линуксойд, DevOps

Как исправить ошибку x509: certificate signed by unknown authority при использовании helm на rancher?

Добрый день!
Использую rancher, в нем развернут Kubernetes.
С помощью gitlab-ci пытаюсь развернуть там приложения
Ниже конфиг kubernetes
apiVersion: v1
kind: Config
clusters:
- name: "kubernetes-apatsev"
  cluster:
    server: "https://rancher.xxx/k8s/clusters/c-z68kj"
    insecure-skip-tls-verify: true
    api-version: v1
    certificate-authority-data: "............"

users:
- name: "u-qwqsh"
  user:
    token: "kubeconfig-u-qwqsh:......"

contexts:
- name: "kubernetes-apatsev"
  context:
    user: "u-qwqsh"
    cluster: "kubernetes-apatsev"

current-context: "kubernetes-apatsev"


В gitlab-ci выполняю:

- echo | openssl s_client -servername rancher.xxxx -connect yyyy:443 2>/dev/null | openssl x509 -noout -dates
    - kubectl -n $NAMESPACE get pod


Выдает ошибку:
Error: could not get Kubernetes client: specifying a root certificates file with the insecure flag is not allowed


Если не использовать строку insecure-skip-tls-verify: true, то
helm install stable/postgresql .....
выдаст ошибку:
Error: Get https://rancher.xxxxx/k8s/clusters/c-z68kj/api/v1/namespaces/kube-system/pods?labelSelector=app%3Dhelm%2Cname%3Dtiller: x509: certificate signed by unknown authority


Как исправить ошибку?
  • Вопрос задан
  • 8842 просмотра
Решения вопроса 1
chemtech
@chemtech Автор вопроса
Линуксойд, DevOps
Пытался подключится к kubernetes в rancher через балансер
``
server: "https://rancher.xxx.xxxx.xxx/k8s/clusters/c-z68kj"
``
выдает ошибку
``
kubectl get pod
Unable to connect to the server: x509: certificate signed by unknown authority
``

пытаюсь подключится к kubernetes в rancher напрямую
``
server: "https://xx.xx.xx.xx/k8s/clusters/c-z68kj"
``
не выдает ошибку
``
kubectl get pod
NAME READY STATUS RESTARTS AGE
gitlab-runner-79855d987d-ljk6t 1/1 Running 0 26d
gitlab-runner-79855d987d-qb2vw 1/1 Running 0 37d
gitlab-runner-79855d987d-wnkrl 1/1 Running 0 37d
``
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
MindPhaser34
@MindPhaser34
Системный администратор, DevOps
мне помогло:
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
Ответ написан
Комментировать
SignFinder
@SignFinder
Wintel\Unix Engineer\DevOps
Нужно использовать параметр tls-san для кластеров и задавать в нем ваш домен или домены
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы