5

前言

最近在阿里云上面购买了k8s集群,想在本地kubectl连接,期间遇到好多问题,记录下来分享给大家。

问题一:本地没有~/.kube目录?

我的电脑环境是mac,按照阿里云ACK提供的配置信息如下:

通过 kubectl 连接 Kubernetes 集群[通过 CloudShell 管理集群](javascript:;)

2. 安装和设置 kubectl 客户端。有关详细信息请参见 [安装和设置 kubectl](https://kubernetes.io/docs/tasks/kubectl/install/)。

3. 配置集群凭据:
将以下内容复制到计算机 $HOME/.kube/config 目录下。
......
配置完成后,即可使用 kubectl 从计算机访问 Kubernetes 集群。

但是,我发现我本机并没有发现目录~/.kube,到网上找了好多文章都没有很好的解释,关键是我已经安装了docker,偶然间发现了docker的kubernetes配置,如图:
image.png

我点击之后立马就出现了~/.kube目录,这样就解决了问题一!

问题二:Docker Kubernetes一直处于Starting?

问题一的时候我点击Enable Kubernetes之后就一直出现Starting,如下:
于是到网上找各种资料,最终解决方式如下,

1、卸载docker(看具体情况)
卸载之后别忘了配置阿里源

{
  "experimental": true,
  "debug": true,
  "registry-mirrors": [
    "https://xxx.mirror.aliyuncs.com"
  ]
}

2、查看hosts

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

#Added by Docker Desktop
#To allow the same kube context to work on the host and the container:
127.0.0.1 kubernetes.docker.internal
#End of section

3、删除相关文件

rm -rf ~/.docker
rm -rf ~/.kube
rm -rf ~/Library/Group\ Containers/group.com.docker/pki/

4、安装相关images文件
k8s-for-docker-desktop上面clone项目,在 Mac 上执行如下脚本,

./load_images.sh

5、安装完成后,重启Docker和Kubernetes等待时间完成即可
image.png

image.png

总结

1、kubernetes一直处于Starting是因为相关Images没有下载完全,我们之所以用别人的k8s-for-docker-desktop来安装就是这个原因,安装好重启等待几分钟就好
2、如果你有两个及以上的k8s集群,那么只需要把连接信息直接追加到~/.kube/config里面即可使用
3、如果你是在Linux安装了kubeadm,那么可以使用如下命令列举出相关的依赖镜像:

kubeadm config images list

image.png
然后你再逐个到docker hub上面pull下来

引用

【已解决】docker desktop 2.3.7 kubernetes(k8s)v1.18.8一直处于starting状态解决方法

macos docker 一直处于 kubernetes starting状态解决办法(当试过各种方法无用时,此方法有效)


Awbeci
3.1k 声望212 粉丝

Awbeci