目录
- 导航
- 前言
- 相关yaml文件
-
- minio-service.yaml
- minio-service-web.yaml
- minio.yaml
- 部署
- 验证
导航
进阶之路:从零到一在k8s上部署高可用prometheus —— 总览
进阶之路:从零到一在k8s上部署高可用prometheus —— 准备工作
进阶之路:从零到一在k8s上部署高可用prometheus —— exporter
进阶之路:从零到一在k8s上部署高可用prometheus —— consul
进阶之路:从零到一在k8s上部署高可用prometheus —— prometheus-operator
进阶之路:从零到一在k8s上部署高可用prometheus —— prometheus
进阶之路:从零到一在k8s上部署高可用prometheus —— alertmanager
进阶之路:从零到一在k8s上部署高可用prometheus —— minio
进阶之路:从零到一在k8s上部署高可用prometheus —— thanos receive、thanos query
前言
经过前面几章的部署,我们已经搭建起了一套可用的监控平台(没错,prometheus
+ alertmanager
的组合已经可以实现监控的基本要求了)。但是我们之前部署的三节点prometheus只是三个采集同样数据的离散节点而已,各个节点之间没有关联,困扰我们的单点故障问题并没有解决,接下来我们将通过thanos receive
着手解决这一问题。
thanos receive的热数据是保存在本地的tsdb里的,但是冷数据目前只支持通过对象存储来持久化,所以本章我们先来通过minio
提供一个简单的对象存储服务。
相关yaml文件
minio-service.yaml
apiVersion: v1
kind: Service
metadata:name: minio-ifcloud
spec:type: ClusterIPports:- name: apiport: 9000targetPort: 9000protocol: TCP- name: consoleport: 9001targetPort: 9001protocol: TCPselector:app: minio-ifcloud
minio-service-web.yaml
kind: Service
apiVersion: v1
metadata:name: minio-ifcloud-weblabels:app: minio-ifcloud-web
spec:ports:- name: http-webprotocol: TCPport: 9001targetPort: 9001nodePort: 30006selector:app: minio-ifcloudtype: NodePortsessionAffinity: None
minio.yaml
apiVersion: apps/v1
kind: Deployment
metadata:name: minio-ifcloud
spec:selector:matchLabels:app: minio-ifcloudstrategy:type: Recreatetemplate:metadata:labels:app: minio-ifcloudspec:containers:- name: minio-ifcloudimage: minio/miniocommand:- /bin/sh- -c- "mkdir -p /storage/thanos && /usr/bin/minio server /storage --console-address ':9001'"env:- name: MINIO_ACCESS_KEYvalue: "minio" # 默认用户名- name: MINIO_SECRET_KEYvalue: "Zhu@88jie" # 默认密码ports:- name: apicontainerPort: 9000protocol: TCP- name: consolecontainerPort: 9001protocol: TCPvolumeMounts:- name: storagemountPath: "/storage"volumes:- name: storageemptyDir: {
}
部署
# 将以上文件放在目录/yaml/minio下
# 执行以下命令验证yaml文件正确性
kubectl apply -f /yaml/minio -n prom-ha --dry-run=client# 验证无误后执行以下命令创建相关k8s资源
kubectl apply -f /yaml/minio -n prom-ha
验证
部署完成后访问http://192.168.25.80:30006,输入用户名密码后看到以下内容即证明部署成功(数据不同属于正常现象)。