一、安装文件准备
1、clone安装代码
目前tag最新版是v0.3.0,这里使用v0.3.0版本
# clone代码
git clone https://github.com/coreos/kube-prometheus.git
# 切换tag
git checkout tags/v0.3.0
2、更改镜像地址
由于默认的官方镜像太慢,更换位国内微软镜像源。
# 进入安装文件目录
cd kube-prometheus
# 查看包含镜像地址的文件列表
grep "quay.io" -rl manifests/*
# 批量替换
sed -i "s/quay.io/quay.azk8s.cn/g" `grep "quay.io" -rl manifests/*`
修改manifests/grafana-deployment.yaml文件grafana镜像源
grafana镜像源也是很慢,建议通过代理在本地下载一份,上传到公司内部仓库,这里我是暂时上传了一份到个人的阿里云镜像库。

3、修改prometheus-serviceMonitorKubelet.yaml
由https-metrics改为http-metrics,并将scheme改为http

4、修改grafana-service.yaml
端口号类型改为NodeType,暴露出一个端口供web端访问
账号:admin,密码:admin

5、修改alertmanager-service.yaml
端口号类型改为NodeType,暴露出一个端口供web端访问

6、修改prometheus-service.yaml
端口号类型改为NodeType,暴露出一个端口供web端访问

7、添加**prometheus-kubeControllerManagerService.yaml **文件
apiVersion: v1
kind: Service
metadata:
namespace: kube-system
name: kube-controller-manager
labels:
k8s-app: kube-controller-manager
spec:
selector:
component: kube-controller-manager
ports:
- name: http-metrics
port: 10252
targetPort: 10252
protocol: TCP
8、添加prometheus-kubeSchedulerService.yaml文件
apiVersion: v1
kind: Service
metadata:
namespace: kube-system
name: kube-scheduler
labels:
k8s-app: kube-scheduler
spec:
selector:
component: kube-scheduler
ports:
- name: http-metrics
port: 10251
targetPort: 10251
protocol: TCP
9、修改k8s的配置文件 /var/lib/kubelet/config.yaml
针对每台宿主机,添加如下端口 readOnlyPort: 10255,用于普罗米修斯获取metrics数据

10、修改/etc/kubernetes/manifests/kube-scheduler.yaml文件
将--bind-address=127.0.0.1改为--bind-address=0.0.0.0

11、修改/etc/kubernetes/manifests/kube-controller-manager.yaml文件
将--bind-address=127.0.0.1改为--bind-address=0.0.0.0

针对k8s配置文件的修改,需要重启服务
systemctl daemon-reload && systemctl restart kubelet
二、部署
# 创建namespace和CRDs
kubectl create -f manifests/setup
# 部署资源
kubectl create -f manifests/
# 查看资源运行
kubectl -n monitoring get all -o wide
网友评论