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

15.5 创建监控控制平面的service

本节重点介绍 :

  • k8s中service的作用和类型
  • 创建k8s控制平面的service 给prometheus采集用, 类型clusterIp
    • kube-scheduler
    • kube-controller-manager
    • kube-etcd

service的作用

  • Kubernetes Service定义了这样一种抽象: Service是一种可以访问 Pod逻辑分组的策略, Service通常是通过 Label Selector访问 Pod组。
  • 当Pod宕机后重新生成时,其IP等状态信息可能会变动,Service会根据Pod的Label对这些状态信息进行监控和变更,保证上游服务不受Pod的变动而影响。

service 类型

Service在 K8s中有以下四种类型:

ClusterIp

  • 默认类型
  • 自动分配一个仅 Cluster内部可以访问的虚拟 IP

NodePort

  • 在 ClusterIP基础上为 Service在每台机器上绑定一个端口
  • 这样就可以通过 : NodePort来访问该服务

LoadBalancer

  • 在NodePort的基础上,借助 Cloud Provider创建一个外部负载均衡器,并将请求转发到 NodePort

ExternalName

  • 把集群外部的服务引入到集群内部来,在集群内部直接使用。没有任何类型代理被创建
  • 只有 Kubernetes 1.7或更高版本的 kube-dns才支持。

为何这里要使用service

  • 因为我们要监控控制平面组件,采用service让prometheus能够访问到他们

创建控制平面的service

kube-scheduler的service

---
apiVersion: v1
kind: Service
metadata:# 元信息namespace: kube-systemname: kube-schedulerlabels:k8s-app: kube-scheduler
spec:selector:# 标签选择器,因为对应的kube-scheduler的pod 有component=kube-scheduler这个标签component: kube-schedulerports:- name: http-metricsport: 10259  # service的端口targetPort: 10259 # pod 的端口protocol: TCP #协议

kube-controller-manager 的service

--- 
apiVersion: v1
kind: Service
metadata:namespace: kube-systemname: kube-controller-managerlabels:k8s-app: kube-controller-manager
spec:selector:component: kube-controller-managerports:- name: http-metricsport: 10257targetPort: 10257protocol: TCP

kube-etcd 的service

---
apiVersion: v1
kind: Service
metadata:namespace: kube-systemname: kube-etcdlabels:k8s-app: kube-etcd
spec:selector:component: etcdtier: control-planeports:- name: http-metricsport: 2379targetPort: 2379protocol: TCP

将上述service写入一个yaml中,control_plane_service.yaml

本节重点总结 :

  • k8s中service的作用和类型
  • 创建k8s控制平面的service 给prometheus采集用, 类型clusterIp
    • kube-scheduler
    • kube-controller-manager
    • kube-etcd
http://www.lryc.cn/news/442331.html

相关文章:

  • 【Docker Nexus3】maven 私库
  • Docker本地部署Chatbot Ollama搭建AI聊天机器人并实现远程交互
  • MySQL:用户管理
  • 论文《Mixture of Weak Strong Experts on Graphs》笔记
  • 【诉讼流程-健身房-违约-私教课-诉讼书提交流程-民事诉讼-自我学习-铺平通往法律的阶梯-讲解(3)】
  • 数据结构(Day14)
  • Paragon NTFS for Mac和Tuxera NTFS for Mac,那么两种工具有什么区别呢?
  • HashTable结构体数组实现
  • Python 管理 AWS ElastiCache 告警
  • 【无人机设计与控制】四旋翼无人机俯仰姿态保持模糊PID控制(带说明报告)
  • [数据集][目标检测]不同颜色的安全帽检测数据集VOC+YOLO格式7574张5类别
  • 确保 App 跟踪透明度权限:Flutter 中的实践
  • 李沐 过拟合和欠拟合【动手学深度学习v2】
  • Go Testify学习与使用
  • Word中引用参考文献和公式编号的方法
  • [数据集][目标检测]智慧养殖场肉鸡目标检测数据集VOC+YOLO格式3548张1类别
  • Vision Transform—用于大规模图像分类的Transformers架构
  • 内核驱动开发之系统移植
  • 前端在网络安全攻击问题上能做什么?
  • IntelliJ IDEA 创建 HTML 项目教程
  • YOLOv9改进系列,YOLOv9主干网络替换为RepViT (CVPR 2024,清华提出,独家首发),助力涨点
  • VBS学习1 - 语法、内置函数、内置对象
  • 11 vue3之插槽全家桶
  • Excel 基础知识-操作手册1
  • Python 类的继承
  • gRPC介绍
  • Git之误执行git rm -r解决方案(六十七)
  • html文件指什么
  • AAAI2024--频谱在多模态表示和融合中的作用更为有效:A Multimodal Spectrum Rumor Detector
  • 【Python报错已解决】SyntaxError invalid syntax