From 3475121aef58bfcde67d97a1bef9e868fdbfc17b Mon Sep 17 00:00:00 2001 From: gjmzj Date: Sun, 12 Aug 2018 22:32:20 +0800 Subject: [PATCH] kubeasz 0.3.0 release --- README.md | 8 ++--- docs/06-安装网络组件.md | 5 ++-- docs/06.cilium.md | 7 +++++ docs/07-安装集群插件.md | 9 ++++-- docs/guide/kernel_upgrade.md | 45 +++++++++++++++++++++++++++++ docs/release-notes/kubeasz-0.3.0.md | 26 +++++++++++++++++ 6 files changed, 92 insertions(+), 8 deletions(-) create mode 100644 docs/06.cilium.md create mode 100644 docs/guide/kernel_upgrade.md create mode 100644 docs/release-notes/kubeasz-0.3.0.md diff --git a/README.md b/README.md index 3fb0cdd..65aad2e 100644 --- a/README.md +++ b/README.md @@ -6,17 +6,17 @@ **集群特性:`TLS` 双向认证、`RBAC` 授权、多`Master`高可用、支持`Network Policy`** -项目基于`Ubuntu 16.04/CentOS 7`,需要了解基础`kubernetes` `docker` `linux` 知识,关于`ansible`建议阅读 [ansible超快入门](http://weiweidefeng.blog.51cto.com/1957995/1895261) 。 +项目基于`Ubuntu 16.04/CentOS 7`,需要了解基础`kubernetes` `docker` `linux` `ansible`等知识。 请阅读[项目TodoList](docs/mixes/TodoList.md)和[项目分支说明](docs/branch.md),欢迎提[Issues](https://github.com/gjmzj/kubeasz/issues)和[PRs](docs/mixes/HowToContribute.md)参与维护项目。 |组件|更新|支持| |:-|:-|:-| |OS| |Ubuntu 16.04+, CentOS 7| -|k8s|v1.11.0|v1.8,v1.9,v1.10,v1.11| -|etcd|v3.3.8|v3.1,v3.2,v3.3| +|k8s|v1.11.2|v1.8, v1.9, v1.10, v1.11| +|etcd|v3.3.8|v3.1, v3.2, v3.3| |docker|18.03.1-ce|17.*.*-ce, 18.*.*-ce| -|network| |calico v3.0, flannel v0.10, kube-router| +|network| |calico, cilium, flannel, kube-router| -注:集群用到的所有二进制文件已打包好供下载 [https://pan.baidu.com/s/1c4RFaA](https://pan.baidu.com/s/1c4RFaA) diff --git a/docs/06-安装网络组件.md b/docs/06-安装网络组件.md index 4817713..ed665f9 100644 --- a/docs/06-安装网络组件.md +++ b/docs/06-安装网络组件.md @@ -25,11 +25,12 @@ Kubernetes Pod的网络是这样创建的: 本项目基于CNI driver 调用各种网络插件来配置kubernetes的网络,常用CNI插件有 `flannel` `calico` `weave`等等,这些插件各有优势,也在互相借鉴学习优点,比如:在所有node节点都在一个二层网络时候,flannel提供hostgw实现,避免vxlan实现的udp封装开销,估计是目前最高效的;calico也针对L3 Fabric,推出了IPinIP的选项,利用了GRE隧道封装;因此这些插件都能适合很多实际应用场景。 -项目当前内置支持的网络插件有:`calico` `flannel` `kube-router` +项目当前内置支持的网络插件有:`calico` `cilium` `flannel` `kube-router` -### 安装讲解请 +### 安装讲解 - [安装calico](06.calico.md) +- [安装cilium](06.cilium.md) - [安装flannel](06.flannel.md) - [安装kube-router](06.kube-router.md) diff --git a/docs/06.cilium.md b/docs/06.cilium.md new file mode 100644 index 0000000..f9ba3e0 --- /dev/null +++ b/docs/06.cilium.md @@ -0,0 +1,7 @@ +## 06-安装cilium网络组件 + +待更新。。。 + +### 前提 + +[升级内核](guide/kernel_upgrade.md) diff --git a/docs/07-安装集群插件.md b/docs/07-安装集群插件.md index bcd5d79..d6a9715 100644 --- a/docs/07-安装集群插件.md +++ b/docs/07-安装集群插件.md @@ -1,14 +1,19 @@ # 安装集群主要插件 目前挑选一些常用、必要的插件自动集成到安装脚本之中: -- [配置开关](../roles/cluster-addon/defaults/main.yml) - [自动脚本](../roles/cluster-addon/tasks/main.yml) +- 配置开关 + - 参照[配置指南](config_guide.md),生成后在`roles/cluster-addon/vars/main.yml`配置 ## 脚本介绍 - 1.根据hosts文件中配置的`CLUSTER_DNS_SVC_IP` `CLUSTER_DNS_DOMAIN`等参数生成kubedns.yaml和coredns.yaml文件 - 2.注册变量pod_info,pod_info用来判断现有集群是否已经运行各种插件 -- 3.根据pod_info和[配置开关](../roles/cluster-addon/defaults/main.yml)逐个进行/跳过插件安装 +- 3.根据pod_info和`配置开关`逐个进行/跳过插件安装 + +## 下一步 + +[集群存储](08-cluster-storage.md) diff --git a/docs/guide/kernel_upgrade.md b/docs/guide/kernel_upgrade.md new file mode 100644 index 0000000..6409530 --- /dev/null +++ b/docs/guide/kernel_upgrade.md @@ -0,0 +1,45 @@ +# Linux Kernel 升级 + +k8s,docker,cilium等很多功能、特性需要较新的linux内核支持,所以有必要在集群部署前对内核进行升级;CentOS7 和 Ubuntu16.04可以很方便的完成内核升级。 + +## CentOS7 + +``` bash +# 载入公钥 +rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org +# 安装ELRepo +rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm +# 载入elrepo-kernel元数据 +yum --disablerepo=\* --enablerepo=elrepo-kernel repolist +# 查看可用的rpm包 +yum --disablerepo=\* --enablerepo=elrepo-kernel list kernel* +# 安装最新版本的kernel +yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml.x86_64 +# 删除旧版本工具包 +yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64 -y +# 安装新版本工具包 +yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml-tools.x86_64 + +#查看默认启动顺序 +awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg +CentOS Linux (4.4.4-1.el7.elrepo.x86_64) 7 (Core) +CentOS Linux (3.10.0-327.10.1.el7.x86_64) 7 (Core) +CentOS Linux (0-rescue-c52097a1078c403da03b8eddeac5080b) 7 (Core) +#默认启动的顺序是从0开始,新内核是从头插入(目前位置在0,而4.4.4的是在1),所以需要选择0。 +grub2-set-default 0 +#重启并检查 +reboot +``` + +## Ubuntu16.04 + +``` bash +打开 http://kernel.ubuntu.com/~kernel-ppa/mainline/ 并选择列表中选择你需要的版本(以4.16.3为例)。 +接下来,根据你的系统架构下载 如下.deb 文件: +Build for amd64 succeeded (see BUILD.LOG.amd64): + linux-headers-4.16.3-041603_4.16.3-041603.201804190730_all.deb + linux-headers-4.16.3-041603-generic_4.16.3-041603.201804190730_amd64.deb + linux-image-4.16.3-041603-generic_4.16.3-041603.201804190730_amd64.deb +#安装后重启即可 +$ sudo dpkg -i *.deb +``` diff --git a/docs/release-notes/kubeasz-0.3.0.md b/docs/release-notes/kubeasz-0.3.0.md new file mode 100644 index 0000000..b690f98 --- /dev/null +++ b/docs/release-notes/kubeasz-0.3.0.md @@ -0,0 +1,26 @@ +## kubeasz-0.3.0 发布说明 + +CHANGELOG: +- 组件更新: + - k8s: v1.11.2/v1.10.6/v1.9.10/v1.8.15 + - calico: v3.1.3 + - kube-router: v0.2.0-beta.9 +- 功能更新: + - **增加集群备份与恢复** 功能与[说明](https://github.com/gjmzj/kubeasz/blob/master/docs/op/cluster_restore.md) + - **增加cilium网络插件** ,文档待更新 + - **增加cluster-storage角色** 与[文档说明](https://github.com/gjmzj/kubeasz/blob/master/docs/08-cluster-storage.md) + - 增加阿里云NAS存储支持 + - 增加集群个性化[配置说明](https://github.com/gjmzj/kubeasz/blob/master/docs/config_guide.md)与生成脚本`tools/init_vars.yml` + - 支持deploy节点与ansible执行节点分离,为一份代码创建多个集群准备 +- 其他: + - 更新 jenkins and plugins (#258) + - 重写 nfs动态存储脚本与文档 + - 优化 cluster-addon 安装脚本 + - 增加 docker 配置文件 + - 更新 offline images 0.3 + - 增加 batch/v2alpha支持 + - 移动 DNS yaml文件至 /opt/kube/kube-system + - fix 多主集群下change_k8s_network时vip丢失问题 + - fix 禁止节点使用系统swap + - fix 解压后的harbor安装文件没有执行权限问题 + - fix Ubuntu 18.04无法安装haproxy、keepalived问题