mirror of https://github.com/easzlab/kubeasz.git
更新k8s1.9.1
parent
798191f4f6
commit
f328a21d39
12
README.md
12
README.md
|
@ -2,25 +2,23 @@
|
||||||
|
|
||||||
![docker](./pics/docker.jpg) ![kube](./pics/kube.jpg) ![ansible](./pics/ansible.jpg)
|
![docker](./pics/docker.jpg) ![kube](./pics/kube.jpg) ![ansible](./pics/ansible.jpg)
|
||||||
|
|
||||||
本系列文档致力于提供快速部署高可用`k8s`集群的工具,并且也努力成为`k8s`实践、使用的参考书;基于二进制方式部署和利用`ansible-playbook`实现自动化:既提供一键安装脚本,也可以分步执行安装各个组件,同时讲解每一步主要参数配置和注意事项。
|
本系列文档致力于提供快速部署高可用`k8s`集群的工具,并且也努力成为`k8s`实践、使用的参考书;基于二进制方式部署和利用`ansible-playbook`实现自动化:既提供一键安装脚本,也可以分步执行安装各个组件,同时讲解每一步主要参数配置和注意事项;二进制方式部署有助于理解系统各组件的交互原理和熟悉组件启动参数,有助于快速排查解决实际问题。
|
||||||
|
|
||||||
**集群特性:`TLS` 双向认证、`RBAC` 授权、多`Master`高可用、支持`Network Policy`**
|
**集群特性:`TLS` 双向认证、`RBAC` 授权、多`Master`高可用、支持`Network Policy`**
|
||||||
|
|
||||||
二进制方式部署优势:有助于理解系统各组件的交互原理和熟悉组件启动参数,有助于快速排查解决实际问题
|
|
||||||
|
|
||||||
**注意:** 为提高集群网络插件安装的灵活性,使用`DaemonSet Pod`方式运行网络插件,目前支持`Calico` `flannel`可选
|
**注意:** 为提高集群网络插件安装的灵活性,使用`DaemonSet Pod`方式运行网络插件,目前支持`Calico` `flannel`可选
|
||||||
|
|
||||||
文档基于`Ubuntu 16.04/CentOS 7`,其他系统需要读者自行替换部分命令;由于使用经验有限和简化脚本考虑,已经尽量避免`ansible-playbook`的高级特性和复杂逻辑。
|
文档基于`Ubuntu 16.04/CentOS 7`,其他系统需要读者自行替换部分命令;由于使用经验有限和简化脚本考虑,已经尽量避免`ansible-playbook`的高级特性和复杂逻辑。
|
||||||
|
|
||||||
你可能需要掌握基本`kubernetes` `docker` `linux shell` 知识,关于`ansible`建议阅读 [ansible超快入门](http://weiweidefeng.blog.51cto.com/1957995/1895261) 基本够用。
|
你可能需要掌握基本`kubernetes` `docker` `linux shell` 知识,关于`ansible`建议阅读 [ansible超快入门](http://weiweidefeng.blog.51cto.com/1957995/1895261) 基本够用。
|
||||||
|
|
||||||
欢迎提`Issues`和`PRs`参与维护项目。
|
请阅读[项目分支说明](branch.md),欢迎提`Issues`和`PRs`参与维护项目。
|
||||||
|
|
||||||
## 组件版本
|
## 组件版本
|
||||||
|
|
||||||
1. kubernetes v1.9.0
|
1. kubernetes v1.9.1
|
||||||
1. etcd v3.2.11
|
1. etcd v3.2.13
|
||||||
1. docker 17.09.1-ce
|
1. docker 17.12.0-ce
|
||||||
1. calico/node v2.6.5
|
1. calico/node v2.6.5
|
||||||
1. flannel v0.9.1
|
1. flannel v0.9.1
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
## 项目分支说明
|
||||||
|
|
||||||
|
目前项目分支为 `master` `v1.9` `v1.8`,说明如下:
|
||||||
|
|
||||||
|
- `master` 分支将尽量使用最新版k8s和相关组件,网络使用`DaemonSet Pod`方式安装,目前提供`calico` `flannel` 可选
|
||||||
|
- `v1.9` 分支将尽量使用k8s v1.9的最新小版本和相关组件,使用`systemd service`方式安装 `calico`网络
|
||||||
|
- `v1.8` 分支将尽量使用k8s v1.8的最新小版本和相关组件,使用`systemd service`方式安装 `calico`网络
|
|
@ -149,7 +149,7 @@ mv kubeasz /etc/ansible
|
||||||
# 下载已打包好的binaries,并且解压缩到/etc/ansible/bin目录
|
# 下载已打包好的binaries,并且解压缩到/etc/ansible/bin目录
|
||||||
# 国内请从我分享的百度云链接下载 https://pan.baidu.com/s/1c4RFaA
|
# 国内请从我分享的百度云链接下载 https://pan.baidu.com/s/1c4RFaA
|
||||||
# 如果你有合适网络环境也可以按照/down/download.sh自行从官网下载各种tar包到 ./down目录,并执行download.sh
|
# 如果你有合适网络环境也可以按照/down/download.sh自行从官网下载各种tar包到 ./down目录,并执行download.sh
|
||||||
tar zxvf k8s.190.tar.gz
|
tar zxvf k8s.191.tar.gz
|
||||||
mv bin/* /etc/ansible/bin
|
mv bin/* /etc/ansible/bin
|
||||||
cd /etc/ansible
|
cd /etc/ansible
|
||||||
cp example/hosts.m-masters.example hosts
|
cp example/hosts.m-masters.example hosts
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
## 07-安装flannel网络组件.md
|
## 07-安装flannel网络组件.md
|
||||||
|
|
||||||
**注意:**只需选择安装`calico` `flannel`其中之一,如果你已经安装了`calico`,请跳过此步骤。
|
** 注意: ** 只需选择安装`calico` `flannel`其中之一,如果你已经安装了`calico`,请跳过此步骤。
|
||||||
|
|
||||||
关于k8s网络设计和CNI Plugin的介绍请阅读[安装calico](07-安装calico网络组件.md)中相关内容。
|
关于k8s网络设计和CNI Plugin的介绍请阅读[安装calico](07-安装calico网络组件.md)中相关内容。
|
||||||
|
|
||||||
`Flannel`是最早应用到k8s集群的网络插件之一,简单高效,且提供多个后端`backend`模式供选择;本文介绍已`DaemonSet Pod`方式集成到k8s集群,需要在所有master节点和node节点安装。
|
`Flannel`是最早应用到k8s集群的网络插件之一,简单高效,且提供多个后端`backend`模式供选择;本文介绍以`DaemonSet Pod`方式集成到k8s集群,需要在所有master节点和node节点安装。
|
||||||
|
|
||||||
``` text
|
``` text
|
||||||
roles/flannel/
|
roles/flannel/
|
||||||
|
|
|
@ -53,7 +53,7 @@ mv kubeasz /etc/ansible
|
||||||
# 下载已打包好的binaries,并且解压缩到/etc/ansible/bin目录
|
# 下载已打包好的binaries,并且解压缩到/etc/ansible/bin目录
|
||||||
# 国内请从分享的百度云链接下载 https://pan.baidu.com/s/1c4RFaA
|
# 国内请从分享的百度云链接下载 https://pan.baidu.com/s/1c4RFaA
|
||||||
# 如果你有合适网络环境也可以按照/down/download.sh自行从官网下载各种tar包到 ./down目录,并执行download.sh
|
# 如果你有合适网络环境也可以按照/down/download.sh自行从官网下载各种tar包到 ./down目录,并执行download.sh
|
||||||
tar zxvf k8s.190.tar.gz
|
tar zxvf k8s.191.tar.gz
|
||||||
mv bin/* /etc/ansible/bin
|
mv bin/* /etc/ansible/bin
|
||||||
# 配置ansible的hosts文件
|
# 配置ansible的hosts文件
|
||||||
cd /etc/ansible
|
cd /etc/ansible
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#主要组件版本如下
|
#主要组件版本如下
|
||||||
export K8S_VER=v1.9.0
|
export K8S_VER=v1.9.1
|
||||||
export ETCD_VER=v3.2.11
|
export ETCD_VER=v3.2.13
|
||||||
export DOCKER_VER=17.09.1-ce
|
export DOCKER_VER=17.12.0-ce
|
||||||
export CALICO_VER=v2.6.3
|
export CNI_VER=v0.6.0
|
||||||
export DOCKER_COMPOSE=1.18.0
|
export DOCKER_COMPOSE=1.18.0
|
||||||
export HARBOR=v1.2.2
|
export HARBOR=v1.2.2
|
||||||
|
|
||||||
echo "\n建议直接下载本人打包好的所有必要二进制包k8s-190.all.tar.gz,然后解压到bin目录"
|
echo "\n建议直接下载本人打包好的所有必要二进制包k8s-***.all.tar.gz,然后解压到bin目录"
|
||||||
echo "\n建议不使用此脚本,如果你想升级组件或者实验,请通读该脚本,必要时适当修改后使用"
|
echo "\n建议不使用此脚本,如果你想升级组件或者实验,请通读该脚本,必要时适当修改后使用"
|
||||||
echo "\n注意1:因为网络原因不进行自动下载,请按照以下链接手动下载二进制包到down目录中"
|
echo "\n注意1:请按照以下链接手动下载二进制包到down目录中"
|
||||||
echo "\n注意2:如果还没有手工下载tar包,请Ctrl-c结束此脚本"
|
echo "\n注意2:如果还没有手工下载tar包,请Ctrl-c结束此脚本"
|
||||||
|
|
||||||
echo "\n----download k8s binary at:"
|
echo "\n----download k8s binary at:"
|
||||||
|
@ -27,18 +27,15 @@ 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/cfssljson_linux-amd64
|
||||||
echo https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
|
echo https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
|
||||||
|
|
||||||
echo "\n----download calico at:"
|
|
||||||
echo https://docs.projectcalico.org/v2.6/releases/
|
|
||||||
|
|
||||||
echo "\n----download calico cni-plugin at:"
|
|
||||||
echo https://github.com/projectcalico/cni-plugin/releases
|
|
||||||
|
|
||||||
echo "\n----download docker-compose at:"
|
echo "\n----download docker-compose at:"
|
||||||
echo https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE}/docker-compose-Linux-x86_64
|
echo https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE}/docker-compose-Linux-x86_64
|
||||||
|
|
||||||
echo "\n----download harbor-offline-installer at:"
|
echo "\n----download harbor-offline-installer at:"
|
||||||
echo https://github.com/vmware/harbor/releases/download/${HARBOR}/harbor-offline-installer-${HARBOR}.tgz
|
echo https://github.com/vmware/harbor/releases/download/${HARBOR}/harbor-offline-installer-${HARBOR}.tgz
|
||||||
|
|
||||||
|
echo "\n----download cni plugins at:"
|
||||||
|
echo https://github.com/containernetworking/plugins/releases/download/${CNI_VER}/cni-${CNI_VER}.tgz
|
||||||
|
|
||||||
sleep 30
|
sleep 30
|
||||||
|
|
||||||
### 准备证书工具程序
|
### 准备证书工具程序
|
||||||
|
@ -96,3 +93,17 @@ if [ -f "docker-${DOCKER_VER}.tgz" ]; then
|
||||||
else
|
else
|
||||||
echo 请先下载docker-${DOCKER_VER}.tgz
|
echo 请先下载docker-${DOCKER_VER}.tgz
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
### 准备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
|
||||||
|
mv bridge ../bin
|
||||||
|
mv flannel ../bin
|
||||||
|
mv host-local ../bin
|
||||||
|
mv loopback ../bin
|
||||||
|
mv portmap ../bin
|
||||||
|
else
|
||||||
|
echo 请先下载cni-${CNI_VER}.tgz
|
||||||
|
fi
|
||||||
|
|
Loading…
Reference in New Issue