docker/kubernetes国内源/镜像源解决方式
<p>最近在使用kubeadm时,被各种连接不上搞到崩溃。费了很多力气,基本都解决了。这里统一整理了国内的一些镜像源,apt源,kubeadm源等,以便查阅。</p><h2 id="国内镜像源">国内镜像源</h2>
<p>Azure China提供了目前用过的质量最好的镜像源。无论是速度还是覆盖范围。而且都支持匿名拉取,也就是不需要登录。这点特别友好。</p>
<p>这里,我开发了一个小的脚本azk8spull,这个脚本可以自动根据镜像名称进行解析,转换为azure的mirror镜像源域名。并进行拉取。拉取完成后会自动进行tag重命名为原本的镜像名。该脚本已经开源在 https://github.com/xuxinkun/littleTools#azk8spull 上。以下是样例。</p>
<pre><code># azk8spull quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.24.1
## azk8spull try to pull image from mirror quay.azk8s.cn/kubernetes-ingress-controller/nginx-ingress-controller:0.24.1.
0.24.1: Pulling from kubernetes-ingress-controller/nginx-ingress-controller
Digest: sha256:76861d167e4e3db18f2672fd3435396aaa898ddf4d1128375d7c93b91c59f87f
Status: Image is up to date for quay.azk8s.cn/kubernetes-ingress-controller/nginx-ingress-controller:0.24.1
## azk8spull try to tag quay.azk8s.cn/kubernetes-ingress-controller/nginx-ingress-controller:0.24.1 to quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.24.1.
## azk8spull finish pulling.
# azk8spull k8s.gcr.io/pause-amd64:3.1
## azk8spull try to pull image from mirror gcr.azk8s.cn/google_containers/pause-amd64:3.1.
3.1: Pulling from google_containers/pause-amd64
Digest: sha256:59eec8837a4d942cc19a52b8c09ea75121acc38114a2c68b98983ce9356b8610
Status: Image is up to date for gcr.azk8s.cn/google_containers/pause-amd64:3.1
## azk8spull try to tag gcr.azk8s.cn/google_containers/pause-amd64:3.1 to k8s.gcr.io/pause-amd64:3.1.
## azk8spull finish pulling.
</code></pre>
<p>azk8s.cn支持的镜像转换如下列表。</p>
<table>
<thead>
<tr>
<th>global</th>
<th>proxy in China</th>
<th>format</th>
<th>example</th>
</tr>
</thead>
<tbody>
<tr>
<td>dockerhub (docker.io)</td>
<td>dockerhub.azk8s.cn</td>
<td><code>dockerhub.azk8s.cn/<repo-name>/<image-name>:<version></code></td>
<td><code>dockerhub.azk8s.cn/microsoft/azure-cli:2.0.61</code> <code>dockerhub.azk8s.cn/library/nginx:1.15</code></td>
</tr>
<tr>
<td>gcr.io</td>
<td>gcr.azk8s.cn</td>
<td><code>gcr.azk8s.cn/<repo-name>/<image-name>:<version></code></td>
<td><code>gcr.azk8s.cn/google_containers/hyperkube-amd64:v1.13.5</code></td>
</tr>
<tr>
<td>quay.io</td>
<td>quay.azk8s.cn</td>
<td><code>quay.azk8s.cn/<repo-name>/<image-name>:<version></code></td>
<td><code>quay.azk8s.cn/deis/go-dev:v1.10.0</code></td>
</tr>
</tbody>
</table>
<blockquote>
<p>Note:<br>
<code>k8s.gcr.io</code> would redirect to <code>gcr.io/google-containers</code>, following image urls are identical:</p>
</blockquote>
<pre><code>k8s.gcr.io/pause-amd64:3.1
gcr.io/google_containers/pause-amd64:3.1
</code></pre>
<h2 id="debian-apt源">debian apt源</h2>
<p>debian的apt的国内源更换为163的源,可以显著加速。</p>
<pre><code>mv /etc/apt/sources.list /etc/apt/sources.list.bak
# 换下源
echo "deb http://mirrors.163.com/debian/ stretch main non-free contrib
deb http://mirrors.163.com/debian/ stretch-updates main non-free contrib
deb http://mirrors.163.com/debian/ stretch-backports main non-free contrib
deb-src http://mirrors.163.com/debian/ stretch main non-free contrib
deb-src http://mirrors.163.com/debian/ stretch-updates main non-free contrib
deb-src http://mirrors.163.com/debian/ stretch-backports main non-free contrib
deb http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib
deb-src http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib" > /etc/apt/sources.list
</code></pre>
<h2 id="kubeadm源">kubeadm源</h2>
<p>kubeadm直接使用阿里云的源即可。速度也比较快。</p>
<pre><code># Debian/Ubuntu
apt-get update && apt-get install -y apt-transport-https
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
# CentOS/RHEL/Fedora
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
setenforce 0
yum install -y kubelet kubeadm kubectl
</code></pre>
<h2 id="参考链接">参考链接</h2>
<ul>
<li>Docker Registry Proxy Cache 帮助 http://mirror.azure.cn/help/docker-registry-proxy-cache.html</li>
<li>Azure Chinae container registry proxy https://github.com/Azure/container-service-for-azure-china/tree/master/aks#22-container-registry-proxy</li>
<li>k8s for China https://github.com/maguowei/kubernetes-for-china</li>
</ul>
</div>
<div id="MySignature" role="contentinfo">
<table style="background: rgb(230, 250, 230); padding: 10px 10px 10px 10px; border: 1px dashed rgb(224, 224, 224); font-family: 微软雅黑; font-size: 13px">
<tbody><tr><td>
作者:xuxinkun <br>
出处:xinkun的博客 <br>
链接:https://www.cnblogs.com/xuxinkun/ <br>
本文版权归作者所有,欢迎转载。<br>
未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 <br>
欢迎扫描右侧二维码关注微信公众号<b>xinkun的博客</b>进行订阅。也可以通过微信公众号留言同作者进行交流。
</td> <td>
<img height="150" width="150" src="https://www.cnblogs.com/images/cnblogs_com/xuxinkun/1412856/o_xinkunblog.jpg">
</td>
</tr></tbody></table><br><br>
来源:https://www.cnblogs.com/xuxinkun/p/11025020.html
頁:
[1]