k8s-for-mac 无法启动问题

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



// git clone https://github.com/hummerstudio/k8s-docker-desktop-for-mac.git



注意版本
https://github.com/maguowei/k8s-docker-desktop-for-mac



cd k8s-docker-desktop-for-mac/



./load_images.sh

是 K8s 运行所需的一些 k8s.gcr.io 下的镜像,无法直接下载得到。



准备镜像
配置镜像服务
在 Preferences => Docker Engine 里,可以配置 registry-mirrors,国内可用的一些镜像服务有:



中国科大:https://docker.mirrors.ustc.edu.cn / https://ustc-edu-cn.mirror.aliyuncs.com



阿里云:https://xxxxx.mirror.aliyuncs.com,可使用阿里云账号在 这里 获得



网易云:https://hub-mirror.c.163.com



DaoCloud:http://f1361db2.m.daocloud.io



另外,中国科大还有 GCR 和 Quay 的镜像。



可添加多个镜像,如:



{ “registry-mirrors”: [ “https://xxxxx.mirror.aliyuncs.com”, “https://docker.mirrors.ustc.edu.cn”, “https://hub-mirror.c.163.com”, “http://f1361db2.m.daocloud.io” ], “debug”: true, “experimental”: true}
之后点击 Apply & Restart 应用配置。



下载镜像
在 阿里云容器服务的 GitHub 组织 下,有个 k8s-for-docker-desktop 仓库即为解决此问题而存在。解决的方式为:先从阿里云下载所需的镜像副本至本地,再将镜像 tag 修改至 k8s.gcr.io 下。



安装 K8s 对应版本的 kubeadm ,之后运行:



替换 ${KUBERNETES_VERSION} 为所使用的 K8s 版本$ ./kubeadm config images list –kubernetes-version=${KUBERNETES_VERSION}


可得到类似如下信息:



k8s.gcr.io/kube-apiserver:v1.19.3
k8s.gcr.io/kube-controller-manager:v1.19.3
k8s.gcr.io/kube-scheduler:v1.19.3
k8s.gcr.io/kube-proxy:v1.19.3
k8s.gcr.io/pause:3.2
k8s.gcr.io/etcd:3.4.13-0
k8s.gcr.io/coredns:1.7.0
也可参照这个 entrypoint.sh 中的 内容 ,或直接从 这个 定期执行的 GitHub Actions 记录中找到对应版本执行时的输出信息,如 v1.19.3 记录。



根据所得到的对应版本镜像信息,修改 images.properties 文件中内容,再执行 load_images.sh 即可。



https://blog.csdn.net/weixin_31558841/article/details/112072166



https://docs.docker.com/docker-for-mac/release-notes/



https://github.com/docker/for-mac/issues/5020



https://github.com/docker/for-mac



https://blog.csdn.net/chen801090/article/details/107108301/
https://github.com/hummerstudio/k8s-docker-desktop-for-mac
https://github.com/maguowei/k8s-docker-desktop-for-mac



https://www.bilibili.com/video/BV1w4411y7Go?p=33



$ kubectl cluster-info dump
Error from server (InternalError): an error on the server (“”) has prevented the request from succeeding (get nodes)



Apple 有一个 Virtualization.framework 可以直接启动 Linux VM 。
https://github.com/gyf304/vmcli
https://github.com/gyf304/vmcli/blob/main/vmbuilders/ubuntu.sh



https://github.com/koolshare/koolshare.github.io
https://www.bilibili.com/video/BV1w4411y7Go?p=35


Category k8s