Подключение к частному кластеру k8s: не удалось найти ни одного PEM

Подключение к частному кластеру k8s: не удалось найти ни одного PEM

У меня есть кластер Kubernetes, работающий в частном облаке. Я хочу запустить некоторые команды из другой виртуальной машины, но получаю это:

[root@runner-tmp ~]# kubectl get pods --kubeconfig local-cluster.yaml
error: tls: failed to find any PEM data in certificate input

Мой local-cluster.yaml:

apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://x.x.x.x:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    namespace: FSM
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED

Есть ли у вас какие-либо идеи, где мне следует указать этот сертификат PEM и как его сгенерировать?

решение1

Сообщение error: tls: failed to find any PEM data in certificate inputпоявляется при копировании вывода kubectl config viewна удаленную виртуальную машину.

Поэтому вместо копирования выходных данных kubectl config viewна удаленную виртуальную машину вам следует предоставить весь configфайл, который обычно присутствует в $HOME/.kube/config.

Это можно сделать, запустив scp root@<control-plane-host>:/etc/kubernetes/admin.conf .и указав этот файл --kubeconfig, например:

kubectl --kubeconfig ./admin.conf get nodes

Связанный контент