[转帖]k8s国内镜像
k8s国内镜像
最近折腾k8s,使用kubeadm部署集群,遇到镜像下载的问题
$ kubeadm config images list
k8s.gcr.io/kube-apiserver:v1.14.1
k8s.gcr.io/kube-controller-manager:v1.14.1
k8s.gcr.io/kube-scheduler:v1.14.1
k8s.gcr.io/kube-proxy:v1.14.1
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.3.10
k8s.gcr.io/coredns:1.3.1
由于一些众所周知的原因,国内是不太容易下载k8s.gcr.io站点的镜像的,偶然发现微软做了一个k8s的镜像站点,真香
| global | proxy in China |
|---|---|
| dockerhub (docker.io) | dockerhub.azk8s.cn |
| gcr.io
k8s.gcr.io |
gcr.azk8s.cn
|
| quay.io | quay.azk8s.cn |
注意,因为k8s.gcr.io会重定向到gcr.io/google-containers,因此比如安装k8s所必须的镜像如 k8s.gcr.io/pause:3.1
需要替换成 gcr.azk8s.cn/google-containers/pause:3.1
已经使用超过一周,非常稳定。
- https://github.com/Azure/container-service-for-azure-china/blob/master/aks/README.md
- 官网介绍
Container Registry
2.1 Azure Container Registry(ACR)
Azure Container Registry(ACR) provides storage of private Docker container images, enabling fast, scalable retrieval, and network-close deployment of container workloads on Azure.
ACR does not provide public anonymous access functionality on Azure China, this feature is in public preview on global Azure.
AKS has good integration with ACR, container image stored in ACR could be pulled in AKS after Configure ACR authentication.
2.2 Container Registry Proxy
Since some well known container registries like
docker.io,gcr.ioare not accessible or very slow in China, we have set up container registry proxies on Azure China for public anonymous access:The first docker pull of new image will be still slow, and then image would be cached, would be much faster in the next docker pull action.
global proxy in China format example dockerhub(docker.io) dockerhub.azk8s.cn dockerhub.azk8s.cn/<repo-name>/<image-name>:<version>dockerhub.azk8s.cn/microsoft/azure-cli:2.0.61dockerhub.azk8s.cn/library/nginx:1.15gcr.io gcr.azk8s.cn gcr.azk8s.cn/<repo-name>/<image-name>:<version>gcr.azk8s.cn/google_containers/hyperkube-amd64:v1.13.5quay.io quay.azk8s.cn quay.azk8s.cn/<repo-name>/<image-name>:<version>quay.azk8s.cn/deis/go-dev:v1.10.0Note:
k8s.gcr.iowould redirect togcr.io/google-containers, following image urls are identical:k8s.gcr.io/pause-amd64:3.1 gcr.io/google_containers/pause-amd64:3.1Container Registry Proxy Example
specify
defaultBackend.image.repositoryasgcr.azk8s.cn/google_containers/defaultbackendin nginx-ingress chart since originalk8s.gcr.iodoes not work in Azure China:helm install stable/nginx-ingress --set defaultBackend.image.repository=gcr.azk8s.cn/google_containers/defaultbackend --set defaultBackend.image.tag=1.4
3. Install kubectl
az aks install-clicommand is used to downloadkubectlbinary, it works on Azure China from version2.0.61or later, another alternative is use following command to downloadkubectlif don't have azure-cli:# docker run -v ${HOME}:/root -v /usr/local/bin/:/kube -it dockerhub.azk8s.cn/microsoft/azure-cli:2.0.61 root@09feb993f352:/# az cloud set --name AzureChinaCloud root@09feb993f352:/# az aks install-cli --install-location /kube/kubectlrun
sudo az aks install-cliif hit following permission errorConnection error while attempting to download client ([Errno 13] Permission denied: '/usr/local/bin/kubectl'4. Install helm
Follow detailed installation steps here.
- Example:
# Install wordpress helm repo add bitnami https://charts.bitnami.com/bitnami helm install bitnami/wordpress --set global.imageRegistry=dockerhub.azk8s.cn # Install nginx-ingress helm repo add stable https://mirror.azure.cn/kubernetes/charts/ helm install stable/nginx-ingress --set defaultBackend.image.repository=gcr.azk8s.cn/google_containers/defaultbackendNote: All kubernetes related binaries on github could be found under https://mirror.azk8s.cn/kubernetes, e.g. helm, charts, etc.
5. Cluster autoscaler
Note: AKS integrated Cluster-autoscaler is not availalbe on Azure China now since it's still in Preview on Global Azure, instead following autoscaler is supported on Azure China now, it supports both VMAS and VMSS: Follow detailed steps in Cluster Autoscaler on Azure and in
Deploymentconfig ofaks-cluster-autoscaler.yaml:use
gcr.azk8s.cn/google-containers/cluster-autoscaler:versioninstead ofgcr.io/google-containers/cluster-autoscaler:versionadd following environment variable:
- name: ARM_CLOUD value: AzureChinaCloudHere is the complete
Deploymentconfig example.
Hands on
Known issues
- RBAC related issues(RABC is enabled on AKS cluster): https://github.com/andyzhangx/demo/blob/master/issues/rbac-issues.md
Tips
For production usage:
- agent VM size should have at least 8 CPU cores(e.g. D4_v2) since k8s components would also occupy CPU, memory resources on the node, details about AKS resource reservation.
- it's better set a bigger os disk size on agent VM in AKS cluster creation, e.g. set
--node-osdisk-size 128, original 30GB os disk size is not enough since all images are stored on os disk.
Links
[转帖]k8s国内镜像的更多相关文章
- google gcr.io、k8s.gcr.io 国内镜像
1.首先添加docker官方的国内镜像 sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ...
- K8S学习笔记之将Google的gcr.io、k8s.gcr.io 换为国内镜像
0x00 添加docker官方的国内镜像 sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ...
- [K8S]kubeadm国内镜像安装方式
使用国内镜像站 sudo apt-get update && sudo apt-get install -y apt-transport-https curl sudo curl -s ...
- docker学习(2) mac中docker-machine使用vmware fusion以及配置国内镜像加速
一.前言 先回顾下上一节创建docker-machine的过程,默认情况下docker toolbox中的docker-machine使用virtual box创建虚拟机,KI首次启动时创建虚拟机的过 ...
- 同步、更新、下载Android Source & SDK from 国内镜像站(转载)
同步.更新.下载Android Source & SDK from 国内镜像站 转自: 同步.更新.下载Android Source & SDK from 国内镜像站 Download ...
- Docker - Docker国内镜像的配置及使用
Docker国内镜像 DaoCloud - Docker加速器 阿里云 - 开发者平台 微镜像 - 希云cSphere 镜像广场 - 时速云 灵雀云 网易蜂巢 阿里云的Docker加速器 阿里云 - ...
- 使用国内镜像加速下载Android SDK
本文转自:http://blog.kuoruan.com/24.html.感谢原作者. 什么是Android SDK SDK:(software development kit)软件开发工具包.被软件 ...
- 腾讯bugly团队提供的android国内镜像
腾讯bugly团队提供的国内镜像 如果使用Android SDK Manager下载比较慢或者打不开,可以使用国内镜像 使用说明 http://android-mirror.bugly.qq.co ...
- eclipse使用国内镜像站点安装插件
把eclipse 4.x的界面改为经典样式 打开eclipse,菜单栏>windows>preference>general>appearance>theme>cl ...
随机推荐
- luogu 1373 小a和uim之大逃离 dp
有取模操作,所以直接维护模意义下的差即可. Code: #include <bits/stdc++.h> #define M 16 #define N 801 #define ll lon ...
- Crash的数字表格 / JZPTAB
https://www.cnblogs.com/peng-ym/p/8666124.html #include<bits/stdc++.h> #define LL long long #d ...
- CSP-S 模拟测试57题解
人生第一次A,B层一块考rank2,虽然说分差没几分,但还是值得纪念. 题解: T1 天空龙: 大神题,因为我从不写快读也没有写考场注释的习惯,所以不会做,全hzoi就kx会做,kx真大神级人物. T ...
- 北京清北 综合强化班 Day5
T1 思路: 输入数据,sort一下, 如果a[i]>sum+1(前缀和) 那么sum+1就一定不会被拼出来, 然后输出即可. 上代码: #include <iostream> #i ...
- 2017.9.23 NOIP2017 金秋杯系列模拟赛 day1 T1
回形遍历( calc .cpp/c/pas) 时间限制:1s内存 限制: 256MB [问题 描 述] 给出一个 n*m 的棋盘,按如下方式遍历,请问(x,y)往后 z 步走到的是哪个格子. [输入] ...
- php 一段 shmop
$size = 1024*1024; $shm_key = ftok(__FILE__, 't'); $shm_id = shmop_open($shm_key, "c", 064 ...
- CF280C
CF280C ZR补题计划 题意: 一棵有根树,每次选择一个未删除的节点,然后删除它和它的子树内的点,问期望删多少次可以把整个树删完 解析: 显然,通过题面,我们可以知道对于一个点对 $ (u,v) ...
- 【redis 学习系列08】Redis小功能大用处02 Pipeline、事务与Lua
3.Pipeline 3.1 Pipeline概念 Redis客户端执行一条命令分为如下四个过程: (1)发送命令 (2)命令排队 (3)命令执行 (4)返回结果 其中(1)和(4)称为Round T ...
- css 添加一个图标始终保持在pc端的右下角
<div class="dialog_maxdiv" style="display:block;"> <div id="center ...
- easyUI之Pagination(分页)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...