diff --git "a/docs/00-\351\233\206\347\276\244\350\247\204\345\210\222\345\222\214\345\237\272\347\241\200\345\217\202\346\225\260\350\256\276\345\256\232.md" "b/docs/00-\351\233\206\347\276\244\350\247\204\345\210\222\345\222\214\345\237\272\347\241\200\345\217\202\346\225\260\350\256\276\345\256\232.md" index 52a97bd1b..a64048d88 100644 --- "a/docs/00-\351\233\206\347\276\244\350\247\204\345\210\222\345\222\214\345\237\272\347\241\200\345\217\202\346\225\260\350\256\276\345\256\232.md" +++ "b/docs/00-\351\233\206\347\276\244\350\247\204\345\210\222\345\222\214\345\237\272\347\241\200\345\217\202\346\225\260\350\256\276\345\256\232.md" @@ -2,6 +2,8 @@ 多节点高可用集群部署步骤与[AllinOne部署](quickStart.md)基本一致,增加LB 负载均衡部署步骤。 +**注意:请确保各节点时区设置一致、时间同步。** 如果你的环境没有提供NTP 时间同步,推荐集成安装[chrony](guide/chrony.md)。 + ## 高可用集群所需节点配置如下: + 部署节点------x1 : 运行这份 ansible 脚本的节点 + etcd节点------x3 : 注意etcd集群必须是1,3,5,7...奇数个节点 @@ -9,8 +11,6 @@ + lb节点--------x2 : 负载均衡节点两个,安装 haproxy+keepalived + node节点------x3 : 真正应用负载的节点,根据需要提升机器配置和增加节点数 -**请注意对于多节点集群,请确保各节点时区设置一致,并使用ntp服务器同步各节点时间。** - 生产环境使用建议一个节点只是一个角色,这里演示环境将节点绑定多个角色。项目预定义了3个例子,请修改后完成适合你的集群规划。 + [单节点](../example/hosts.allinone.example) diff --git a/docs/guide/chrony.md b/docs/guide/chrony.md new file mode 100644 index 000000000..cffe3e4ff --- /dev/null +++ b/docs/guide/chrony.md @@ -0,0 +1,41 @@ +# chrony 时间同步 + +在安装k8s集群前需确保各节点时间同步;`chrony` 是一个优秀的 `NTP` 实现,性能比ntp好,且配置管理方便;它既可作时间服务器服务端,也可作客户端。 + +- `OpenStack` 社区也推荐使用 `chrony`实现各节点之间的时间同步 + +## 安装配置介绍 + +项目中选定一个节点(`deploy` )作为集群内部其他节点的时间同步源,而 deploy节点本身从公网源同步;当然如果整个集群都无法访问公网,那么请手动校准deploy 节点的时间后,仍旧可以作为内部集群的时间源服务器。 + +- 配置 chrony server, 在`/etc/chrony.conf` 配置以下几项,其他项默认值即可 + +``` bash +# 1. 配置时间源,国内可以增加阿里的时间源 ntp1.aliyun.com +server {{ ntp_server }} iburst + +# 2. 配置允许同步的客户端网段 +allow {{ local_network }} + +# 3. 配置离线也能作为源服务器 +local stratum 10 +``` + +- 配置 chrony client + +``` bash +# 1. 清除所有其他时间源,只配置一个本地 deploy节点作为源 +server {{ groups.deploy[0] }} iburst + +# 2. 其他所有项可以默认配置 +``` + +## `kubeasz` 集成安装 + +- 修改 ansible hosts 文件,在 `deploy` 节点配置 `NTP_ENABLED=yes` (默认: no) +- [可选] 修改 roles/chrony/var/main.yml 中的变量定义,关于文件 roles/chrony/var/main.yml 的由来请看[这里](../config_guide.md) + +对于新集群或者新节点,`chrony` 的安装配置已经集成到 `90.setup.yml` `01.prepare.yml` `20.addnode.yml` `21.addmaster.yml` 等脚本中;对于已运行中的集群请执行如下命令进行安装: + +`ansible-playbook /etc/ansible/roles/chrony/chrony.yml ` + diff --git a/docs/mixes/DoneList.md b/docs/mixes/DoneList.md new file mode 100644 index 000000000..0aefad664 --- /dev/null +++ b/docs/mixes/DoneList.md @@ -0,0 +1,55 @@ +## 前言 + +`kubeasz`项目开始于`2017.11`,半年多时间以来,从最开始单一的ansible部署脚本朝着提供部署高可用 K8S集群的完整解决方案的目标不断前进,接下去项目的发展需要各位的共同参与和贡献,希望越做越好,为国内k8s学习、实践者提供更多帮助。 + +### 项目已完成部分 + +
类型 | +描述 | +备注 | +
---|---|---|
集群部署 | +服务器基础安全加固与参数优化 | +已完成 | +
基础服务 | +集群监控告警-prometheus | +已完成基础,待优化 | +
应用服务 | +jenkins集成 | +已完成 | +
集群部署 | +kube-router网络插件 | +已完成 | +
基础服务 | +metrics server | +已完成 | +
集群部署 | +ipvs代理模式跟进 | +已完成 | +
集群部署 | +cilium网络插件 | +已完成 | +
集群部署 | +集群内时间同步-Chrony | +已完成 | +