From f328a21d39ec264334e68628ff9a1d0c55289f4d Mon Sep 17 00:00:00 2001 From: jmgao Date: Sun, 7 Jan 2018 22:32:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0k8s1.9.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 +++---- branch.md | 7 ++++ docs/00-集群规划和基础参数设定.md | 2 +- docs/07-安装flannel网络组件.md | 4 +-- docs/quickStart.md | 2 +- down/download.sh | 35 +++++++++++++------- 6 files changed, 39 insertions(+), 23 deletions(-) create mode 100644 branch.md diff --git a/README.md b/README.md index 2e7de34..0e636bb 100644 --- a/README.md +++ b/README.md @@ -2,25 +2,23 @@ ![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`** -二进制方式部署优势:有助于理解系统各组件的交互原理和熟悉组件启动参数,有助于快速排查解决实际问题 - **注意:** 为提高集群网络插件安装的灵活性,使用`DaemonSet Pod`方式运行网络插件,目前支持`Calico` `flannel`可选 文档基于`Ubuntu 16.04/CentOS 7`,其他系统需要读者自行替换部分命令;由于使用经验有限和简化脚本考虑,已经尽量避免`ansible-playbook`的高级特性和复杂逻辑。 你可能需要掌握基本`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. etcd v3.2.11 -1. docker 17.09.1-ce +1. kubernetes v1.9.1 +1. etcd v3.2.13 +1. docker 17.12.0-ce 1. calico/node v2.6.5 1. flannel v0.9.1 diff --git a/branch.md b/branch.md new file mode 100644 index 0000000..7b9d6e2 --- /dev/null +++ b/branch.md @@ -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`网络 diff --git a/docs/00-集群规划和基础参数设定.md b/docs/00-集群规划和基础参数设定.md index b401193..5e0b6f6 100644 --- a/docs/00-集群规划和基础参数设定.md +++ b/docs/00-集群规划和基础参数设定.md @@ -149,7 +149,7 @@ mv kubeasz /etc/ansible # 下载已打包好的binaries,并且解压缩到/etc/ansible/bin目录 # 国内请从我分享的百度云链接下载 https://pan.baidu.com/s/1c4RFaA # 如果你有合适网络环境也可以按照/down/download.sh自行从官网下载各种tar包到 ./down目录,并执行download.sh -tar zxvf k8s.190.tar.gz +tar zxvf k8s.191.tar.gz mv bin/* /etc/ansible/bin cd /etc/ansible cp example/hosts.m-masters.example hosts diff --git a/docs/07-安装flannel网络组件.md b/docs/07-安装flannel网络组件.md index ccf6a77..016a613 100644 --- a/docs/07-安装flannel网络组件.md +++ b/docs/07-安装flannel网络组件.md @@ -1,10 +1,10 @@ ## 07-安装flannel网络组件.md -**注意:**只需选择安装`calico` `flannel`其中之一,如果你已经安装了`calico`,请跳过此步骤。 +** 注意: ** 只需选择安装`calico` `flannel`其中之一,如果你已经安装了`calico`,请跳过此步骤。 关于k8s网络设计和CNI Plugin的介绍请阅读[安装calico](07-安装calico网络组件.md)中相关内容。 -`Flannel`是最早应用到k8s集群的网络插件之一,简单高效,且提供多个后端`backend`模式供选择;本文介绍已`DaemonSet Pod`方式集成到k8s集群,需要在所有master节点和node节点安装。 +`Flannel`是最早应用到k8s集群的网络插件之一,简单高效,且提供多个后端`backend`模式供选择;本文介绍以`DaemonSet Pod`方式集成到k8s集群,需要在所有master节点和node节点安装。 ``` text roles/flannel/ diff --git a/docs/quickStart.md b/docs/quickStart.md index 060d54a..fa4abab 100644 --- a/docs/quickStart.md +++ b/docs/quickStart.md @@ -53,7 +53,7 @@ mv kubeasz /etc/ansible # 下载已打包好的binaries,并且解压缩到/etc/ansible/bin目录 # 国内请从分享的百度云链接下载 https://pan.baidu.com/s/1c4RFaA # 如果你有合适网络环境也可以按照/down/download.sh自行从官网下载各种tar包到 ./down目录,并执行download.sh -tar zxvf k8s.190.tar.gz +tar zxvf k8s.191.tar.gz mv bin/* /etc/ansible/bin # 配置ansible的hosts文件 cd /etc/ansible diff --git a/down/download.sh b/down/download.sh index b89a4be..5b36981 100644 --- a/down/download.sh +++ b/down/download.sh @@ -1,15 +1,15 @@ #!/bin/bash #主要组件版本如下 -export K8S_VER=v1.9.0 -export ETCD_VER=v3.2.11 -export DOCKER_VER=17.09.1-ce -export CALICO_VER=v2.6.3 +export K8S_VER=v1.9.1 +export ETCD_VER=v3.2.13 +export DOCKER_VER=17.12.0-ce +export CNI_VER=v0.6.0 export DOCKER_COMPOSE=1.18.0 export HARBOR=v1.2.2 -echo "\n建议直接下载本人打包好的所有必要二进制包k8s-190.all.tar.gz,然后解压到bin目录" +echo "\n建议直接下载本人打包好的所有必要二进制包k8s-***.all.tar.gz,然后解压到bin目录" echo "\n建议不使用此脚本,如果你想升级组件或者实验,请通读该脚本,必要时适当修改后使用" -echo "\n注意1:因为网络原因不进行自动下载,请按照以下链接手动下载二进制包到down目录中" +echo "\n注意1:请按照以下链接手动下载二进制包到down目录中" echo "\n注意2:如果还没有手工下载tar包,请Ctrl-c结束此脚本" 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/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 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 +echo "\n----download cni plugins at:" +echo https://github.com/containernetworking/plugins/releases/download/${CNI_VER}/cni-${CNI_VER}.tgz + sleep 30 ### 准备证书工具程序 @@ -96,3 +93,17 @@ if [ -f "docker-${DOCKER_VER}.tgz" ]; then else echo 请先下载docker-${DOCKER_VER}.tgz 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