"No resources found" 来自 kubectl 获取远程集群

"No resources found" from kubectl get for remote cluster

我已经为涉及 Docker Mac 附带的本地 Kubernetes 和使用 Minikube 的远程集群的多集群设置配置了 kubectl。当我将上下文切换到我的远程集群时,kubectl 找不到任何资源,如 pods 或服务。我在哪里可以查看日志以了解更多信息?如果我 运行 kubectl 在实际的远程机器上,我确实看到了资源。

当我执行 kubectl version 我得到这个:

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.11", GitCommit:"637c7e288581ee40ab4ca210618a89a555b6e7e9", GitTreeState:"clean", BuildDate:"2018-11-26T14:38:32Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.3", GitCommit:"721bfa751924da8d1680787490c54b9179b1fed0", GitTreeState:"clean", BuildDate:"2019-02-01T20:00:57Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}

kubectl get componentstatus returns:

NAME                 STATUS    MESSAGE              ERROR
scheduler            Healthy   ok                   
controller-manager   Healthy   ok                   
etcd-0               Healthy   {"health": "true"}

kubectl cluster-info returns:

Kubernetes master is running at https://remote-cluster-ip:8443
KubeDNS is running at https://remote-cluster-ip:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

执行 kubectl cluster-info dump 会产生大量输出。

我按照这些步骤让 Minikube 工作并成功部署了一个示例应用程序。 https://kubernetes.io/docs/setup/minikube/

我按照以下步骤进行多集群配置: https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/

我将所有 crt 和密钥文件从 .minikube 复制到我的本地计算机以用于配置。这是我编辑过的配置:

apiVersion: v1
clusters:
- cluster:
    insecure-skip-tls-verify: true
    server: https://localhost:6443
  name: docker-for-desktop-cluster
- cluster:
    insecure-skip-tls-verify: true
    server: https://remote-cluster-ip:8443
  name: remote-cluster
contexts:
- context:
    cluster: docker-for-desktop-cluster
    user: docker-for-desktop
  name: docker-for-desktop
- context:
    cluster: remote-cluster
    namespace: remote-cluster
    user: minikube
  name: remote-cluster
current-context: remote-cluster
kind: Config
preferences: {}
users:
- name: docker-for-desktop
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
- name: minikube
  user:
    client-certificate: /path/to/local/client.crt
    client-key: /path/to/local/client.key

运行 kubectl get pods --all-namespaces 检查您是否可以在所有命名空间中看到 pods。 如果您看到 pods 是 运行,那么您必须为当前上下文设置默认名称空间,即

kubectl config set-context <remote-context-name> --namespace=default