k8s架构,从clusterIP到光电半导体,再从clusterIP到企业管理

clusterIP作为k8s中的服务,

也是其他三个服务的基础

复制代码
~]$ kubectl create service 
clusterip     externalname  loadbalancer  nodeport 

客户端的流量到service

service分发给pod,pod由控制器自动部署,自动维护

那么问题是service的可用性如何保证?

这里以clusterip这个服务举例。

clusterip作为流量的分发者,如果保证自身的高可用?

clusterip是一个虚拟服务

用户访问clusterip的流量

被分配到后端的pod

那么clusterip服务的稳定性如何保证呢?

用kube-proxy保证

kube-proxy调用ipvs内核

实现流量在内核级别的四层负载均衡

clusterip是kube-proxy调用ipvs模块虚拟出来的一个服务器

所以kube-proxy可用性ok

那么clusterip服务的可用性就ok


那么kube-proxy的高可用如何保证呢?

kube-proxy是以pod的形态存在

每个物理节点都有一个kube-proxy的pod

如果某个节点上的kube-proxy休息了

那么控制器就会自动在该节点新建一个kube-proxy的pod


那么在这个新建的过程中,哪怕只有1秒钟

会影响集群的流量分发吗

由于k8s集群的实际负责计算的pod是分布式的在多个节点上的

所以单个节点的kubeproxy的pod掉线

其他节点照常可以负责其他节点的流量分发和计算

不太影响整个集群

但是对于单个节点的流量分发会有少量影响的

但是这个影响对于整体服务来讲

是比较小的。

总之单个节点的kube-proxy的pod掉线小几秒

属于正常波动

而且这种情况发生的概率不大

为什么?

因为kubeproxy的pod不是管理员手工去管理的

kubeproxy的pod,由控制器daemonset来批量部署和维护

当一个节点上的kubeproxy的pod掉线了

daemonset控制器会立马用镜像重建一个新的kubeproxy的pod

仍旧是每个节点上一个kubeproxy的pod

所以,kubeproxy的高可用性由daemonset控制器来保证


那么daemonset控制器的可用性用什么保证呢?

用kube-controller-manager

控制器管理器

控制器管理器会监控着这些控制器

包括daemonset

同时,

prometheus监控着集群的各个组件

包括daemonset控制器

监控界面通过grafana展现

同时prometheus设置alertmanager告警系统

如果集群有组件故障

alertmanager通知管理员

并且可以提前设计预案

alertmanager告警之后

自动执行故障相应系统,以及特定的脚本。


那么prometheus的可用性怎么保证呢?

可以配置冗余

由管理员负责


管理员的管理工作的可用性怎么保证呢?

通过企业对于系统管理的审计

说白了,由部门领导管理


那么部门领导的工作的可用性怎么保证呢?

由公司副总管理


公司副总的工作的可用性怎么保证呢?

由公司老板管理


那么公司老板的监管工作的可用性怎么保证呢?

不用保证。

因为公司技术运营的好,老板多赚

公司技术运营监管的一般,老板少赚点而已

所以

技术到这一层就不用监管了

已经到达权益的主要所有者了

少赚还是多赚,老板自己看着办就行了。


clusterip到光、电、半导体的链路是怎样的?

clusterip把流量分发给pod

pod把任务交给容器

容器里面的进程找操作系统

说,帮我弄个这,帮我干个那

去找cpu干活

cpu拿到各种0和1

一顿操作

通过操作系统和主板上的半导体材料

和本机的各个硬件交互

通过网络和本机之外的资源交互

cpu说,跟硬件打交道的活

就交给cpu吧

应用层等消息就行。

这就实现了从clusterip到光通信、电路板、半导体材料的链路

然后再从物理层响应至应用层

实现服务的可用性。

相关推荐
能不能别报错4 小时前
K8s学习笔记(十六) 探针(Probe)
笔记·学习·kubernetes
一水鉴天5 小时前
整体设计 逻辑系统程序 之18 Source 容器(Docker)承载 C/P/D 三式的完整设计与双闭环验证 之2
docker·架构·认知科学·公共逻辑
能不能别报错6 小时前
K8s学习笔记(十四) DaemonSet
笔记·学习·kubernetes
飞快的蜗牛7 小时前
利用linux系统自带的cron 定时备份数据库,不需要写代码了
java·docker
火星MARK7 小时前
k8s面试题
容器·面试·kubernetes
香吧香8 小时前
Docker Registry 使用总结
docker
赵渝强老师9 小时前
【赵渝强老师】Docker容器的资源管理机制
linux·docker·容器·kubernetes
haicome10 小时前
deepseek部署
docker·ragflow·deepseek 部署
能不能别报错10 小时前
K8s学习笔记(十五) pause容器与init容器
笔记·学习·kubernetes
稚辉君.MCA_P8_Java10 小时前
kafka解决了什么问题?mmap 和sendfile
java·spring boot·分布式·kafka·kubernetes