本系列文章:
第七章:九析带你轻松完爆 helm3 nginx-ingress
第十一章:九析带你轻松完爆 helm3 kubernetes-dashboard
第十三章:九析带你轻松完爆 helm3 prometheus
目录
1 前言
2 下载 elasticsearch
3 创建 elasticsearch 命名空间
4 安装 elasticsearch
4.1 修改配置
4.2 安装 elasticsearch
5 安装 nfs 存储服务器
6 创建 pv
7 创建 secret
7.1 创建自签名证书
7.2 根据证书生成 secret
8 验证 elasticsearch
1 前言
本文采用 helm3 v3.0.0;k8s v1.16.3。helm 仓库配置如下:
2 下载 elasticsearch
helm 搜索 elasticsearch:
helm search repo elasticsearch
helm 下载并解压 elasticsearch:
helm fetch google/elasticsearch
tar -zxvf elasticsearch-1.32.1.tgz
3 创建 elasticsearch 命名空间
kubectl create ns elasticsearch
4 安装 elasticsearch
4.1 修改配置
编辑 values.yaml 文件,修改 ingress 相关配置,截图如下:
因为开启了 ingress,所以需要安装好 nginx-ingress,安装方式参考本人的《helm3 安装 nginx-ingress》,不必担心,安装过程容易到让你尖叫。
此外,data pvc 大小从 30Gi 变更为 15Gi:
4.2 安装 elasticsearch
第一个 elasticsearch 是命名空间,第二个是 helm release,第三个是 elasticsearch 安装目录:
helm install -n efk elasticsearch elasticsearch
使用 helm 进行查看:
helm list -n efk
自此,elasticsearch chart 安装成功。但是不要得意,安装成功不代表运行成功。不信,你可以查看一下 pvc 和 pod 情况:
kubectl get pod -n efk
kubectl get pvc -n efk
5 安装 nfs 存储服务器
如何安装 nfs 服务器,请参考本人《轻松完爆 nfs 安装》,不用担心,简单到爆,让你分分钟轻松完爆。
mkdir -p /data/nfs/elasticsearch/data/15g/{0,1}
mkdir -p /data/nfs/elasticsearch/master/4g/{0,1,2}
chmod 777 -R /data/nfs/elasticsearch
echo '/data/nfs/elasticsearch 10.110.0.0/16(rw,sync,no_root_squash)' >> /etc/exports
systemctl restart nfs
6 创建 pv
安装完存储服务器后,下面开始创建 pv。注意下面的 server 是 nfs 服务器的 IP:
创建 pv-elasticsearch-master-4g.yaml 文件:
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-elasticsearch-master-4g-0
spec:
capacity:
storage: 4Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
server: 10.110.101.106
path: /data/nfs/elasticsearch/master/4g/0
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-elasticsearch-master-4g-1
spec:
capacity:
storage: 4Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
server: 10.110.101.106
path: /data/nfs/elasticsearch/master/4g/1
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-elasticsearch-master-4g-2
spec:
capacity:
storage: 4Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
server: 10.110.101.106
path: /data/nfs/elasticsearch/master/4g/2
创建 pv-elasticsearch-data-15g.yaml 文件:
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-elasticsearch-data-15g-0
spec:
capacity:
storage: 15Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
server: 10.110.101.106
path: /data/nfs/elasticsearch/data/15g/0
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-elasticsearch-data-15g-1
spec:
capacity:
storage: 15Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
server: 10.110.101.106
path: /data/nfs/elasticsearch/data/15g/1
创建 pv 语句如下:
kubectl apply -f pv-elasticsearch-master-4g.yaml
kubectl apply -f pv-elasticsearch-data-15g.yaml
7 创建 secret
7.1 创建自签名证书
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./tls.key -out ./tls.crt -subj "/CN=jiuxi.elasticsearch.org"
7.2 根据证书生成 secret
kubectl -n efk create secret tls elasticsearch-tls --key ./tls.key --cert ./tls.crt
8 验证 elasticsearch
打开浏览器,访问 https://jiuxi.elasticsearch.org(需要修改 /etc/hosts 文件,添加域名解析记录,注意 IP 是 nginx-ingress pod 所在宿主机 IP,切记)。
自此,轻松完爆 helm3 安装 elasticsearch。