部署pvc
修改nfs-deployment.yaml
文件中的信息,然后应用YAML文件
cat > /opt/k8s/prometheus/prometheus-pvc.yaml <<EOF
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: prometheus-data-pvc
spec:accessModes:- ReadWriteManystorageClassName: "nfs-storage"resources:requests:storage: 5Gi
EOF
kubectl apply -f prometheus-pvc.yaml
kubectl get pvc
部署ConfigMap
上传文件prometheus.yml 、alert.mysql.rules.yml 、alert.node.rules.yml到/opt/k8s/prometheus/file/下
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文件
cat > /opt/k8s/prometheus/prometheus-Deployment.yaml <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:name: prometheus-deployment
spec:replicas: 1selector:matchLabels:app: prometheustemplate:metadata:labels:app: prometheusspec:containers:- name: prometheusimage: prom/prometheusports:- containerPort: 9090volumeMounts:- name: prometheus-config-volumemountPath: /etc/prometheusreadOnly: true- name: prometheus-datamountPath: /prometheusvolumes:- name: prometheus-config-volumeconfigMap:name: prometheus-config- name: prometheus-datapersistentVolumeClaim:claimName: prometheus-data-pvc
EOF
kubectl apply -f prometheus-Deployment.yaml
kubectl get Deployment
部署Service
修改prometheus-Service.yaml
文件中的信息,然后应用YAML文件
cat > /opt/k8s/prometheus/prometheus-Service.yaml <<EOF
apiVersion: v1
kind: Service
metadata:name: prometheus-service
spec:type: NodePortports:- port: 9090targetPort: 9090nodePort: 30090selector:app: prometheus
EOF
kubectl apply -f prometheus-Service.yaml
kubectl get Service