2017-11-11 19:14:21 +08:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
#主要组件版本如下
|
2018-05-04 22:11:08 +08:00
|
|
|
|
export K8S_VER=v1.10.2
|
|
|
|
|
export ETCD_VER=v3.3.4
|
2018-03-28 17:59:26 +08:00
|
|
|
|
export DOCKER_VER=18.03.0-ce
|
2018-02-19 08:35:59 +08:00
|
|
|
|
export CNI_VER=v0.7.0
|
2017-12-25 15:05:21 +08:00
|
|
|
|
export DOCKER_COMPOSE=1.18.0
|
|
|
|
|
export HARBOR=v1.2.2
|
2017-11-11 19:14:21 +08:00
|
|
|
|
|
2018-01-07 22:32:14 +08:00
|
|
|
|
echo "\n建议直接下载本人打包好的所有必要二进制包k8s-***.all.tar.gz,然后解压到bin目录"
|
2017-11-28 21:13:21 +08:00
|
|
|
|
echo "\n建议不使用此脚本,如果你想升级组件或者实验,请通读该脚本,必要时适当修改后使用"
|
2018-01-07 22:32:14 +08:00
|
|
|
|
echo "\n注意1:请按照以下链接手动下载二进制包到down目录中"
|
2017-11-28 21:13:21 +08:00
|
|
|
|
echo "\n注意2:如果还没有手工下载tar包,请Ctrl-c结束此脚本"
|
|
|
|
|
|
2017-11-11 19:14:21 +08:00
|
|
|
|
echo "\n----download k8s binary at:"
|
|
|
|
|
echo https://dl.k8s.io/${K8S_VER}/kubernetes-server-linux-amd64.tar.gz
|
|
|
|
|
|
|
|
|
|
echo "\n----download etcd binary at:"
|
|
|
|
|
echo https://github.com/coreos/etcd/releases/download/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz
|
|
|
|
|
echo https://storage.googleapis.com/etcd/${ETCD_VER}/etcd-${ETCD_VER}-linux-amd64.tar.gz
|
|
|
|
|
|
|
|
|
|
echo "\n----download docker binary at:"
|
|
|
|
|
echo https://download.docker.com/linux/static/stable/x86_64/docker-${DOCKER_VER}.tgz
|
|
|
|
|
|
|
|
|
|
echo "\n----download ca tools at:"
|
|
|
|
|
echo https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
|
|
|
|
|
echo https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
|
|
|
|
|
echo https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
|
|
|
|
|
|
2017-12-25 15:05:21 +08:00
|
|
|
|
echo "\n----download docker-compose at:"
|
|
|
|
|
echo https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE}/docker-compose-Linux-x86_64
|
|
|
|
|
|
|
|
|
|
echo "\n----download harbor-offline-installer at:"
|
|
|
|
|
echo https://github.com/vmware/harbor/releases/download/${HARBOR}/harbor-offline-installer-${HARBOR}.tgz
|
|
|
|
|
|
2018-01-07 22:32:14 +08:00
|
|
|
|
echo "\n----download cni plugins at:"
|
2018-02-19 08:35:59 +08:00
|
|
|
|
echo https://github.com/containernetworking/plugins/releases
|
2018-01-07 22:32:14 +08:00
|
|
|
|
|
2017-11-28 21:13:21 +08:00
|
|
|
|
sleep 30
|
2017-11-11 19:14:21 +08:00
|
|
|
|
|
|
|
|
|
### 准备证书工具程序
|
|
|
|
|
echo "\n准备证书工具程序..."
|
|
|
|
|
if [ -f "cfssl_linux-amd64" ]; then
|
2018-02-19 08:35:59 +08:00
|
|
|
|
mv -f cfssl_linux-amd64 ../bin/cfssl
|
2017-11-11 19:14:21 +08:00
|
|
|
|
else
|
|
|
|
|
echo 请先下载https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
|
|
|
|
|
fi
|
|
|
|
|
if [ -f "cfssljson_linux-amd64" ]; then
|
2018-02-19 08:35:59 +08:00
|
|
|
|
mv -f cfssljson_linux-amd64 ../bin/cfssljson
|
2017-11-11 19:14:21 +08:00
|
|
|
|
else
|
|
|
|
|
echo 请先下载https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
|
|
|
|
|
fi
|
|
|
|
|
if [ -f "cfssl-certinfo_linux-amd64" ]; then
|
2018-02-19 08:35:59 +08:00
|
|
|
|
mv -f cfssl-certinfo_linux-amd64 ../bin/cfssl-certinfo
|
2017-11-11 19:14:21 +08:00
|
|
|
|
else
|
|
|
|
|
echo 请先下载https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
### 准备etcd程序
|
|
|
|
|
echo "\n准备etcd二进制程序..."
|
|
|
|
|
if [ -f "etcd-${ETCD_VER}-linux-amd64.tar.gz" ]; then
|
|
|
|
|
echo "\nextracting etcd binaries..."
|
|
|
|
|
tar zxf etcd-${ETCD_VER}-linux-amd64.tar.gz
|
2018-02-19 08:35:59 +08:00
|
|
|
|
mv -f etcd-${ETCD_VER}-linux-amd64/etcd* ../bin
|
2017-11-11 19:14:21 +08:00
|
|
|
|
else
|
|
|
|
|
echo 请先下载etcd-${ETCD_VER}-linux-amd64.tar.gz
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
### 准备kubernetes程序
|
|
|
|
|
echo "\n准备kubernetes二进制程序..."
|
|
|
|
|
if [ -f "kubernetes-server-linux-amd64.tar.gz" ]; then
|
|
|
|
|
echo "\nextracting kubernetes binaries..."
|
|
|
|
|
tar zxf kubernetes-server-linux-amd64.tar.gz
|
2018-02-19 08:35:59 +08:00
|
|
|
|
mv -f kubernetes/server/bin/kube-apiserver ../bin
|
|
|
|
|
mv -f kubernetes/server/bin/kube-controller-manager ../bin
|
|
|
|
|
mv -f kubernetes/server/bin/kubectl ../bin
|
|
|
|
|
mv -f kubernetes/server/bin/kubelet ../bin
|
|
|
|
|
mv -f kubernetes/server/bin/kube-proxy ../bin
|
|
|
|
|
mv -f kubernetes/server/bin/kube-scheduler ../bin
|
2017-11-11 19:14:21 +08:00
|
|
|
|
else
|
|
|
|
|
echo 请先下载kubernetes-server-linux-amd64.tar.gz
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
### 准备docker程序
|
|
|
|
|
echo "\n准备docker二进制程序..."
|
|
|
|
|
if [ -f "docker-${DOCKER_VER}.tgz" ]; then
|
|
|
|
|
echo "\nextracting docker binaries..."
|
|
|
|
|
tar zxf docker-${DOCKER_VER}.tgz
|
2018-02-19 08:35:59 +08:00
|
|
|
|
mv -f docker/docker* ../bin
|
2017-11-11 19:14:21 +08:00
|
|
|
|
if [ -f "docker/completion/bash/docker" ]; then
|
2018-01-05 23:05:22 +08:00
|
|
|
|
mv -f docker/completion/bash/docker ../roles/docker/files/docker
|
2017-11-11 19:14:21 +08:00
|
|
|
|
fi
|
|
|
|
|
else
|
|
|
|
|
echo 请先下载docker-${DOCKER_VER}.tgz
|
|
|
|
|
fi
|
2018-01-07 22:32:14 +08:00
|
|
|
|
|
|
|
|
|
### 准备cni plugins,仅安装flannel需要,安装calico由容器专门下载cni plugins
|
|
|
|
|
echo "\n准备cni plugins,仅安装flannel需要,安装calico由容器专门下载cni plugins..."
|
|
|
|
|
if [ -f "cni-${CNI_VER}.tgz" ]; then
|
|
|
|
|
echo "\nextracting cni plugins binaries..."
|
|
|
|
|
tar zxf cni-${CNI_VER}.tgz
|
2018-02-19 08:35:59 +08:00
|
|
|
|
mv -f bridge ../bin
|
|
|
|
|
mv -f flannel ../bin
|
|
|
|
|
mv -f host-local ../bin
|
|
|
|
|
mv -f loopback ../bin
|
|
|
|
|
mv -f portmap ../bin
|
2018-01-07 22:32:14 +08:00
|
|
|
|
else
|
|
|
|
|
echo 请先下载cni-${CNI_VER}.tgz
|
|
|
|
|
fi
|