minor fix in docs

pull/349/head
gjmzj 2018-10-13 21:41:09 +08:00
parent 681cf495ef
commit 56b2c8eacb
4 changed files with 25 additions and 7 deletions

View File

@ -12,7 +12,7 @@
|docker|17.03.2-ce, 18.06.1-ce|
|network|calico, cilium, flannel, 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)
请阅读[项目TodoList](docs/mixes/TodoList.md)和[项目分支说明](docs/mixes/branch.md), 欢迎提[Issues](https://github.com/gjmzj/kubeasz/issues)和[PRs](docs/mixes/HowToContribute.md)参与维护项目。

View File

@ -2,7 +2,8 @@
`Elasticsearch`是目前全文搜索引擎的首选,它可以快速地储存、搜索和分析海量数据;也可以看成是真正分布式的高效数据库集群;`Elastic`的底层是开源库`Lucene`;封装并提供了`REST API`的操作接口。
## 单节点 docker 测试安装
## 单节点 docker 测试安装
``` bash
cat > es-start.sh << EOF
#!/bin/bash
@ -24,17 +25,21 @@ EOF
执行`sh es-start.sh`后,就在本地运行了。
- 验证 docker 镜像运行情况
``` bash
root@docker-ts:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
171f3fecb596 jmgao1983/elasticsearch:6.4.0 "/usr/local/bin/do..." 2 hours ago Up 2 hours 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es01
```
- 验证 es 健康检查
``` bash
root@docker-ts:~# curl http://127.0.0.1:9200/_cat/health
epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1535523956 06:25:56 docker-es green 1 1 0 0 0 0 0 0 - 100.0%
```
## 在 k8s 上部署 Elasticsearch 集群
在生产环境下Elasticsearch 集群由不同的角色节点组成:
@ -48,6 +53,7 @@ epoch timestamp cluster status node.total node.data shards pri relo i
- 1.安装 helm: 以本项目[安全安装helm](../guide/helm.md)为例
- 2.准备 PV: 以本项目[K8S 集群存储](../setup/08-cluster-storage.md)创建`nfs`动态 PV 为例
- 编辑配置文件roles/cluster-storage/defaults/main.yml
``` bash
storage:
nfs:
@ -57,20 +63,26 @@ storage:
storage_class: "nfs-es"
provisioner_name: "nfs-provisioner-01"
```
- 创建 nfs provisioner
``` bash
$ ansible-playbook /etc/ansible/roles/cluster-storage/cluster-storage.yml
# 执行成功后验证
$ kubectl get pod --all-namespaces |grep nfs-prov
kube-system nfs-provisioner-01-6b7fbbf9d4-bh8lh 1/1 Running 0 1d
```
- 3.安装 elasticsearch chart
``` bash
$ cd /etc/ansible/manifests/es-cluster
# 如果你的helm安装没有启用tls证书请使用helm命令替换以下的helms命令
$ helms install --name es-cluster --namespace elastic -f es-values.yaml elasticsearch
```
- 4.验证 es 集群
``` bash
# 验证k8s上 es集群状态
$ kubectl get pod,svc -n elastic
@ -102,11 +114,13 @@ root@k8s401:/etc/ansible# curl 10.100.97.41:29200/_cat/nodes?
172.31.1.6 18 97 4 0.39 0.29 0.27 mi - es-cluster-elasticsearch-master-2
172.31.3.6 20 97 4 0.11 0.17 0.18 mi * es-cluster-elasticsearch-master-1
```
### es 性能压测
如上已使用 chart 在 k8s上部署了 **7** 节点的 elasticsearch 集群;各位应该十分好奇性能怎么样;官方提供了压测工具[esrally](https://github.com/elastic/rally)可以方便的进行性能压测,这里省略安装和测试过程;压测机上执行:
`esrally --track=http_logs --target-hosts="$NODE_IP:29200" --pipeline=benchmark-only --report-file=report.md`
压测过程需要1-2个小时部分压测结果如下
``` bash
------------------------------------------------------
_______ __ _____
@ -149,11 +163,13 @@ root@k8s401:/etc/ansible# curl 10.100.97.41:29200/_cat/nodes?
| All | error rate | default | 0 | % |
...
```
从测试结果看集群的吞吐可以k8s es-client pod还可以扩展延迟略高一些因为使用了nfs共享存储整体效果不错。
### 中文分词安装
安装 ik 插件即可可以自定义已安装ik插件的es docker镜像创建如下 Dockerfile
``` bash
FROM jmgao1983/elasticsearch:6.4.0

View File

@ -2,7 +2,8 @@
多节点高可用集群部署步骤与[AllinOne部署](quickStart.md)基本一致增加LB 负载均衡部署步骤。
**注意:请确保各节点时区设置一致、时间同步。** 如果你的环境没有提供NTP 时间同步,推荐集成安装[chrony](guide/chrony.md)。
**注意1请确保各节点时区设置一致、时间同步。** 如果你的环境没有提供NTP 时间同步,推荐集成安装[chrony](../guide/chrony.md)。
**注意2如果需要在公有云上创建多主多节点集群请结合阅读[在公有云上部署 kubeasz](kubeasz_on_public_cloud.md)**
## 高可用集群所需节点配置如下:
+ 部署节点------x1 : 运行这份 ansible 脚本的节点
@ -11,15 +12,16 @@
+ lb节点--------x2 : 负载均衡节点两个,安装 haproxy+keepalived
+ node节点------x3 : 真正应用负载的节点,根据需要提升机器配置和增加节点数
生产环境使用建议一个节点只是一个角色这里演示环境将节点绑定多个角色。项目预定义了3个例子,请修改后完成适合你的集群规划。
项目预定义了4个例子,请修改后完成适合你的集群规划,生产环境建议一个节点只是一个角色
+ [单节点](../example/hosts.allinone.example)
+ [单主多节点](../example/hosts.s-master.example)
+ [多主多节点](../example/hosts.m-masters.example)
+ [在公有云上部署](../example/hosts.cloud.example)
## 部署步骤
按照[多主多节点](../example/hosts.m-masters.example)示例的节点配置准备4台虚机测试搭建一个多主高可用集群。
按照[多主多节点](../example/hosts.m-masters.example)示例的节点配置准备4台虚机搭建一个多主高可用集群。
### 1.基础系统配置

View File

@ -139,9 +139,9 @@ kubectl get svc --all-namespaces # 可以查看所有集群服务状态
ansible-playbook 99.clean.yml
```
如果出现清理失败,类似报错:`... Device or resource busy: '/var/run/docker/netns/xxxxxxxxxx'`需要手动umount该目录后重新清理
如果出现清理失败,类似报错:`... Device or resource busy: '/var/run/docker/netns/xxxxxxxxxx'`需要手动umount该目录后清理
``` bash
$ umount /var/run/docker/netns/xxxxxxxxxx
$ ansible-playbook /etc/ansible/tools/clean_one_node.yml
$ rm -rf /var/run/docker/netns/xxxxxxxxxx
```