diff --git a/README.md b/README.md index 16ee018..d60b405 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,9 @@ |组件|更新|支持| |:-|:-|:-| |OS| |Ubuntu 16.04+, CentOS 7| -|k8s|v1.10.4|v1.8, v1.9, v1.10| -|etcd|v3.3.6|v3.1, v3.2, v3.3| -|docker|18.03.0-ce|17.*.*-ce, 18.*.*-ce| +|k8s|v1.11.0|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| -注:集群用到的所有二进制文件已打包好供下载 [https://pan.baidu.com/s/1c4RFaA](https://pan.baidu.com/s/1c4RFaA) diff --git a/docs/guide/ipvs.md b/docs/guide/ipvs.md new file mode 100644 index 0000000..01e39cb --- /dev/null +++ b/docs/guide/ipvs.md @@ -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"` diff --git a/docs/guide/metrics-server.md b/docs/guide/metrics-server.md index 1a48c70..e964d5e 100644 --- a/docs/guide/metrics-server.md +++ b/docs/guide/metrics-server.md @@ -8,7 +8,7 @@ - 1.metric-server是扩展的apiserver,依赖于[kube-aggregator](https://github.com/kubernetes/kube-aggregator),因此需要在apiserver中开启相关参数。 - 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) + +## 补充 + +目前dashboard插件如果想在界面上显示资源使用率,它还依赖于`heapster`;另外,测试发现k8s 1.8版本的`kubectl top`也依赖`heapster`,因此建议补充安装`heapster`,无需安装`influxdb`和`grafana`。 + +``` bash +$ kubectl apply -f /etc/ansible/manifests/heapster/heapster.yaml +``` diff --git a/docs/mixes/TodoList.md b/docs/mixes/TodoList.md index 06fc183..2dc7487 100644 --- a/docs/mixes/TodoList.md +++ b/docs/mixes/TodoList.md @@ -44,7 +44,7 @@