プライベート 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したがって、 の出力をリモート VM にコピーする代わりに、configに通常存在するファイル全体を提供する必要があります$HOME/.kube/config

scp root@<control-plane-host>:/etc/kubernetes/admin.conf .を実行してから、このファイルを次のように提供することで実行できます--kubeconfig

kubectl --kubeconfig ./admin.conf get nodes

関連情報