Сертификат подписан неизвестной ошибкой органа в конвейере Jenkins с развертыванием кластера Kubernetes - PullRequest
0 голосов
/ 20 марта 2020

При попытке развернуть микросервис с весенней загрузкой с использованием Jenkins и Kubernetes я получаю следующую ошибку:

Невозможно подключиться к серверу: x509: сертификат подписан неизвестным органом (возможно, потому что «crypto / rsa: ошибка проверки» при попытке проверить сертификат уполномоченного органа «kubernetes»)

Мой файл deploy.yaml, подобный следующему:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: spacestudysecurityauthcontrol-deployment
  labels:
    app: spacestudysecurityauthcontrol-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: spacestudysecurityauthcontrol-deployment
   template:
    metadata:
      labels:
        app: spacestudysecurityauthcontrol-deployment
      annotations: 
        date: "+%H:%M:%S %d/%m/%y"
    spec:
      imagePullSecrets:
        - name: "regcred"
      containers:
       - name: spacestudysecurityauthcontrol-deployment-container
         image: spacestudymilletech010/spacestudysecurityauthcontrol:latest
         imagePullPolicy: Always
         ports:
            - name: http
              containerPort: 8065
         readinessProbe:
          tcpSocket:
            port: 8065
          initialDelaySeconds: 5
          periodSeconds: 10
         livenessProbe:
          tcpSocket:
            port: 8065
          initialDelaySeconds: 15
          periodSeconds: 20
      nodeSelector:
          tenantName: tenant1

И мой сервис например:

apiVersion: v1
kind: Service
metadata:
  name: spacestudysecurityauthcontrol-service
spec:
  type: NodePort
  ports:
    - port: 8065
      targetPort: 8065
      protocol: TCP
      name: http
      nodePort: 31026
  selector:
    app: spacestudysecurityauthcontrol-deployment

Почему происходит эта ошибка и как я могу исправить мою реализацию?

Ответы [ 2 ]

0 голосов
/ 20 марта 2020

Это хорошо объясняется в разделе Устранение неполадок kubeadm Ошибки сертификата TLS

  • Убедитесь, что файл $HOME/.kube/config содержит действительный сертификат, и при необходимости создайте его заново. Сертификаты в файле kubeconfig имеют кодировку base64. Команда base64 --decode может использоваться для декодирования сертификата, а openssl x509 -text -noout - для просмотра информации о сертификате.
  • Сброс переменной среды KUBECONFIG с помощью:

unset KUBECONFIG

Или установите его по умолчанию KUBECONFIG местоположение:

 export KUBECONFIG=/etc/kubernetes/admin.conf
  • Другой обходной путь - перезаписать существующий kubeconfig для пользователя «admin»:

mv  $HOME/.kube $HOME/.kube.bak
mkdir $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
0 голосов
/ 20 марта 2020

Эта ошибка обычно означает, что файл kubeconfig, используемый для аутентификации на сервере API Kubernetes, имеет сертификат CA, который не может проверить сертификат сервера, представленный сервером API Kubernetes. Дважды проверьте, используете ли вы правильный файл kubeconfig, соответствующий кластеру Kubernetes, к которому вы пытаетесь подключиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...