k8s部署prometheus

部署pvc

修改nfs-deployment.yaml文件中的信息,然后应用YAML文件

bash 复制代码
cat > /opt/k8s/prometheus/prometheus-pvc.yaml <<EOF
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: prometheus-data-pvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: "nfs-storage"
  resources:
    requests:
      storage: 5Gi
EOF
bash 复制代码
kubectl apply -f prometheus-pvc.yaml 
kubectl get pvc

部署ConfigMap

上传文件prometheus.yml 、alert.mysql.rules.yml 、alert.node.rules.yml到/opt/k8s/prometheus/file/下

bash 复制代码
kubectl create configmap prometheus-config \
  --from-file=prometheus.yml=/opt/k8s/prometheus/file/prometheus.yml \
  --from-file=alert.mysql.rules.yml=/opt/k8s/prometheus/file/alert.mysql.rules.yml \
  --from-file=alert.node.rules.yml=/opt/k8s/prometheus/file/alert.node.rules.yml

如需修改可使用kubectl edit 或者以下方式

删除现有的ConfigMap
kubectl delete configmap prometheus-config
使用新的文件重新创建ConfigMap
kubectl create configmap prometheus-config

--from-file=prometheus.yml=/path/to/new/prometheus.yml

--from-file=alert.mysql.rules.yml=/path/to/new/alert.mysql.rules.yml

--from-file=alert.node.rules.yml=/path/to/new/alert.node.rules.yml

部署Deployment

修改prometheus-Deployment.yaml文件中的信息,然后应用YAML文件

bash 复制代码
cat > /opt/k8s/prometheus/prometheus-Deployment.yaml <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: prometheus-deployment
spec:
  replicas: 1
  selector:
    matchLabels:
      app: prometheus
  template:
    metadata:
      labels:
        app: prometheus
    spec:
      containers:
      - name: prometheus
        image: prom/prometheus
        ports:
        - containerPort: 9090
        volumeMounts:
        - name: prometheus-config-volume
          mountPath: /etc/prometheus
          readOnly: true
        - name: prometheus-data
          mountPath: /prometheus
      volumes:
      - name: prometheus-config-volume
        configMap:
          name: prometheus-config
      - name: prometheus-data
        persistentVolumeClaim:
          claimName: prometheus-data-pvc
EOF
bash 复制代码
kubectl apply -f prometheus-Deployment.yaml 
kubectl get Deployment

部署Service

修改prometheus-Service.yaml文件中的信息,然后应用YAML文件

bash 复制代码
cat > /opt/k8s/prometheus/prometheus-Service.yaml <<EOF
apiVersion: v1
kind: Service
metadata:
  name: prometheus-service
spec:
  type: NodePort
  ports:
  - port: 9090
    targetPort: 9090
    nodePort: 30090
  selector:
    app: prometheus
EOF
bash 复制代码
kubectl apply -f prometheus-Service.yaml 
kubectl get Service
相关推荐
jiayong2314 分钟前
Kubernetes 网络与服务发现面试题详解
网络·kubernetes·服务发现
噎住佩奇34 分钟前
k8s创建测试Pod的流程
云原生·容器·kubernetes
ζั͡山 ั͡有扶苏 ั͡✾37 分钟前
从Rancher崩溃中恢复Kubernetes集群访问权限:完整kubeconfig恢复指南
容器·kubernetes·rancher
無限神樂1 小时前
docker compose简介
运维·docker·容器
Lim小刘1 小时前
深度实践:从“手动排障”到“对话诊断”,构建基于 GenAI 的 K8s 智能运维平台
云原生·容器·kubernetes
-dcr2 小时前
55.k8s核心概念Service
云原生·容器·kubernetes
无级程序员2 小时前
K8S节点磁盘空间不足导致502错误的排除
云原生·容器·kubernetes
Paraverse_徐志斌2 小时前
K8S HPA + KEDA 弹性伸缩消费者解决 MQ 消息积压
容器·kafka·kubernetes·k8s·linq·hpa·keda
迎仔2 小时前
Kubernetes (K8s) 通俗原理解析:算力中心的“超级调度员”
云原生·容器·kubernetes
AC赳赳老秦2 小时前
文旅行业:DeepSeek处理客流数据生成预测模型与调度建议
人工智能·云原生·容器·kubernetes·notepad++·consul·deepseek