欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

《Kubernetes部署篇:Kubernetes持久化部署elasticsearch7.17.0分布式集群》

时间:2023-05-05
文章目录

一、背景二、资源下载三、使用nfs-client实现storageclass

3.1、安装nfs服务端3.2、安装nfs客户端3.3、安装nfs插件 三、部署分布式elasticsearch7.17.0集群总结:整理不易,如果对你有帮助,可否点赞关注一下?


一、背景

Metrics Server是一个集群范围内的资源数据集和工具,同样的,metrics-server也只是显示数据,并不提供数据存储服务,主要关注的是资源度量API的实现,比如CPU、文件描述符、内存、请求延时等指标,metric-server收集数据给k8s集群内使用,如kubectl,hpa,scheduler等。


二、资源下载
三、使用nfs-client实现storageclass

当前业务系统需要对监控的数据进行持久化存储,这里使用nfs作为动态storageClass存储,对prometheus监控数据进行持久化存储。


3.1、安装nfs服务端

说明:建议找一台单独且磁盘容量足够大的服务器作为nfs-server端。

# 1、安装nfs-server端yum -y install nfs-utils rpcbindsystemctl start nfs && systemctl enable nfssystemctl start rpcbind && systemctl enable rpcbind# 3、创建共享目录mkdir -p /data/volumes/{v1,v2,v3} # 3、编辑配置文件cat > /etc/exports << EOF/data/volumes/v1 192.168.1.0/24(rw,no_root_squash,no_all_squash)/data/volumes/v2 192.168.1.0/24(rw,no_root_squash,no_all_squash)/data/volumes/v3 192.168.1.0/24(rw,no_root_squash,no_all_squash)EOF# 4、发布[root@k8s-client volumes]# exportfs -arvexporting 192.168.1.0/24:/data/volumes/v1exporting 192.168.1.0/24:/data/volumes/v2exporting 192.168.1.0/24:/data/volumes/v3# 5、查看[root@k8s-client ~]# showmount -e 192.168.1.17Export list for 192.168.1.17:/data/volumes/v1 192.168.1.0/24/data/volumes/v2 192.168.1.0/24/data/volumes/v3 192.168.1.0/24


3.2、安装nfs客户端

说明:当前环境kubernetes集群master节点和worker节点则为nfs客户端。

# 客户端不需要创建共享目录和编辑配置文件,只安装服务就行yum -y install nfs-utils


3.3、安装nfs插件

说明:具有kubectl权限的主机。

官方测试资源下载
NFS动态存储StorageClass资源清单文件

1、修改deployment.yaml文件

2、创建账号

kubectl create -f rbac.yaml

3、创建nfs-client

kubectl create -f deployment.yaml

4、创建nfs-client kubernetes storage class

kubectl create -f class.yaml

5、设置StorageClass为默认
说明:默认的 StorageClass 将被用于动态的为没有特定 storage class 需求的PersistentVolumeClaims 配置存储:(只能有一个默认StorageClass),如果没有默认StorageClass,PVC 也没有指定storageClassName 的值,那么意味着它只能够跟 storageClassName相同的PV进行绑定。

kubectl patch storageclass managed-nfs-storage -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

如下图所示:

6、测试pvc

[root@k8s-master-227 nfs]# kubectl apply -f test-claim.yaml

问题:创建的pvc一直处于pending状态

解决方案:分别在三个master节点上,修改/etc/kubernetes/manifests/kube-apiserver.yaml 文件,添加添加–feature-gates=RemoveSelflink=false,当前kubernetes集群是使用kubeadm部署的,修改kube-apiserver.yaml 文件会自动重启apiserver服务,不用手动重启,如下图所示:

如下图所示,则表明pvc创建成功

7、测试pod

[root@k8s-master-227 nfs]# kubectl apply -f test-pod.yaml

如下图所示,则表示pod运行成功

查看nfs-server主机上共享目录/data/volumes/v1/,下面有SUCCESS文件


三、部署分布式elasticsearch7.17.0集群
总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:企业级K8s集群运维实战

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。