11-6 监控落地

Prometheus

http://prom.tt.com/graph   登录 

Execute 点击即可查询对应的信息。

Graph 展示图表    Console展示数据

Status-->Tagrets     重要

  • 包含所有的 endpoint
  • Labels     endpoint下所有标签

metrics 把 Endpoint复制出来在workker节点上查看内容         # curl http://172.16.5.3:8080/metrics|less

kubelet   中 metrics 新推出  10255的http端口,只读端口   监控kubelet本身的

kubelet    中cadvisor。  监控当前节点容器信息

operator   8080 控制器本身的监控

prometheus  9090 本身监控

prometheus-operator/values.yaml   项目数据文件

修改ControllerManager  

#二进制方式修改抓取不到修改以下。kubeadm方式不修改

 endpoints:   #  二进制修改 。kubeadm 不修改部署位置
 - 192.168.1.100
 - 192.168.1.101
 - 192.168.1.102

#注释掉,不需要自动匹配 标签选择
#selector:  #  component: kube-controller-manager

# https: true    #开启, 根据下面查看修改

#查看是否使用https
# kubeadm安装方式。  这种当时不需要修改,这里只说明下配置文件位置。 并修改 127.0.0.1地址为本机把地址
vim /etc/kubernetes/manifests/kube-controller-manager.yaml #或  kubectl get pods -n kube-system kube-controller-manager-m1  -o yaml
# 二进制安装方式
 vim /etc/systemd/system/kube-cpntroller-manager.service 
ControllerManager.txt

修改 Scheduler

# 配置文件修改  - --bind-address=127.0.0.1  # 监听本机地址 192.168.1.100
vim /etc/kubernetes/manifests/kube-scheduler.yaml 

kubelet 修改端口为 10255
netstat -ntlp|grep kubelet

# 关闭https
https: false

# 查看
curl http://127.0.0.1:10250/metrics     #   10250 https   10255 http  新版本没有 10255
Scheduler.txt

修改ETCD

 endpoints:   #  指定监控位置。
 - 192.168.1.100
 - 192.168.1.101
 - 192.168.1.102

#查看 是否为 https
vim /etc/kubernetes/manifests/etcd.yaml 

# 开启 https访问
scheme: https
insecureSkipVerify: false   #
serverName: ""
caFile: "/etc/kubernetes/pki/etcd/ca.crt"
certFile: "/etc/kubernetes/pki/etcd/healthcheck-client.crt "
keyFile: "/etc/kubernetes/pki/etcd/healthcheck-client.key"

# 查看证书位置
kubectl get pod etcd-m1 -n kube-system -o yaml
# 创建secret,我们将需要使用到的证书通过 secret 对象保存到集群中去
kubectl create secret generic etcd-certs -n monitoring 
--from-file=/etc/kubernetes/pki/etcd/ca.crt  --from-file=--cert=/etc/kubernetes/pki/etcd/healthcheck-client.crt  --from-file=/etc/kubernetes/pki/etcd/healthcheck-client.key  
kubectl get secret -n monitoring etcd-certs -o yaml

# 添加证书到 prometheus的  pod中
prometheus:
  secrets:
  - etcd-certs   # 可以设置列表,上边创建的名字
二进制+HTTPS访问方式。txt

kubeadm http 访问方式

# 修改 values.yaml  端口  为 2381
service:
  port: 2381 
  targetPort: 2381 
# 修改etcd 配置文件   vim /etc/kubernetes/manifests/etcd.yaml  3台都改
- --listen-client-urls=https://127.0.0.1:2379,https://192.168.1.100:2379
- --listen-metrics-urls=http://0.0.0.0:2381    # 增加一行

修改 kubeProxy

# 修改 configmap。    metricsBindAddress: 127.0.0.1:10249换成0.0.0.0:10249 
kubectl edit cm kube-proxy -n kube-system

# 关闭https  #根据实际情况
https: false

# 查看端口
netstat -ntlp|grep proxy

发布更新项

# 删除
helm delete tt-prom -n monitoring 
# 查看
helm ls -n monitoring
kubectl get pods -n monitoring
# 删除  crd
kubectl delete crd $(kubectl get crd|grep coreos|awk '{print $1}')
# 安装 
helm install tt-prom ./prometheus-operator/ --namespace monitoring 

# 修改values没问题, 执行更新
helm upgrade tt-prom ./prometheus-operator/ --namespace monitoring 

end...

原文地址:https://www.cnblogs.com/edeny/p/14705982.html