K8S(kubernetes) 日渐火爆,但因为出自Google,对国内的用户及其的不友好。
而以前的 *.azk8s.cn
全能镜像站,也于 2020年4月2日限制了对 Azure China 以外的 IP访问,无疑又是雪上加霜 (不少生产集群应该开始跳脚了)。node
https://github.com/Azure/container-service-for-azure-china/issues/58
ps: 这么大的事件,竟然没有提早公告。。。linux
今天咱们来梳理一下,K8S在国内如何愉快的航行。
首先梳理一下国内 K8S 须要翻越的几座山。git
用于安装 docker、kubelet、kubectl、kubeadm 等软件。github
目前经常使用的K8S镜像库有docker
Linux的源镜像比较简单,这边推荐阿里的镜像源。
Docker CE: https://developer.aliyun.com/mirror/docker-ce
Kubernetes: https://developer.aliyun.com/mirror/kubernetesjson
镜像库是一个比较难找的资源,因为 *.azk8s.cn
的关闭目前 gcr.io
尚未可替代资源,如你们有相关资源能够联系我,我会添加到文章上。安全
关于 Docker Hub 国内有比较多的加速镜像源。
例如:测试
修改Docker的配置,为其添加 registry-mirrors ,须要重启docker。
配置文件路径位于 /etc/docker/daemon.json
google
{ "registry-mirrors": ["https://f1361db2.m.daocloud.io"], }
# 重启docker systemctl daemon-reload && systemctl restart docker
若是你们在生产环境使用,推荐优先使用阿里云的镜像加速器,虽然注册麻烦了一些。
这是我目前用下来较为稳定的加速器 (此处极度怀念 dockerhub.azk8s.cn )。
关于 quay.io 可用源不多,目前有以下镜像站
将镜像中的 quay.io
替换为 quay-mirror.qiniu.com
,例如:
quay.io/prometheus/node-exporter:v0.18.1 # 替换成以下格式 quay-mirror.qiniu.com/prometheus/node-exporter:v0.18.1
这两个源都不是长期稳定
七牛云目前可用, 但没有找到任何官方说明长期支持。
中科大声明有维护, 但测试后基本呈现不可用状态。
先说结果,我没有找到这两个源的通用镜像站。
这是最难的一部分,也花费了我不少时间。
k8s.gcr.io 是 gcr.io/google-containers 的别名,因此
k8s.gcr.io/<image>:<tag> == gcr.io/google-containers/<image>:<tag>
目前只有折中方案能够曲线救国,但这在使用上仍是造来的不变,没有稳定的镜像同步途径,若是你能FQ那么还好一些,若是不行不少K8S生态中的新兴技术你可能很难体验了 (tekton、knative)等,这种状况下你只能去国内镜像站找别人传上来的副本,如:阿里云第三方镜像、dockerhub等。
目前我找到了以下镜像库:
将镜像中的 k8s.gcr.io
或 gcr.io/google-containers
替换为 registry.aliyuncs.com/google_containers
或 googlecontainersmirror
,例如:
gcr.io/google-containers/kube-proxy:v1.18.0 # 替换为 registry.aliyuncs.com/google_containers/kube-proxy:v1.18.0 k8s.gcr.io/kube-proxy:v1.18.0 # 替换为 registry.aliyuncs.com/google_containers/kube-proxy:v1.18.0
gcr.io/google-containers/kube-proxy:v1.18.0 # 替换为 googlecontainersmirror/kube-proxy:v1.18.0 k8s.gcr.io/kube-proxy:v1.18.0 # 替换为 googlecontainersmirror/kube-proxy:v1.18.0
宣称能够提供镜像的站点 (经测试所有不可用):
由于现有的镜像库我没找到任何官方认证,应该是我的传上去的,咱们担忧跑在生产的K8S集群遭遇到安全问题。
对于你们来讲都是第三方同步的镜像你们能够自行选择,若是是生产用仍是推荐推到本身的镜像库来保障镜像安全。
这边取巧的利用了DockerHub加速器,拉取速度取决于加速器的速度,通常状况下很快。
Docker CE: https://developer.aliyun.com/mirror/docker-ce
Kubernetes: https://developer.aliyun.com/mirror/kubernetes
源 | 镜像 |
---|---|
Docker Hub | https://<user_code>.mirror.aliyuncs.com, https://f1361db2.m.daocloud.io, https://reg-mirror.qiniu.com, |
k8s.gcr.io | googlecontainersmirror, registry.aliyuncs.com/google_containers, |
quay.io | quay-mirror.qiniu.com, |