mirror of https://github.com/easzlab/kubeasz.git
parent
870d51ec7e
commit
fd75e942e5
|
@ -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)
|
||||||
|
|
|
@ -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"`
|
|
@ -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
|
||||||
|
```
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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产生的网络接口
|
|
@ -28,8 +28,8 @@ DEPLOY_MODE=allinone
|
||||||
#集群主版本号,目前支持: v1.8, v1.9, v1.10,v1.11
|
#集群主版本号,目前支持: v1.8, v1.9, v1.10,v1.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 ' ' 生成
|
||||||
|
|
|
@ -29,8 +29,8 @@ DEPLOY_MODE=single-master
|
||||||
#集群主版本号,目前支持: v1.8, v1.9, v1.10,v1.11
|
#集群主版本号,目前支持: v1.8, v1.9, v1.10,v1.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 ' ' 生成
|
||||||
|
|
Loading…
Reference in New Issue