当前位置: 首页 > news >正文

四、云原生应用监控-Etcd

Etcd 是 Kubernetes 内部核心组件之一,作为分布式键值存储,天然支持 Prometheus 监控,自带 /metrics 端点,可直接被 Prometheus 抓取。

Etcd监控需要使用到证书。


一、检查云原生Etcd

检查节点上的Etcd

[root@k8s-master01 manifests]#netstat -lnpt |grep etcd
tcp        0      0 10.1.3.31:2379          0.0.0.0:*               LISTEN      1408/etcd
tcp        0      0 127.0.0.1:2379          0.0.0.0:*               LISTEN      1408/etcd
tcp        0      0 10.1.3.31:2380          0.0.0.0:*               LISTEN      1408/etcd

[root@k8s-master01 ~]#curl 10.1.3.31:2379/metrics
curl: (52) Empty reply from server
# 强制使用加密协议https,但是使用https就要使用证书。

测试访问 Etcd Metrics 接口:

[root@k8s-master01 manifests]#curl -s --cert /etc/kubernetes/pki/etcd/etcd.pem --key /etc/kubernetes/pki/etcd/etcd-key.pem https://10.1.3.31:2379/metrics -k | tail -1
promhttp_metric_handler_requests_total{
   code="503"} 0

# 注意,IP地址为etcd的地址,此处随master主机节点安装,没有单独安装。

查看证书
证书的位置可以在 Etcd 配置文件中获得(注意配置文件的位置,不同的集群位置可能不同,Kubeadm 安装方式可能会在/etc/kubernetes/manifests/etcd.yml 中):

# 查看证书
[root@k8s-master01 manifests]# grep -E "key-file|cert-file" /etc/etcd/etcd.config.yml
  cert-file: '/etc/kubernetes/pki/etcd/etcd.pem'
  key-file: '/etc/kubernetes/pki/etcd/etcd-key.pem'
  cert-file: '/etc/kubernetes/pki/etcd/etcd.pem'
  key-file: '/etc/kubernetes/pki/etcd/etcd-key.pem'

检查有没有创建etcd的service

[root@k8s-master01 ~]#kubectl get svc -A | grep etcd
[root@k8s-master01 ~]#
#空的,没有创建,二进制安装没有

二、创建Etcd 的 Service 和 Endpoint

首先需要配置 Etcd 的 Service 和 Endpoint:

# vim etcd-svc.yaml
apiVersion: v1
kind: Endpoints
metadata:
  labels:
    app: etcd-prom
  name: etcd-prom
  namespace: kube-system
subsets:
- addresses: 
  - ip: YOUR_ETCD_IP01
  - ip: YOUR_ETCD_IP02
  - ip: YOUR_ETCD_IP03
  ports:
  - name: https-metrics
    port: 2379 # etcd 端口
    protocol: TCP

相关文章:

  • IMX6ULL的最简单的LED驱动程序
  • 南开提出1Prompt1Story,无需训练,可通过单个连接提示实现一致的文本到图像生成。
  • 掌握Linux基础:从文件链接到Shell命令的全面指南
  • CTF杂项——[WUSTCTF 2020]alison_likes_jojo
  • React:类组件(上)
  • 开发、科研、日常办公工具汇总(持续更新)
  • matlab常见的配图代码实现1
  • SpringBatch之ResultSet.next()
  • PythonWeb开发框架—Flask框架之flask-sqlalchemy、序列化和反序列化使用详解
  • MySQL环境搭建和基本操作
  • 从1G到6G的多址接入技术详解
  • ARM嵌入式低功耗高安全:工业瘦客户机的智慧城市解决方案
  • 字符串相乘——力扣
  • Java 大视界 -- Java 大数据在智能体育赛事运动员表现分析与训练优化中的应用(122)
  • Python实例:PyMuPDF实现PDF翻译,英文翻译为中文,并按段落创建中文PDF
  • 环形链表问题的探究与代码实现
  • 【网络安全 | 漏洞挖掘】通过JWT的IDOR实现账户接管
  • 探索Java多线程的核心概念与实践技巧,带你从入门到精通!
  • 007-Property在C++中的实现与应用
  • Agent范式引领AI革命:Manus如何重塑生产力版图?
  • 上海黄浦:新婚夫妻来登记可“摇号”定制无人机表演,每周三对
  • 长三角哪些城市爱花钱?这个城市令人意外
  • 来论|以法治之力激发民营经济新动能
  • 上海文化馆服务宣传周启动,为市民提供近2000项活动
  • 中美贸易代表会谈后是否已确定下一次会谈?外交部回应
  • 不赚“快钱”的佳沛:蒋时杰解密新西兰国果如何在中国“慢养”出43亿生意