14 6 月, 2025

Prometheus 0.13.0 部署

1)下载dashboard配置文件

wget https://resource-obsbothk.com/Soft/K8S/prometheus/kube-prometheus-0.13.0.tar.gz

解压

tar -zxvf kube-prometheus-0.13.0.zip  
cd kube-prometheus-0.13.0

2)修改镜像源地址

如果没有vpn,需要修改对应服务的镜像,manifests/ 文件夹下面所有的deployment yaml 文件

3)修改prometheus service

manifests/prometheus-service.yaml

# 设置对外访问端口,增加如下两行
type: NodePort
nodePort: 31922

4)修改 Grafana 的 service

manifests/grafana-service.yaml

# 设置对外访问端口,增加如下两行
type: NodePort
nodePort: 30300

5)修改 Alertmanager 的 service

manifests/alertmanager-service.yaml

# 设置对外访问端口,增加如下两行
type: NodePort
nodePort: 30200

6)安装prometheus

kubectl apply --server-side -f manifests/setup
kubectl apply -f manifests/

执行完成以后,访问monitoring 空间,查看部署状态,可以看到启动成功,并且都是高可用部署

kubectl get pods,svc -n monitoring

7)验证Prometheus服务连通性

Prometheus: IP+31922

Alertmanager: IP+30200

Grafana: IP+30300

8)卸载Prometheus

kubectl delete --ignore-not-found=true -f manifests/ -f manifests/setup

k8s1.30 部署 Ingress-nginx

1)下载ingress配置文件

备注

ingress镜像已替换成国内镜像源,不会拉取失败

wget https://resource-obsbothk.com/Soft/K8S/ingress/ingress_deploy.yaml

安装ingress,并查看服务状态,看是否都是running

kubectl apply -f ingress_deploy.yaml

# 查看服务状态
watch kubectl get pods,svc -n ingress-nginx

2)如果要使用80/443端口访问service,更改ingress-nginx配置文件,如下

apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
    app.kubernetes.io/version: 1.12.3
  name: ingress-nginx-controller
  namespace: ingress-nginx
spec:
  externalTrafficPolicy: Local
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - appProtocol: http
    name: http
    port: 80
    nodePort: 80 # 新增nodePort 80端口
    protocol: TCP
    targetPort: http
  - appProtocol: https
    name: https
    port: 443
    nodePort: 443 # 新增nodePort 443端口
    protocol: TCP
    targetPort: https
  selector:
    app.kubernetes.io/component: controller
    app.kubernetes.io/instance: ingress-nginx
    app.kubernetes.io/name: ingress-nginx
  type: NodePort # 端口暴露方式改成 NodePort
# 刷新ingress 配置

kubectl apply -f ingress_deploy.yaml

3)刷新配置时,遇到报错提示,还需添加kube配置

vi /etc/kubernetes/manifests/kube-apiserver.yaml

# 在command最后面添加
- --service-node-port-range=1-65535

重启kubectl

systemctl daemon-reload
systemctl restart kubelet
# 查看ingress controller 是否如下图所示:
watch kubectl get pods,svc -n ingress-nginx