helm prometheus 私有仓库部署
1. 下载prometheus包
2. 下载镜像
- alertmanager.tar
- configmap-reprload.tar
- kube-state-metrics.tar
- node-exporter.tar
- prometheus.tar
- pushgateway.tar
3. 镜像push 到本地私有仓库(本地用harbor实现)
docker login harbor
- 修改docker的/etc/docker/daemon.json文件
在所有的node节点中修改docker的/etc/docker/daemon.json文件修改insecure-registries参数。添加私有仓库的地址:
{
"registry-mirrors": ["https://xxx.aliyuncs.com"],
"insecure-registries": ["reg.xxx.com","172.30.204.101"]
}
- login harbor
[root ~]# docker login reg.xxx.com
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
[root ~]#
push 镜像到harbor
- docker load 以上镜像到docker
- docker tag SOURCE_IMAGE[:TAG] url/project/IMAGE[:TAG]
- docker push url/project/IMAGE[:TAG]
配置私有仓库密钥 (k8s集群配置secret)
方法1:
kubectl create secret docker-registry regsecret --docker-server=xxx/chartrepo --docker-username="xxx" --docker-password="xxx"
方法2:
kubectl create secret generic harborsecret \
--from-file=.dockerconfigjson=/root/.docker/config.json \
--type=kubernetes.io/dockerconfigjson
4. 修改prometheus values文件
包括两个文件 prometheus/values.yaml 和 prometheus/charts/kube-state-metrics/values.yaml
- 修改镜像地址
修改values.yaml 文件中image镜像地址
私有仓库地址/project/IMAGE[:TAG]
- 修改persistentVolume选项为false,共有三处
persistentVolume:
## If true, alertmanager will create/use a Persistent Volume Claim
## If false, use emptyDir
##
enabled: false
- 配置imagePullSecrets 选项
imagePullSecrets:
- name: "此处为上面k8s创建的secret"
5. helm 安装 prometheus
helm install k8s-pro ./prometheus
查看是否安装成功
[root@k8s3master ~]# kubectl get deploy
NAME READY UP-TO-DATE AVAILABLE AGE
k8s-pro-kube-state-metrics 1/1 1 1 60m
k8s-pro-prometheus-alertmanager 1/1 1 1 60m
k8s-pro-prometheus-pushgateway 1/1 1 1 60m
k8s-pro-prometheus-server 1/1 1 1 60m
[root@k8s3master ~]#