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到光通信、电路板、半导体材料的链路

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

实现服务的可用性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/438328.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++前缀和】1895. 最大的幻方|1781

本文涉及的基础知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode1895. 最大的幻方 难度分:1781 一个 k x k 的 幻方 指的是一个 k x k 填满整数的方格阵,且每一行、每一列以及两条对角线的和 全部相…

ubuntu 设置静态IP

一、 ip addresssudo nano /etc/netplan/50-cloud-init.yaml 修改前: 修改后: # This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-inits # ne…

360浏览器时不时打不开csdn

从百度或者csdn的搜索中打开,会发现打不开网页,以前也出现过,只是以为这篇文章被删了,昨天接连多个文章打不开,怀疑的浏览器的问题,复制网址到edge浏览器就打开了 刚刚又出现了,怀疑360会拦截某…

Elasticsearch——数据聚合、数据同步与集群搭建

目录 1.数据聚合1.1.聚合的种类1.2.DSL实现聚合1.2.1.Bucket 聚合语法1.2.2.聚合结果排序1.2.3.限定聚合范围1.2.4.Metric 聚合语法1.2.5.小结 1.3.RestAPI 实现聚合1.3.1.API 语法1.3.2.业务需求1.3.3.业务实现 2.自动补全2.1.拼音分词器2.2.自定义分词器2.3.自动补全查询2.4.…

使用百度文心智能体创建多风格表情包设计助手

文章目录 一、智能定制,个性飞扬二、多元风格,创意无限 百度文心智能体平台为你开启。百度文心智能体平台,创建属于自己的智能体应用。百度文心智能体平台是百度旗下的智能AI平台,集成了先进的自然语言处理技术和人工智能技术&…

C++ STL 初探:打开标准模板库的大门

文章目录 C STL 初探:打开标准模板库的大门前言第一章: 什么是STL?1.1 标准模板库简介1.2 STL的历史背景1.3 STL的组成 第二章: STL的版本与演进2.1 不同的STL版本2.2 STL的影响与重要性 第三章: 为什么学习 STL?3.1 从手动编写到标准化解决方…

C++网络编程之TCP协议

概述 TCP,即传输控制协议,英文全称为Transmission Control Protocol,是互联网协议套件中的核心协议之一。它工作在OSI七层模型的传输层,也工作在TCP/IP四层模型的传输层。TCP协议的主要目的是:在不可靠的网络环境中提供…

腾讯一面-LRU缓存

为了设计一个满足LRU(最近最少使用)缓存约束的数据结构,我们可以使用哈希表(HashMap)来存储键值对,以便在O(1)时间复杂度内访问任意键。同时,我们还需要一个双向链表(Doubly Linked …

飞创龙门双驱XYZ直线模组高精度应用实例

飞创龙门双驱XYZ直线模组集超精密定位、高动态响应和灵活配置于一体,适用于电子制造行业(点胶、组装、检测)、半导体圆晶加工、芯片封装、激光切割、激光焊接、数控机床、精密检测及科研实验等,满足高精度、高动态的三维定位需求&…

NVIDIA Hopper 架构深入

在 2022 年 NVIDIA GTC 主题演讲中,NVIDIA 首席执行官黄仁勋介绍了基于全新 NVIDIA Hopper GPU 架构的全新 NVIDIA H100 Tensor Core GPU。 文章目录 前言一、NVIDIA H100 Tensor Core GPU 简介二、NVIDIA H100 GPU 主要功能概述1. 新的流式多处理器 (SM) 具有许多性能和效率…

Golang | Leetcode Golang题解之第452题用最少数量的箭引爆气球

题目&#xff1a; 题解&#xff1a; func findMinArrowShots(points [][]int) int {if len(points) 0 {return 0}sort.Slice(points, func(i, j int) bool { return points[i][1] < points[j][1] })maxRight : points[0][1]ans : 1for _, p : range points {if p[0] > …

docker下载mysql时出现Unable to pull mysql:latest (HTTP code 500) server error 问题

报错 Unable to pull mysql:latest (HTTP code 500) server error - Get “https://registry-1.docker.io/v2/”: EOF 解决方法 将VPN开到Global模式 解决啦

从面向过程(pop)到面向对象(oop)

文章目录 1. 情境2. 抛出问题3. 给出解决方案4. 方案存在的bug5. 补救措施6. 得出结论&#xff1a;该方案实际是不可行的7. 总结上述代码思考方式 -- 基于过程① 思考方式② 上述思考方式存在的问题基于过程的思维方式核心基于过程的思维方式的缺点 8. 转变思维&#xff0c;引出…

无水印短视频素材下载网站有哪些?十个高清无水印视频素材网站分享

你知道怎么下载无水印视频素材吗&#xff1f;今天小编就给大家推荐十个高清无水印视频素材下载的网站&#xff0c;如果你也是苦于下载高清无水印的短视频素材&#xff0c;赶紧来看看吧&#xff5e; 1. 稻虎网 首推的是稻虎网。这个网站简直就是短视频创作者的宝库。无论你需要…

深度学习基础—残差网络ResNets

1.残差网络结构 当网络训练的很深很深的时候&#xff0c;效果是否会很好&#xff1f;在这篇论文中&#xff0c;作者给出了答案&#xff1a;Deep Residual Learning for Image Recognitionhttps://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/He_Deep_Residual_…

OpenAI o1 与 GPT-4o:前沿AI全面比较下你更倾向哪一款

前言 就在前不久&#xff0c;OpenAI 发布了推理能力更强可达理科博士生水准的o1 模型&#xff0c;业界也表示这标志着人工智能发展的新里程碑&#xff0c;特别是在复杂问题解决和推理方面。 然而&#xff0c;该模型与其前身GPT-4o有很大不同&#xff0c;后者仍然广泛用于通用…

Pix2Pix实现图像转换

tutorials/application/source_zh_cn/generative/pix2pix.ipynb MindSpore/docs - Gitee.com Pix2Pix概述 Pix2Pix是基于条件生成对抗网络&#xff08;cGAN, Condition Generative Adversarial Networks &#xff09;实现的一种深度学习图像转换模型&#xff0c;该模型是由Ph…

HUAWEI New4.9G 与 2.6G 无法正常切换问题处理案例

HUAWEI New4.9G 与 2.6G 无法正常切换问题处理案例 在某地市的 XX 音乐节保障准备期间&#xff0c;为确保活动期间的网络质量&#xff0c;现场新开了 4.9G HUAWEI 室外基站。在网络优化和测试中&#xff0c;发现UE无法实现从 2.6G 到 4.9G 的正常切换。虽然现场具备 4.9G信号覆…

Python | Leetcode Python题解之第448题找到所有数组中消失的数字

题目&#xff1a; 题解&#xff1a; class Solution:def findDisappearedNumbers(self, nums: List[int]) -> List[int]:n len(nums)for num in nums:x (num - 1) % nnums[x] nret [i 1 for i, num in enumerate(nums) if num < n]return ret