kubeasz 0.2.2 release

pull/258/head 0.2.2
gjmzj 2018-07-14 11:28:11 +08:00
parent 870d51ec7e
commit fd75e942e5
7 changed files with 72 additions and 9 deletions

View File

@ -13,9 +13,9 @@
|组件|更新|支持| |组件|更新|支持|
|:-|:-|:-| |:-|:-|:-|
|OS| |Ubuntu 16.04+, CentOS 7| |OS| |Ubuntu 16.04+, CentOS 7|
|k8s|v1.10.4|v1.8, v1.9, v1.10| |k8s|v1.11.0|v1.8,v1.9,v1.10,v1.11|
|etcd|v3.3.6|v3.1, v3.2, v3.3| |etcd|v3.3.8|v3.1,v3.2,v3.3|
|docker|18.03.0-ce|17.*.*-ce, 18.*.*-ce| |docker|18.03.1-ce|17.*.*-ce, 18.*.*-ce|
|network| |calico v3.0, flannel v0.10, kube-router| |network| |calico v3.0, flannel v0.10, kube-router|
-注:集群用到的所有二进制文件已打包好供下载 [https://pan.baidu.com/s/1c4RFaA](https://pan.baidu.com/s/1c4RFaA) -注:集群用到的所有二进制文件已打包好供下载 [https://pan.baidu.com/s/1c4RFaA](https://pan.baidu.com/s/1c4RFaA)

33
docs/guide/ipvs.md 100644
View File

@ -0,0 +1,33 @@
# IPVS 服务负载均衡
kube-proxy 组件监听 API server 中 service 和 endpoint 的变化情况,从而为 k8s 集群内部的 service 提供动态负载均衡。在v1.10之前主要通过 iptables来实现是稳定、推荐的方式但是当服务多的时候会产生太多的 iptables 规则大规模情况下有明显的性能问题在v1.11 GA的 ipvs高性能负载模式采用增量式更新并可以保证 service 更新期间连接的保持。
## 启用 ipvs
k8s v1.11 版本启用 ipvs 十分方便,只要在 kube-proxy 启动参数(或者配置文件中)中增加 `--proxy-mode=ipvs`:
``` bash
[Unit]
Description=Kubernetes Kube-Proxy Server
After=network.target
[Service]
WorkingDirectory=/var/lib/kube-proxy
ExecStart=/opt/kube/bin/kube-proxy \
--bind-address={{ NODE_IP }} \
--hostname-override={{ NODE_IP }} \
--kubeconfig=/etc/kubernetes/kube-proxy.kubeconfig \
--logtostderr=true \
--proxy-mode=ipvs
Restart=on-failure
RestartSec=5
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
```
目前 kubeasz 0.2.2 支持两种方式集成使用 ipvs一种是使用kube-proxy 自带的ipvs 实现;另一种是使用 kube-router网络插件带的ipvs service-proxy
- v1.11, v1.10 版本启用 kube-proxy的 ipvs 模式:只需要在 `roles/kube-node/defaults/main.yml` 配置 `PROXY_MODE: "ipvs"`
- 启用 kube-router 的 ipvs service-proxy需在 ansible hosts 配置选择 `CLUSTER_NETWORK="kube-router"`;另外在 `roles/kube-router/defaults/main.yml` 配置 `SERVICE_PROXY: "true"`

View File

@ -8,7 +8,7 @@
- 1.metric-server是扩展的apiserver依赖于[kube-aggregator](https://github.com/kubernetes/kube-aggregator)因此需要在apiserver中开启相关参数。 - 1.metric-server是扩展的apiserver依赖于[kube-aggregator](https://github.com/kubernetes/kube-aggregator)因此需要在apiserver中开启相关参数。
- 2.需要在集群中运行deployment处理请求 - 2.需要在集群中运行deployment处理请求
从kubeasz 0.1.1 开始metrics-server已经默认集成在集群安装脚本中请查看`roles/cluster-addon/defaults/main.yml`中的设置 从kubeasz 0.1.0 开始metrics-server已经默认集成在集群安装脚本中请查看`roles/cluster-addon/defaults/main.yml`中的设置
## 安装 ## 安装
@ -50,3 +50,11 @@ $ kubectl top pod --all-namespaces # 输出略
``` ```
- 验证基于metrics-server实现的基础hpa自动缩放请参考[hpa.md](hpa.md) - 验证基于metrics-server实现的基础hpa自动缩放请参考[hpa.md](hpa.md)
## 补充
目前dashboard插件如果想在界面上显示资源使用率它还依赖于`heapster`另外测试发现k8s 1.8版本的`kubectl top`也依赖`heapster`,因此建议补充安装`heapster`,无需安装`influxdb`和`grafana`。
``` bash
$ kubectl apply -f /etc/ansible/manifests/heapster/heapster.yaml
```

View File

@ -44,7 +44,7 @@
<tr> <tr>
<td>集群部署</td> <td>集群部署</td>
<td>ipvs代理模式跟进</td> <td>ipvs代理模式跟进</td>
<td>kube-router已集成ipvs服务代理</td> <td>已完成</td>
</tr> </tr>
<tr> <tr>
<td>应用服务</td> <td>应用服务</td>

View File

@ -0,0 +1,22 @@
## kubeasz-0.2.2 发布说明
CHANGELOG:
- 组件更新:
- k8s v1.11.0
- etcd v3.3.8
- docker 18.03.1-ce
- 功能更新:
- 更新使用ipvs 配置及[说明文档](https://github.com/gjmzj/kubeasz/blob/master/docs/guide/ipvs.md)
- 更新lb节点keepalived使用单播发送vrrp报文预期兼容公有云上自建LB待测试
- 废弃原 ansible hosts 中变量SERVICE_PROXY
- 更新haproxy负载均衡算法配置
- 其他修复:
- fix 变更集群网络的脚本和[文档](https://github.com/gjmzj/kubeasz/blob/master/docs/op/change_k8s_network.md)
- fix 脚本99.clean.yml清理环境变量
- fix metrics-server允许的client cert问题
- fix #242: 添加CA有效期参数设定CA有效期为15年(131400h) (#245)
- fix helm安装出现Error: transport is closing (#248)
- fix harbor点击tag界面出现\"发生未知错误,请稍后再试" (#250)
- fix 脚本99.clean.yml清理 services softlink (#253)
- fix kube-apiserver-v1.8 使用真实数量的 apiserver-count (#254)
- fix 清理ipvs产生的网络接口

View File

@ -28,8 +28,8 @@ DEPLOY_MODE=allinone
#集群主版本号,目前支持: v1.8, v1.9, v1.10v1.11 #集群主版本号,目前支持: v1.8, v1.9, v1.10v1.11
K8S_VER="v1.10" K8S_VER="v1.10"
#集群 MASTER IP #集群 MASTER IP,自动生成
MASTER_IP="192.168.1.1" MASTER_IP="{{ groups['kube-master'][0] }}"
KUBE_APISERVER="https://{{ MASTER_IP }}:6443" KUBE_APISERVER="https://{{ MASTER_IP }}:6443"
#TLS Bootstrapping 使用的 Token使用 head -c 16 /dev/urandom | od -An -t x | tr -d ' ' 生成 #TLS Bootstrapping 使用的 Token使用 head -c 16 /dev/urandom | od -An -t x | tr -d ' ' 生成

View File

@ -29,8 +29,8 @@ DEPLOY_MODE=single-master
#集群主版本号,目前支持: v1.8, v1.9, v1.10v1.11 #集群主版本号,目前支持: v1.8, v1.9, v1.10v1.11
K8S_VER="v1.11" K8S_VER="v1.11"
#集群 MASTER IP #集群 MASTER IP,自动生成
MASTER_IP="192.168.1.1" MASTER_IP="{{ groups['kube-master'][0] }}"
KUBE_APISERVER="https://{{ MASTER_IP }}:6443" KUBE_APISERVER="https://{{ MASTER_IP }}:6443"
#TLS Bootstrapping 使用的 Token使用 head -c 16 /dev/urandom | od -An -t x | tr -d ' ' 生成 #TLS Bootstrapping 使用的 Token使用 head -c 16 /dev/urandom | od -An -t x | tr -d ' ' 生成