我在 Docker Desktop v4.18 for Mac 中启用了 Kubernetes 选项并尝试访问它。根据 Docker Dashboard,它启动成功,但是“Kubernetes”菜单项在 Docker 中仍然处于非活动状态:
当我做
kubectl cluster-info
我得到:
The connection to the server localhost:8080 was refused - did you specify the right host or port?
这个错误通常指向 Kubernetes 的配置文件丢失的错误。我的猜测得到了证实:
kubectl config view
,结果为空:
apiVersion: v1
clusters: null
contexts: null
current-context: ""
kind: Config
preferences: {}
users: null
我检查配置文件仍然驻留在我的用户文件夹 -> “.kube/config” 并且看起来有效:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: %INFO SKIPPED%
server: https://127.0.0.1:6443
name: docker-desktop
contexts:
- context:
cluster: docker-desktop
user: docker-desktop
name: docker-desktop
current-context: docker-desktop
kind: Config
preferences: {}
users:
- name: docker-desktop
user:
client-certificate-data: %INFO SKIPPED%
client-key-data: %INFO SKIPPED%
根据这里的建议,我设置了环境变量,这使得一切正常,直到重启: 终端 ->
export KUBECONFIG=/Users/Rage/.kube/config
,所以现在我通过 kubectl cluster-info
获得有效信息,直到重新启动。
那么我需要在 Docker Desktop 或此处的 Kubernate 实例中修复什么才能使其正常工作? 我尝试在 Docker Desktop 本身中“启用/禁用 Kubernates”选项,“重置 Kubernetes 集群”,在 Docker 中“重置”所有选项,然后完全卸载、重启,然后再次安装 Docker。如果没有成功,我可能会补充。
如果您有克服这个问题的经验,请分享您的想法。 谢谢!
根据 Denver Peterson,
重置为出厂默认设置终于解决了我的问题。
从下拉菜单或首选项中选择疑难解答,然后单击错误。
然后选择重置为出厂默认设置。
显然这是一个破坏性的解决方案,所以要小心使用。
除了这个问题,freedev也提供了一个解决方案,
停止 docker 桌面 删除文件夹
~/Library/Group\ Containers/group.com.docker/pki
rm -rf ~/Library/Group\ Containers/group.com.docker/pki
为桌面启动 docker
在这里找到解决方案
我将添加 reference 这个问题的额外修复。