连接到私有 k8s 集群:找不到任何 PEM

连接到私有 k8s 集群:找不到任何 PEM

我有一个在私有云中运行的 Kubernetes 集群。我想从另一个 VM 运行一些命令,但收到以下信息:

[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到远程 VM时会出现消息。

因此,您不应该将输出复制kubectl config view到远程虚拟机,而应该提供config通常存在于的整个文件$HOME/.kube/config

您可以通过运行scp root@<control-plane-host>:/etc/kubernetes/admin.conf .然后将此文件提供为来完成此操作--kubeconfig,例如:

kubectl --kubeconfig ./admin.conf get nodes

相关内容