我有一个在私有云中运行的 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