文档章节

在阿里云创建Kubernetetes-1.11.0镜像服务(高速)

openthings
 openthings
发布于 07/09 21:36
字数 901
阅读 558
收藏 5

在阿里云创建Kubernetetes-1.11.0镜像服务(高速)

Kubernetetes镜像在国内无法直接访问,导致安装费时、容易出错、难以排查。可以将其抓取到阿里云上面,提前拉取(docker pull)到本地,然后再运行kubeadm安装程序,就要快很多了。

1、拉取镜像

  • 这里(registry.cn-hangzhou.aliyuncs.com/openthings)有拉取好的,可以运行下面的脚本(上面的链接)就直接pull到本地(速度很快):
echo ""
echo "=========================================================="
echo "Pull Kubernetes 1.11.0 Images from aliyuncs.com ......"
echo "=========================================================="
echo ""

MY_REGISTRY=registry.cn-hangzhou.aliyuncs.com/openthings

## 拉取镜像
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver-amd64:v1.11.0
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager-amd64:v1.11.0
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler-amd64:v1.11.0
docker pull ${MY_REGISTRY}/k8s-gcr-io-kube-proxy-amd64:v1.11.0
docker pull ${MY_REGISTRY}/k8s-gcr-io-etcd-amd64:3.2.18
docker pull ${MY_REGISTRY}/k8s-gcr-io-pause-amd64:3.1
docker pull ${MY_REGISTRY}/k8s-gcr-io-coredns:1.1.3

## 添加Tag
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver-amd64:v1.11.0 k8s.gcr.io/kube-apiserver-amd64:v1.11.0
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler-amd64:v1.11.0 k8s.gcr.io/kube-scheduler-amd64:v1.11.0
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager-amd64:v1.11.0 k8s.gcr.io/kube-controller-manager-amd64:v1.11.0
docker tag ${MY_REGISTRY}/k8s-gcr-io-kube-proxy-amd64:v1.11.0 k8s.gcr.io/kube-proxy-amd64:v1.11.0
docker tag ${MY_REGISTRY}/k8s-gcr-io-etcd-amd64:3.2.18 k8s.gcr.io/etcd-amd64:3.2.18
docker tag ${MY_REGISTRY}/k8s-gcr-io-pause-amd64:3.1 k8s.gcr.io/pause-amd64:3.1
docker tag ${MY_REGISTRY}/k8s-gcr-io-coredns:1.1.3 k8s.gcr.io/coredns:1.1.3

echo ""
echo "=========================================================="
echo "Pull Kubernetes 1.11.0 Images FINISHED."
echo "into registry.cn-hangzhou.aliyuncs.com/openthings, "
echo "           by openthings@https://my.oschina.net/u/2306127."
echo "=========================================================="

echo ""

保存为aliyun-get-kubeimages-1.11.0.sh,复制上面内容进去,然后运行即可。

2、安装Kubernetes

安装Kubernetes1.11.0(下面以Ubuntu16.04.03LTS为准),如下:

第一步,安装Kubeadm:

echo "添加Kubernetes安装源认证key:"
sudo curl -sSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add

echo "添加Kubernetes安装源:"
sudo echo deb http://apt.kubernetes.io/ kubernetes-xenial main > /etc/apt/sources.list.d/kubernetes.list

echo "更新系统软件包列表:"
sudo apt update

echo "查看Kubernetes的可用版本:"
apt-cache madison kubeadm

echo "安装kubeadm 1.11.0: "
apt-get install -y kubeadm=1.11.0-00 kubectl=1.11.0-00 kubelet=1.11.0-00

第二步,通过kubeadm安装Kubernetes1.11.0:


echo ""
echo "=========================================================="
echo "Setup Kubernetes Cluster 1.11.0 using kubeadm......"
echo ""
echo "Please visit https://my.oschina.net/u/2306127/blog/1628082"
echo "=========================================================="
echo ""

echo "Close Swap, K8S required."
sudo swapoff -a
echo "请sudo nano /etc/fstab中永久删除或关闭swap分区,使用 # 注释掉即可。"
echo ""

echo "Close IPTable,K8S required."
sudo iptables -F
echo ""

echo ""
echo "Setup Kubernetes Cluster using kubeadm..."
sudo kubeadm init --kubernetes-version=v1.11.0 –pod-network-cidr 10.244.0.0/16 --feature-gates CoreDNS=true
echo ""

echo "Install flannel CNI network driver..."
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
echo ""

echo "Kubernetes status..."
kubectl get pod --all-namespaces
echo ""

echo "=========================================================="
echo "Please visit https://my.oschina.net/u/2306127/blog/1628082"
echo "=========================================================="
echo ""

3、构建自己的镜像库

  • 创建aliyun上的k8s镜像脚本如下,如果想自己做一个镜像库,可以拷下去自己修改:

echo ""
echo "=========================================================="
echo "Push Kubernetes 1.11.0 Images into aliyuncs.com ......"
echo "=========================================================="
echo ""

echo "docker tag to openthings ..."

## 添加Tag for registry.cn-hangzhou.aliyuncs.com/openthings

MY_REGISTRY=registry.cn-hangzhou.aliyuncs.com/openthings

docker tag k8s.gcr.io/kube-apiserver-amd64:v1.11.0 ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver-amd64:v1.11.0 
docker tag k8s.gcr.io/kube-scheduler-amd64:v1.11.0 ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler-amd64:v1.11.0
docker tag k8s.gcr.io/kube-controller-manager-amd64:v1.11.0 ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager-amd64:v1.11.0 
docker tag k8s.gcr.io/kube-proxy-amd64:v1.11.0 ${MY_REGISTRY}/k8s-gcr-io-kube-proxy-amd64:v1.11.0 
docker tag k8s.gcr.io/etcd-amd64:3.2.18 ${MY_REGISTRY}/k8s-gcr-io-etcd-amd64:3.2.18 
docker tag k8s.gcr.io/pause-amd64:3.1 ${MY_REGISTRY}/k8s-gcr-io-pause-amd64:3.1 
docker tag k8s.gcr.io/coredns:1.1.3 ${MY_REGISTRY}/k8s-gcr-io-coredns:1.1.3 

echo ""
echo "=========================================================="
echo ""

## Push镜像
echo ""
echo "1.k8s-kube-apiserver-amd64"
docker push ${MY_REGISTRY}/k8s-gcr-io-kube-apiserver-amd64:v1.11.0

echo ""
echo "2.k8s-kube-controller-manager-amd64"
docker push ${MY_REGISTRY}/k8s-gcr-io-kube-controller-manager-amd64:v1.11.0

echo ""
echo "3.k8s-kube-scheduler-amd64"
docker push ${MY_REGISTRY}/k8s-gcr-io-kube-scheduler-amd64:v1.11.0

echo ""
echo "4.k8s-kube-proxy-amd64"
docker push ${MY_REGISTRY}/k8s-gcr-io-kube-proxy-amd64:v1.11.0

echo ""
echo "5.k8s-etcd-amd64"
docker push ${MY_REGISTRY}/k8s-gcr-io-etcd-amd64:3.2.18

echo ""
echo "6.k8s-pause-amd64"
docker push ${MY_REGISTRY}/k8s-gcr-io-pause-amd64:3.1

echo ""
echo "7.k8s-coredns"
docker push ${MY_REGISTRY}/k8s-gcr-io-coredns:1.1.3

echo ""
echo "=========================================================="
echo "Push Kubernetes 1.11.0 Images FINISHED."
echo "into registry.cn-hangzhou.aliyuncs.com/openthings, "
echo "           by openthings@https://my.oschina.net/u/2306127."
echo "=========================================================="

echo ""

上面的脚本需要在能够同时访问gcr.io和阿里云的registry服务的机器上运行。镜像仓库服务我在这里用的阿里云的{华东1}的容器仓库服务(registry.cn-hangzhou.aliyuncs.com,需要注意:阿里云的每个区都有registry服务区,是相互独立的),你可以改成自己的地址。

© 著作权归作者所有

共有 人打赏支持
上一篇: AirFlow-Install
下一篇: Airflow on Kubernetes
openthings
粉丝 273
博文 1011
码字总数 544432
作品 1
东城
架构师
私信 提问
Docker build-容器构建加速攻略

容器构建时需要下载多种软件,往往这是非常耗时间的。hub.docker.com本来就慢,尤其是遇到存放在gcr.io/aws等上面的模块就挂了,pip安装python模块是也较慢,conda的下载更是如蜗牛。 加快容...

openthings
07/28
0
0
Kubernetes上建立WordPress博客

在Kubernetes上运行WordPress的好处是显而易见的。首先是安装非常简单(在已有集群的情况下),其次是可靠性更高,第三是规模可以伸缩。当然,可以在多个云之间更为容易地迁移也是非常重要的...

openthings
09/15
0
0
阿里云VPC私网连接技术白皮书

概要 阿里云专有网络VPC(Virtual Private Cloud)是您基于阿里云构建的一个隔离的网络环境,专有网络之间逻辑上彻底隔离。您能够在自己定义的虚拟网络中使用阿里云资源,例如选择自己的IP地...

乐乎无趣
2017/11/01
0
0
将Centos的yum源更换为国内的阿里云源

将Centos的yum源更换为国内的阿里云源 阿里云Linux安装软件镜像源 阿里云是最近新出的一个镜像源。得益与阿里云的高速发展,这么大的需求,肯定会推出自己的镜像源。 阿里云Linux安装镜像源地...

苑洪武
2017/09/19
0
0
详解混合云数据安全传输两大解决方案

详解混合云数据安全传输两大解决方案 阿里云高级安全专家 安忍 引言 Gartner称,云计算的使用正在不断增加,到2016年这一增长将占据大量新增IT开支。2016年将是云计算决定性的一年,私有云开...

阿里云官方博客
2016/02/24
458
0

没有更多内容

加载失败,请刷新页面

加载更多

CAS和AQS

CAS(Compare And Swap) 什么是CAS CAS(Compare And Swap),即比较并交换。是解决多线程并行情况下使用锁造成性能损耗的一种机制。 CAS是一种系统原语,原语属于操作系统用语范畴,是由若干条...

狼王黄师傅
14分钟前
1
0
Python利用pandas处理Excel数据的应用

Python利用pandas处理Excel数据的应用 最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做自动化...

上官夏洛特
28分钟前
1
0
100:代码管理平台svn

1:代码管理平台:代码版本管理工具,工作中用于代码更新,代码发布统计,代码版本控制;(频繁更新代码的版本记录),方便查阅历史变更,协同开发及合并; 版本管理工具发展: cvs(编码兼容不太好)...

芬野de博客
28分钟前
0
0
Linux学习-1101(rsync下、log、screen)

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 一、 rsync通过服务同步 rsync 通过服务的方式同步,首先需要开启一个服务。它是C/S架构,开启rsync服务,默认端口是8...

wxy丶
35分钟前
1
0
使用jpmml-sparkml-executable生成PMML模型文件

加载依赖的jar包通过./spark-shell --jars ./jpmml-sparkml-executable-1.2.13.jar 启动spark import org.apache.spark.ml.classification.LogisticRegressionimport org.apache.spark.m......

KYO4321
39分钟前
1
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部