Kubernetes(K8S)内部功能总结

news2025/4/18 23:24:14

Kubernetes(K8S)是云技术的最核心的部分,也是构建是云原生的基石

 

K8S

K8S,是Kubernetes的缩写,是Google开发的容器编排平台,现在由云原生计算基金会(CNCF)进行维护。

K8S,主要解决以下4大点:

 

1、容器编排

Docker解决了容器部署的问题,容器部署后,就会涉及到容器的编排。

K8S是一个强大而灵活的容器编排平台,可以帮助用户轻松地部署、扩展、和管理容器化应用程序。

2、容器管理

K8S可以管理多个容器化的应用程序,它负责调度、和管理容器实例的生命周期,包括:创建、启动、监控、重启和销毁等操作。

3、自动化部署

K8S可以自动化地部署,和扩展容器化的应用程序。

并且,K8S还可以根据应用程序的负载需求,自动扩展容器实例数量,确保应用程序能够满足变化的负载需求。

4、安全可用

K8S具有强大的高可用性、和容错性,可以在节点故障、或者容器故障时,自动重新调度容器实例,确保应用程序的可用性。

K8S架构

K8S架构,如下图所示:

 

K8S主要会包含:主节点(Master)、和子节点(Node),这两大组件。

Master组件

Master 组件,是 K8S控制平面的核心部分,负责:管理整个集群的状态、和配置,类似人的《大脑》。

Master 组件通常运行在单独的节点上,以确保高可用性和可靠性。

 

1.kube-apiserver

kube-apiserver :是 Kubernetes 集群的前端接口,是所有组件、和用户与集群通信的,唯一入口。

kube-apiserver 提供了RESTful API接口,用于管理,比如:集群状态、配置、和操作...等。

并且,kube-apiserver 还可用通过认证、授权、和准入控制,来保护、和管理 API 的访问权限。

2.etcd

etcd 是一个分布式、一致性的键值存储数据库,这个与Redis类似,都是key-value的组件。

etcd 主要用于存储:集群的配置信息、状态、和元数据,这些信息都存储在etcd中。

3.kube-scheduler

kube-scheduler :是 Kubernetes 的调度组件,负责将新创建的 Pod ,调度到集群中的节点上,并考虑节点资源的可用性、和负载情况。

4、kube-controller-manager

Kubernetes控制器管理器,包含:多个控制器,负责监控集群的状态,并根据预设的期望状态来实现集群的自愈、和自动化操作。

常见的控制器包括 ReplicaSet 控制器、Deployment 控制器、StatefulSet 控制器...等等,如下图所示:

 

这些控制器,主要负责管理:Pod 、和其他资源的生命周期,确保它们按照用户期望的方式运行、和管理。

2、Node组件

Node 节点是 Kubernetes 集群的工作节点,类似K8S的手和脚,类似《四肢》,执行Master的操作指令。

主要分为,如下组件:

  • kubelet: kubelet负责:管理节点上的Pod和容器,与主Master通信,并根据Master的指令创建、启动、监控、和终止Pod。

  • kube-proxy: kube-proxy负责:实现Kubernetes Service的负载均衡和代理转发,以及维护网络规则和iptables规则等。

  • Container Runtime: 负责管理和运行容器,比如:Docker、containerd......等容器,都可用在运行。

 

3、Networking组件

Pod网络插件,负责为Pod分配IP地址,并提供Pod之间和Pod与外部网络之间的网络通信。

Cluster网络组件,负责为集群中的节点分配IP地址,并提供节点之间的通信。

K8S和Docker的关系

Docker 、和 Kubernetes 是两个不同的技术,它们分别解决:容器化应用程序、和容器化编排。

两者的关系,类似:操作系统和应用场景的关系,两者主要是:结合起来使用的。

 

Docker 是一种开源的容器化平台,用于:创建、打包和运行容器化应用程序。

Docker 主要提供了容器构建、镜像管理、容器运行、和容器存储等功能,适用于单个容器应用程序的构建和部署。

而K8S, 则是一个容器编排平台,用于自动部署、扩展和管理容器化应用程序的。

K8S支持多种容器运行时环境,包括:Docker、containerd、cri-o 等,也就是说Docker只是K8S其中的一种容器而已。

尽管,K8S不依赖于 Docker,但 Docker 作为目前最流行、和广泛使用的容器运行时环境,通常被视为K8S的默认容器。

K8S总结

总之,K8S提供了容器编排和集群管理的能力,而 Docker 提供了容器化应用程序的构建、打包和运行的能力,两者结合起来共同构建云原生系统。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机网络】3数据链路层①

这篇笔记专门讲数据链路层的功能。 2.功能 数据链路层的主要任务是让帧在一段链路上或一个网络中传输。 2.1.封装成帧(组帧) 解决的问题:①帧定界②帧同步③透明传输 实现组帧的方法通常有以下种。 2.1.1.字符计数法 原理:在每个帧开头,用一个定长计数字段来记录该…

Nginx底层架构(非常清晰)

目录 前言: 场景带入: HTTP服务器是什么? 反向代理是什么? 模块化网关能力: 1.配置能力: 2.单线程: 3.多worker进程 4.共享内存: 5.proxy cache 6.master进程 最后&…

Docker 设置镜像源后仍无法拉取镜像问题排查

#记录工作 Windows系统 在使用 Docker 的过程中,许多用户会碰到设置了国内镜像源后,依旧无法拉取镜像的情况。接下来,记录了操作要点以及问题排查方法,帮助我们顺利解决这类问题。 Microsoft Windows [Version 10.0.27823.1000…

Edge 浏览器推出 Copilot Vision:免费实时解析屏幕内容;Aqua Voice:极速 AI 语音输入工具丨日报

开发者朋友们大家好 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 技术 」、「有亮点的 产品 」、「有思考的 文章 」、「有态度的 观点 」、「有看…

async-profiler火焰图找出耗CPU方法

事情起于开发应用对依赖的三方包(apache等等)进行了升级后(主要是升级spring),CPU的使用率较原来大幅提升,几个应用提升50%-100%。 查找半天,对比每次版本的cpu火焰图,看不出有什么…

@Autowird 注解与存在多个相同类型对象的解方案

现有一个 Student 类,里面有两个属性,分别为 name 和 id;有一个 StuService 类,里面有两个方法,返回值均为类型为 Student 的对象;还有一个 StuController 类,里面有一个 Student 类型的属性&am…

WordPiece 详解与示例

WordPiece详解 1. 定义与背景 WordPiece 是一种子词分词算法,由谷歌于2012年提出,最初用于语音搜索系统,后广泛应用于机器翻译和BERT等预训练模型。其核心思想是将单词拆分为更小的子词单元(如词根、前缀/后缀),从而解决传统分词方法面临的词汇表过大和未知词(OOV)处…

PVE+CEPH+HA部署搭建测试

一、基本概念介绍 Proxmox VE ‌Proxmox Virtual Environment (Proxmox VE)‌ 是一款开源的虚拟化管理平台,基于 Debian Linux 开发,支持虚拟机和容器的混合部署。它提供基于 Web 的集中管理界面,简化了计算、存储和网络资源的配置与监控。P…

ROS ROS2 机器人深度相机激光雷达多传感器标定工具箱

系列文章目录 目录 系列文章目录 前言 三、标定目标 3.1 使用自定义标定目标 四、数据处理 4.1 相机数据中的标定目标检测 4.2 激光雷达数据中的标定目标检测 输入过滤器: 正常估算: 区域增长: 尺寸过滤器: RANSAC&a…

android rtsp 拉流h264 h265,解码nv12转码nv21耗时卡顿问题及ffmpeg优化

一、 背景介绍及问题概述 项目需求需要在rk3568开发板上面,通过rtsp协议拉流的形式获取摄像头预览,然后进行人脸识别 姿态识别等后续其它操作。由于rtsp协议一般使用h.264 h265视频编码格式(也叫 AVC 和 HEVC)是不能直接用于后续处…

熊海cms代码审计

目录 sql注入 1. admin/files/login.php 2. admin/files/columnlist.php 3. admin/files/editcolumn.php 4. admin/files/editlink.php 5. admin/files/editsoft.php 6. admin/files/editwz.php 7. admin/files/linklist.php 8. files/software.php 9. files…

DeepSeek 与开源:肥沃土壤孕育 AI 硕果

当 DeepSeek 以低成本推理、多模态能力惊艳全球时,人们惊叹于国产AI技术的「爆发力」,却鲜少有人追问:这份爆发力的根基何在? 答案,藏在中国开源生态二十余年的积淀中。 从倪光南院士呼吁「以开源打破垄断」&#xf…

Maven中clean、compil等操作介绍和Pom.xml中各个标签介绍

文章目录 前言Maven常用命令1.clean2.vaildate3.compile4.test5.package6.verify7.install8.site9.deploy pom.xml标签详解格式<?xml version"1.0" encoding"UTF-8"?>(xml版本和编码)modelVersion&#xff08;xml版本&#xff09;groupId&#xff…

力扣刷题-热题100题-第35题(c++、python)

146. LRU 缓存 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/lru-cache/?envTypestudy-plan-v2&envIdtop-100-liked 双向链表哈希表 内置函数 对于c有list可以充当双向链表&#xff0c;unordered_map充当哈希表&#xff1b;python有OrderedDic…

Nautilus 正式发布:为 Sui 带来可验证的链下隐私计算

作为 Sui 安全工具包中的强大新成员&#xff0c;Nautilus 现已上线 Sui 测试网。它专为 Web3 开发者打造&#xff0c;支持保密且可验证的链下计算。Nautilus 应用运行于开发者自主管理的可信执行环境&#xff08;Trusted Execution Environment&#xff0c;TEE&#xff09;中&a…

云服务器CVM标准型S5实例性能测评——2025腾讯云

腾讯云服务器CVM标准型S5实例具有稳定的计算性能&#xff0c;CPU采用采用 Intel Xeon Cascade Lake 或者 Intel Xeon Cooper Lake 处理器&#xff0c;主频2.5GHz&#xff0c;睿频3.1GHz&#xff0c;CPU内存配置2核2G、2核4G、4核8G、8核16G等配置&#xff0c;公网带宽可选1M、3…

leetcode面试经典算法题——2

链接&#xff1a;https://leetcode.cn/studyplan/top-interview-150/ 20. 有效的括号 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#x…

Ubuntu20.04安装企业微信

建议先去企业微信官网看一下有没有linux版本&#xff0c;没有的话在按如下方式安装&#xff0c;不过现在是没有的。 方案 1、使用docker容器 2、使用deepin-wine 3、使用星火应用商店 4. 使用星火包deepin-wine 5、使用ukylin-wine 本人对docker不太熟悉&#xff0c;现…

在Ubuntu服务器上部署xinference

一、拉取镜像 docker pull xprobe/xinference:latest二、启动容器&#xff08;GPU&#xff09; docker run -d --name xinference -e XINFERENCE_MODEL_SRCmodelscope -p 9997:9997 --gpus all xprobe/xinference:latest xinference-local -H 0.0.0.0 # 启动一个新的Docker容…

异步编程——微信小程序

1. 前言 引用来自&#xff1a;微信小程序开发中的多线程处理与异步编程_微信小程序 多线程-CSDN博客 微信小程序是基于JavaScript开发的&#xff0c;与浏览器JavaScript不同&#xff0c;小程序运行在WebView内部&#xff0c;没有多线程的概念。小程序的 JavaScript 是单线程的…