"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
我已经为涉及 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