K8S深度解析:从入门到精通的全方位指南

目录

  一、Kubernetes简介

二、Kubernetes的核心作用

三、Kubernetes架构图例

四、Kubernetes核心概念

Harbor仓库概述:

Master----管理组件:       

API Server(集群之心):

Scheduler(调度大师):

ControllerManager(集群管家):

Etcd(集群记忆库): 

Node---计算节点

Kubelet(节点守护者):

Kube-proxy(网络调度师):

Runtime(容器铸造师):        

K8S常用核心概念

Cluster(集群)

Container(容器)

Pod(部署单元)

Service(服务)

Label(标签)

Namespace(名称空间)

Deployment(资源对象)


 一、Kubernetes简介

        K8S,全称Kubernetes,是一个开源的容器编排系统,它旨在自动化容器化应用程序的部署、扩展和管理。随着云原生技术的兴起,K8S已成为现代应用开发和运维领域的重要工具之一。

        K8S的出现背景在于,随着云计算和容器技术的快速发展,企业面临着越来越多的挑战,如如何高效地管理大量容器、如何确保应用程序的高可用性和可扩展性、如何简化复杂的部署和运维流程等。K8S通过提供一套强大的容器编排功能,帮助企业解决了这些问题。

二、Kubernetes的核心作用

  • K8S能够自动化地管理容器的生命周期,包括创建、调度、更新和销毁等过程。它通过智能的调度算法,将容器分配到最合适的节点上运行,以最大化资源利用率和提高应用程序的性能。
  • K8S提供了丰富的服务发现和负载均衡功能,使得容器之间可以方便地相互通信,并且能够自动处理容器的故障转移和扩展。这大大简化了应用程序的架构设计和运维管理。
  • K8S还支持滚动更新和回滚机制,可以在不停机的情况下对应用程序进行升级和维护,减少了停机时间和业务风险。
  • K8S还提供了丰富的扩展性和自定义性,通过插件和自定义资源等机制,可以轻松地集成各种云服务和第三方工具,满足企业不同的需求和场景。

三、Kubernetes架构图例

四、Kubernetes核心概念

Harbor仓库概述:

        Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。它在Docker Distribution的基础上增加了一些企业必需的功能特性,例如安全、标识和管理等,从而满足了企业对于镜像仓库的需求。

        在K8S中使用Harbor仓库不是必须的,但使用它可以带来诸多好处,特别是在安全性、镜像复制和分发、管理便携性以及高级功能支持方面,这些优势使得不管是在项目中还是在企业构建和运行容器化应用时成为重要选择。

Master----管理组件:       

  • API Server(集群之心):
    • 该组件作为管理节点中的核心,主要提供了一系列对外API接口为用户与K8S中组件通信,此外该API还可用于创建、修改、删除和查询各种资源对象。该接口还提供认证与授权功能,为接入集群的提供了安全屏障。
    • 最后,它还有数据存储和同步,使用Etcd作为默认数据存储后端,集群状态信息都在其中,它也掌管控制器的调度,负责接收Replicaiton Controller、Deployment等控制器的指令,并根据需求来创建、更新或删除相应的资源对象。
  • Scheduler(调度大师):
    • 该组件作为K8S中的资源分配大总管,它会根据每个Pod的资源请求(如CPU、内存)以及节点当前的可用资源情况,选择合适的Node来运行Pod,并且考虑Pod的调度约束条件以及服务策略的阶段性执行,来保证Pod的特定运行及服务稳定性。
  • ControllerManager(集群管家):
    • 该组件作为管理节点中的大总管,负责集群内部的管理控制中心,由负责不同资源的多个Controller构成,共同负责集群内的Node、Pod等所有资源的管理,并且如当通过Deployment创建的某个Pod发生异常退出时,RS Controller便会接受并处理该退出事件,并创建新的Pod来维持预期副本数。
  • Etcd(集群记忆库): 
    • 该组件作为K8S中存储集群的配置数据,包括集群状态、配置选项、服务发现信息、网络配置等,并且该存储具有高可用性,当其Etcd集群中Leader节点失效,它会自动进行Leader选举,选出新的Leader节点,确保集群的可用性。

Node---计算节点

  • Kubelet(节点守护者):
    • 它是运行在每个节点上的主要组件,它负责管理和维护该节点上的PodS以及提供Kubernetes运行时环境,它会定期与API Server通信,接受来自Master组件的指令,根据这些指令来管理节点上的Pods。Kubelet负责监视分配该节点的Pods,确保它们正常运行,挂载Pods所需的Volumes;Kubelet会负责从API Server获取分配给该节点的Pods所需的Secrets,并将其下载到节点的本地文件系统中。
    • Kubernetes不直接管理容器,而是依赖于容器运行时来执行容器的生命周期操作,当需要创建或启动一个容器时,kubelet会发送指令给容器运行时,容器运行时随后会负责拉取容器镜像、创建容器并启动它。Kubelet会根据负责的Pod发送Liveness探针来检查容器的健康状态,如果在规定时间内,容器不再响应探针,则它可能已经被“挂起”或“崩溃”,并且不再提供正常的服务,然后Kubelet会根据Pod的重启策略来决定是否重启该容器。
  • Kube-proxy(网络调度师):
    •         它作为K8S中网络的通信枢纽,负责K8S中服务发现、流量转发、负载均衡等主要功能。它通过监听API Server中Service等服务对象的变化,来记录该服务的地址信息。它根据Service服务对象的定义信息,可以将到达服务的流量通过简单的负载均衡算法来转发到不同的Pod实例上。
  • Runtime(容器铸造师):        
    •         它在K8S作为重要组件,负责K8S中的资源隔离,确保每个容器拥有独立的网络、文件系统、进程空间等,从而避免容器之间的资源竞争和干扰。它也提供容器运行时所需的运行环境和依赖项,确保人容器中的应用程序可以正启动运行。最后,K8S中容器都具有生命周期,容器生命周期到期自动销毁,出现问题暂停等操作,这也是由Runtime来负责。

K8S常用核心概念

  • Cluster(集群)

    • 集群,通常指的是多台计算机或服务器的组合,它们共同工作以提供更高的可用性、可靠性和可伸缩性。通过将资源汇集到一起,并使它们在某些方面作为一个整体来操作,集群技术能够提供比单一计算机更强大的处理能力和更高的数据冗余。

  • Container(容器)

    • 容器是一种轻量级的、可移植的、自包含的软件打包技术,用于将应用程序及其所有依赖项打包在一起,以确保应用程序在任何环境中都能以相同的方式运行。

  • Pod(部署单元)

    • Pod是K8s中最小的部署单元,它包含一个或多个容器,这些容器共享存储、网络、以及容器的运行配置。Pod中的容器运行在同一个主机上,可以相互通信。

  • Service(服务)

    • Service定义了一种策略,将访问Pod的请求转发到后端集群中的某个Pod实例上。Service与Pod Endpoint建立关联关系,对外提供服务。

  • Label(标签)

    • Label是附加到K8s对象(如Pod)上的键值对,用于组织和选择对象子集。

  • Namespace(名称空间)

    • Namespace为K8s集群提供虚拟的隔离作用,不同的Namespace的资源是完全隔离的。

  • Deployment(资源对象)

    • Deployment是K8s中的一种资源对象,它用来确保Pod副本的数量始终与预期的数量相同。当Pod的副本数量少于预期时,Deployment会自动创建新的Pod。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

27.统一网关Gateway-路由断言工厂

在配置文件中写的断言规则只是字符串,这些字符串会被Predicate Factory读取并处理,转变为路由判断的条件。 例如:Path /user/** 是按照路劲匹配,这个规则是由 org.springframework.cloud.gateway.handler.predicate.PathRouteP…

磨煤机液压油站比例放大器

液压系统为磨辊提供随负荷变化而变化的碾压力,其大小由比例溢流阀根据负荷变化的指令信号来控制液压系统的压力来实现。指令信号一般情况下是由给煤机取出的。高压油泵站安装在靠近磨煤机的基础上,加载油缸和蓄能器安装在磨煤机上,三个带蓄能…

Vue入门到关门之计算属性与监听属性

一、计算属性 1、什么是计算属性 计算属性是基于其它属性计算得出的属性,就像Python中的property,可以把方法/函数伪装成属性,在模板中可以像普通属性一样使用,但它们是基于响应式依赖进行缓存的。这意味着只有在依赖的响应式数…

【进阶六】Python实现SDVRPTW(需求拆分)常见求解算法——禁忌搜索+模拟退火算法(TS+SA)

基于python语言,采用经典禁忌搜索(TS)模拟退火(SA)对 带硬时间窗的需求拆分车辆路径规划问题(SDVRPTW) 进行求解。 目录 往期优质资源1. 适用场景2. 代码调整2.1 需求拆分2.2 需求拆分后的服务时…

手机验证码认证轻松搞定,MemFire Cloud 助力应用开发

在当今移动互联网时代,手机验证码认证已成为众多应用必不可少的身份验证方式。然而,对于开发者来说,手机验证码认证的后端工作往往是一项繁琐且耗时的任务。MemFire Cloud提供了一套即用型解决方案,开发者可以轻松解决手机验证码认…

枚举(enum)/共用体(union)/结构体(struct)---详解

前言 C语言包含内置类型和自定义类型。 其实C语言中有内置类型,包含:char,short,int,long,long long,float,double,long double ,这些是C语言本身支持的现成的类型。 但仅仅只有内置类型是远远不够的,在描述一个复杂对象是无法使用内置类型来…

einsum 表达式

Einsun 简介 ein 就是爱因斯坦的ein,sum就是求和。einsum就是爱因斯坦求和约定,其实作用就是把求和符号省略。 B torch.einsum("ij->i", A) einsum接收的第一个参数为einsum表达式,-> 符号就相当于要把->前面的张量变…

求三个字符数组最大者(C语言)

一、N-S流程图&#xff1b; 二、运行结果&#xff1b; 三、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <string.h>int main() {//初始化变量值&#xff1b;int i 0;char str[3][20];char string[20];//循环输入3个字符…

软件测试笔记_习题_面经

软件测试------按测试阶段划分有几个阶段? 单元测试、集成测试、系统测试、验收测试 软件测试------按是否查看源代码划分有几种测试方法? 黑盒、白盒、灰盒 软件测试------按是否运行划分有几种测试方法? 静态测试、动态测试 软件测试------按是否自动化划分有几种测试方…

Android 在attrs.xml添加属性时出现 Found item Attr/****** more than one time

Android 在attrs.xml添加属性时出现 Found item Attr/****** more than one time 问题描述解决办法方式一方式二 小结 问题描述 在Android应用开发过程中&#xff0c;经常需要自定义控件&#xff0c;并且定义控件的属性&#xff0c;方便灵活的修改控件的显示样式&#xff0c;提…

生成对抗网络的无载体信息隐藏算法简介

一、研究背景 随着互联网技术的广泛应用和移动智能设备的快速普及&#xff0c;人们有了更多的途径传播和获取信息。每天海量的数据以视频、音频、图像、文字等各类形式在互联网中产生&#xff0c;这为人们的生活带来了极大的便利&#xff0c;但同时也引起了人们对信息泄露的担…

从零入门区块链和比特币(第三期)

欢迎来到我的区块链与比特币入门指南&#xff01;如果你对区块链和比特币感兴趣&#xff0c;但不知道从何开始&#xff0c;那么你来对地方了。本博客将为你提供一个简明扼要的介绍&#xff0c;帮助你了解这个领域的基础知识&#xff0c;并引导你进一步探索这个激动人心的领域。…

【yolov8算法道路-墙面裂缝检测-汽车车身凹陷-抓痕-损伤检测】

yolo算法道路-墙面裂缝检测-汽车车身凹陷-抓痕-损伤检测 1. yolo算法裂缝检测-汽车车身凹陷-抓痕检测-汽车车身损伤检测2. yolo房屋墙面路面裂缝-发霉-油漆脱落-渗水-墙皮脱落检测3. 水泥墙面裂缝检测 YOLOv8算法是一种先进的目标检测技术&#xff0c;它基于YOLO系列算法的改进…

卓越体验的秘密武器:评测ToDesk云电脑、青椒云、天翼云的稳定性和流畅度

大家好&#xff0c;我是猫头虎。近两年随着大模型的火爆&#xff0c;我们本地环境常常难以满足运行这些大模型的硬件需求。因此&#xff0c;云电脑平台成为了一个理想的解决方案。今天&#xff0c;我将介绍并评测几款主流云电脑产品&#xff1a;ToDesk云电脑、天翼云电脑和青椒…

基于 SpringCloud 的在线交易平台乐优商城的设计与实现(四)

第 4 章 数据库设计 4.1 数据库设计原则 4.2.数据库概念结构设计 4.3 数据库表设计 4.4.本章小结 前面内容请移步 基于 SpringCloud 的在线交易平台乐优商城的设计与实现&#xff08;三&#xff09; 相关免费源码资源 乐优商城 第 4 章 数据库设计 4.1 数据库设计原…

现代永磁同步电机控制原理pdf及全套matlab仿真模型

现代永磁同步电机控制原理pdf及matlab仿真模型。全书包含SVPWM, DTC, Lun, smo, EKF, HFI等经典控制算法。将书中10章节涉及到的模型复原搭建模型。 模型获取链接&#xff1a;现代永磁同步电机控制原理pdf及全套matlab仿真模型

C语言 | Leetcode C语言题解之第56题合并区间

题目&#xff1a; 题解&#xff1a; /*** Return an array of arrays of size *returnSize.* The sizes of the arrays are returned as *returnColumnSizes array.* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().*/ stru…

mintab计数型测量系统分析

计数型测量系统是一种在特定领域内广泛应用的测量工具&#xff0c;它主要用于对事件发生的次数进行计数&#xff0c;而不是提供具体的数值数据。这种类型的测量系统在工业生产、科研领域以及通信、电子和航空航天等多个领域都有广泛的应用价值。计数型测量系统的分析方法包括重…

matlab回归学习

前言 所谓回归学习即预测&#xff0c;便是由已知的数据推测未知的数据&#xff0c;利用转速与转矩来推测电流。 1、数据准备 下面虚拟一组转速转矩以及电流数据。 speed [100 220 330 440 550 660]; torque [200 300 400 500 700 900]; I [400 500 603 739 821 912]; arr …

职场进阶秘籍:张驰咨询的六西格玛黑带培训!

你们是否对“六西格玛黑带培训”感到好奇&#xff1f;别担心&#xff0c;这不是什么遥不可及的概念&#xff0c;而是一次能让你职场生涯焕然一新的机会&#xff01; 六西格玛黑带培训在张驰咨询 在张驰咨询&#xff0c;我们提供的六西格玛黑带培训&#xff0c;就像是一把为你量…
最新文章