Skip to content

Commit

Permalink
更新 chrony 相关文档
Browse files Browse the repository at this point in the history
  • Loading branch information
gjmzj committed Aug 18, 2018
1 parent 7054b57 commit 20d5195
Show file tree
Hide file tree
Showing 7 changed files with 109 additions and 35 deletions.
4 changes: 2 additions & 2 deletions docs/00-集群规划和基础参数设定.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

多节点高可用集群部署步骤与[AllinOne部署](quickStart.md)基本一致,增加LB 负载均衡部署步骤。

**注意:请确保各节点时区设置一致、时间同步。** 如果你的环境没有提供NTP 时间同步,推荐集成安装[chrony](guide/chrony.md)

## 高可用集群所需节点配置如下:
+ 部署节点------x1 : 运行这份 ansible 脚本的节点
+ etcd节点------x3 : 注意etcd集群必须是1,3,5,7...奇数个节点
+ master节点----x2 : 根据实际集群规模可以增加节点数,需要额外规划一个master VIP(虚地址)
+ lb节点--------x2 : 负载均衡节点两个,安装 haproxy+keepalived
+ node节点------x3 : 真正应用负载的节点,根据需要提升机器配置和增加节点数

**请注意对于多节点集群,请确保各节点时区设置一致,并使用ntp服务器同步各节点时间。**

生产环境使用建议一个节点只是一个角色,这里演示环境将节点绑定多个角色。项目预定义了3个例子,请修改后完成适合你的集群规划。

+ [单节点](../example/hosts.allinone.example)
Expand Down
41 changes: 41 additions & 0 deletions docs/guide/chrony.md
Original file line number Diff line number Diff line change
@@ -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 `

55 changes: 55 additions & 0 deletions docs/mixes/DoneList.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
## 前言

`kubeasz`项目开始于`2017.11`,半年多时间以来,从最开始单一的ansible部署脚本朝着提供部署高可用 K8S集群的完整解决方案的目标不断前进,接下去项目的发展需要各位的共同参与和贡献,希望越做越好,为国内k8s学习、实践者提供更多帮助。

### 项目已完成部分

<table border="0">
<tr>
<th>类型</th>
<th>描述</th>
<th>备注</th>
</tr>
<tr>
<td>集群部署</td>
<td>服务器基础安全加固与参数优化</td>
<td>已完成</td>
</tr>
<tr>
<td>基础服务</td>
<td>集群监控告警-prometheus</td>
<td>已完成基础,待优化</td>
</tr>
<tr>
<td>应用服务</td>
<td>jenkins集成</td>
<td>已完成</td>
</tr>
<tr>
<td>集群部署</td>
<td>kube-router网络插件</td>
<td>已完成</td>
</tr>
<tr>
<td>基础服务</td>
<td>metrics server</td>
<td>已完成</td>
</tr>
<tr>
<td>集群部署</td>
<td>ipvs代理模式跟进</td>
<td>已完成</td>
</tr>
<tr>
<td>集群部署</td>
<td>cilium网络插件</td>
<td>已完成</td>
</tr>
<tr>
<td>集群部署</td>
<td>集群内时间同步-Chrony</td>
<td>已完成</td>
</tr>
</table>


35 changes: 5 additions & 30 deletions docs/mixes/TodoList.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## 前言

`kubeasz`项目开始于`2017.11`半年多时间以来,从最开始单一的ansible部署脚本朝着提供部署高可用 K8S集群的完整解决方案的目标不断前进,接下去项目的发展需要各位的共同参与和贡献,希望越做越好,为国内k8s学习、实践者提供更多帮助。
`kubeasz`项目开始于`2017.11`,从最开始单一的ansible部署脚本朝着提供部署高可用 K8S集群的完整解决方案的目标不断前进;项目的发展需要各位的共同参与和贡献,希望越做越好,为国内k8s学习、实践者提供更多帮助。
现在是很好的时间节点,梳理项目的`TodoList`/`Milestones`,以下是现有的一些想法,欢迎大家在[这里](https://github.com/gjmzj/kubeasz/issues/188)参与讨论。

### 项目 TodoList
Expand All @@ -11,45 +11,20 @@
<th>描述</th>
<th>备注</th>
</tr>
<tr>
<td>集群部署</td>
<td>集群内时间同步-Chrony</td>
<td>暂取消</td>
</tr>
<tr>
<td>集群部署</td>
<td>服务器基础安全加固与参数优化</td>
<td>已完成</td>
</tr>
<tr>
<td>基础服务</td>
<td>集群监控告警-prometheus</td>
<td>已完成基础,待优化</td>
</tr>
<tr>
<td>应用服务</td>
<td>CI/CD 集成</td>
<td>更新jenkins</td>
</tr>
<tr>
<td>集群部署</td>
<td>kube-router网络插件</td>
<td>已完成</td>
<td>服务治理-istio跟进</td>
<td></td>
</tr>
<tr>
<td>基础服务</td>
<td>metrics server</td>
<td>已完成</td>
</tr>
<tr>
<td>集群部署</td>
<td>ipvs代理模式跟进</td>
<td>已完成</td>
</tr>
<tr>
<td>应用服务</td>
<td>服务治理-istio跟进</td>
<td></td>
<td>ingress-nginx</td>
<td>待集成manifests及使用文档</td>
</tr>
</table>

Expand Down
3 changes: 2 additions & 1 deletion example/hosts.allinone.example
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# 部署节点:运行ansible 脚本的节点
# 集群部署节点:一般为运行ansible 脚本的节点
# 变量 NTP_ENABLED (=yes/no) 设置集群是否安装 chrony 时间同步
[deploy]
192.168.1.1 NTP_ENABLED=no

Expand Down
3 changes: 2 additions & 1 deletion example/hosts.m-masters.example
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# 部署节点:运行这份 ansible 脚本的节点
# 集群部署节点:一般为运行ansible 脚本的节点
# 变量 NTP_ENABLED (=yes/no) 设置集群是否安装 chrony 时间同步
[deploy]
192.168.1.1 NTP_ENABLED=no

Expand Down
3 changes: 2 additions & 1 deletion example/hosts.s-master.example
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# 部署节点:运行ansible 脚本的节点
# 集群部署节点:一般为运行ansible 脚本的节点
# 变量 NTP_ENABLED (=yes/no) 设置集群是否安装 chrony 时间同步
[deploy]
192.168.1.1 NTP_ENABLED=no

Expand Down

0 comments on commit 20d5195

Please sign in to comment.