k8s+docker+prometheus部署

我主页有k8s+docker部署

三台一起创建

mkdir prom

yum install -y unzip

第一台master拖入kube-prometheus.zip

cd prom

unzip kube-prometheus.zip

cd kube-prometheus

安装prometheus Operator

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

然后在三台都传images.zip

unzip images.zip

cd images

导入镜像

sh imp_docker_img.sh

cd prom/kube-prometheus/

kubectl apply --server-side -f manifests/

查看空间下的所有资源:

kubectl get all -n monitoring

查看容器的状态:

kubectl get pod -n monitoring

cd

kubectl edit svc grafana -n monitoring

type:NodePort #36

查看所有

kubectl get svc -n monitoring

查看指定

kubectl get svc grafana -n monitoring

访问grafana

http://192.168.10.40:30782

修改Prometheus的Service类型修改

查看prometheus的类型

kubectl get svc -n monitoring prometheus-k8s

kubectl edit svc prometheus-k8s -n monitoring

type:NodePort #48

再次查看类型

访问prometheus

http://192.168.10.40:32323

查看监控目标

配置 Grafana Dashbord

选择数据源

添加图表

输入官方的监控模板id:13105

选择图表数据源

添加云原生监控项

添加监控组件ETCD

查看状态:

kubectl get pod -n kube-system

查看之前创建的 servicemonitors资源

kubectl get servicemonitors -A

通过 ClusterIP 访问测试

curl --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/healthcheck-client.crt --key /etc/kubernetes/pki/etcd/healthcheck-client.key https://192.168.10.40:2379/metrics

创建 ETCD 证书的 Secre

kubectl -n monitoring create secret generic etcd-certs --from-file=/etc/kubernetes/pki/etcd/ca.crt --from-file=/etc/kubernetes/pki/etcd/healthcheck-client.crt --from-file=/etc/kubernetes/pki/etcd/healthcheck-client.key

修改 prometheus 资源,应用上一步创建的 secre

kubectl edit prometheus k8s -n monitoring

在未行添加

secrets:

- etcd-certs

查看证书

kubectl -n monitoring exec -it prometheus-k8s-0 -c prometheus -- sh

ls /etc/prometheus/secrets/etcd-certs/

创建 ETCD ServiceMonitor

kubectl get pod -A | grep etcd

kubectl expose pod -n kube-system etcd-master --name=etcd-k8s --port=2379 --target-port=2379

kubectl edit svc etcd-k8s -n kube-system

创建 Etcd-ServiceMonitor.yaml

vim Etcd-ServiceMonitor.yaml

启用文件:

kubectlapply -f Etcd-ServiceMonitor.yaml

浏览器查看监控目标:

来到http://192.168.10.30:32702/

这里正常的是应该有数据的我这里是个人原因

就可以监控到etcd图表了

添加非云原生监控项

在Kubernetes中安装一个mysql

 kubectl create eploy mysql --image=mysql:5.7.23

设置mysql密码

kubectl setenv deploy/mysql

MYSQL_ROOT_PASSWORD=pwd123

查看pod的状态

kubectl get pod

创建service,暴露mysql端口

kubectl expose deployment mysql --type NodePort --port=3306

kubectl getsvc -l app=mysql

访问测试

yum -yinstall mysql

进入数据库

mysql -uroot -ppwd123 -h 192.168.10.30 -P 30369

退出;

配置mysql exporter采集mysql监控文件

vim  mysql-exporter.yaml

kubectl create -f mysql-exporter.yaml

kubectl get -f mysql-exporter.yaml

测试能否获取metrics数据

使用上个命令查看的IP和端口

curl 10.1.236.118:9104/metrics | tail -1

配置ServiceMonitor

vim mysql-sm.yaml

应用文件

kubectl apply -f mysql.sm.yaml

访问查看监控目标

创建模板Id:6239 查看图表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值