初始K8s

K8S 基本概念:
K8S 的全称为 Kubernetes (K12345678S),PS:“嘛,写全称也太累了吧,不如整个缩写”。

作用:
用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。
可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是一个生态极其丰富的容器编排框架工具。

K8S是一款强大的容器编排平台,可以帮助企业实现容器化的业务部署和管理,提升效率和可靠性。

K8S是一个容器集群管理系统,在Docker等容器技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。 

K8S 的特点包括:
●自动化管理:大大减少了人工干预,提高了应用部署和管理的效率。
●弹性伸缩:能够根据负载自动调整容器的副本数量,实现资源的高效利用。
●高可用性:通过副本和故障转移机制,确保应用的持续可用。
●负载均衡:可以在多个节点上自动分配负载,实现负载均衡。
●跨平台支持:可以在不同的基础设施上运行,包括物理机、虚拟机和云平台。

核心组件

K8S有 master 和 worker node 两类节点

master:

Kube-apiserver:集群的统一入口,负责接收、验证和转发请求。

controller-manager:控制器管理器,负责管理K8s各种资源对象的控制器,通过apiserver监控整个k8s集群的资源状态,并确保资源始终处于预期的工作状态。

scheduler:资源调度器,负责pod资源的调度,通过调度算法(预选/优选策略)为待部署的Pod选择最适合的node节点。

etcd:K8S集群的数据库,是一种键值对存储结构的分布式数据库,负责存储K8S集群所有配置和状态信息,仅apiserver拥有访问和读写权限

work node节点:负责运行工作负载,即容器应用

kubelet:接受apiserver的请求,创建和管理pod 及其容器的生命周期,定期收集节点的资源使用情况,并上报给apiserver。

kube-proxy:负责实现pod网络代理,维护网络规则和四层负载均衡。

K8S创建Pod资源对象的工作流程:

用户通过客户端发送创建pod请求给apiserver,apiserver接收到请求并进行认证后,将请求信息存储到etcd中;contorller-manager通过list-watch监听到apiserver的指令后,根据请求信息中的资料模板配置创建pod资源(这里是个抽象的pod);scheduler也通过list-watch监听到api-server的指令,调度新创建的pod,根据调度算法(预选优选策略)选出最合适的node节点部署pod,node节点上的kubelet也通过list-watch监听api-server的指令,会在指定node的节点上创建pod,并管理容器的生命周期;用户还可以用过apiserver在kube-proxy上配置网络规则,实现网络代理和负载均衡。

K8S资源对象
Pod:是K8S能够创建和管理的最小单元。一个Pod里可以包含一个或多个应用容器,同一个Pod里的容器之间共享网络、存储等资源(容器之间可以通过localhost相互访问,还可以共享Pod的存储卷)
                                                                                              
Pod控制器:

  1. deployment:部署无状态应用(没有实时数据需要存储);同时也负责管理replicaset(维持Pod副本数量始终符合预期状态)和Pod(容器化的应用程序)
  2. statefulset:部署有状态应用(有实时数据需要存储)
  3. daemonset:在每个node节点上都部署一个Pod副本
  4.  job:一次性的部署短期任务的Pod(执行完任务后会自动退出)
  5.  cronjob:周期性的部署短期任务的Pod(执行完任务后会自动退出)

service:在K8S集群内部,为通过标签选择器相关联的一组Pod提供一个统一的访问(clusterIP)和负载均衡(只支持四层)
service 通过标签选择器关联Pod的标签,从而自动发现相关联Pod的端点(Pod的IP和端口)

ingress:作为K8S集群外部的访问入口,可定义ingress规则根据不同的域名或URL路径绑定并转发请求给指定的service,支持七层负载均衡

volume:Pod中容器可以访问的文件系统

k8s集群外部访问的过程:

 集群外部访问需要用ingress作为集群外部入口访问入口,ingress根据不同的域名或者url路径绑定不同的servers,根据外部的路径,转发给相应的servers,再通过servers想关联的pod进行转发。

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

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

相关文章

火狐浏览器怎么切换ip:详细步骤与注意事项

随着互联网的飞速发展,网络环境的复杂性和安全性问题日益凸显。对于需要保护个人隐私、突破地域限制或进行网络测试的用户来说,切换IP地址成为了一项重要的技能。火狐浏览器,作为一款备受欢迎的开源浏览器,凭借其强大的自定义功能…

Kafka 消费者启动后与服务器的交互流程

Kafka 消费者启动后与服务器的交互流程涉及多个关键步骤,主要包括初始化、查找组协调器、加入消费者组、分区分配、心跳维持、拉取数据和提交偏移量等。以下是详细的流程说明: 1. 初始化消费者 创建消费者实例:应用程序通过调用KafkaConsum…

PHP表单必需字段

在PHP中处理表单时,确保必填字段被正确填写是非常重要的。这通常涉及到在客户端(使用HTML5)和服务器端(使用PHP)进行验证。以下是一个关于PHP表单必需字段的详细教程,包括如何在客户端和服务器端进行验证。…

【计算机网络】TCP和UDP的封装以及案例

TCP和UDP的封装以及案例 背景知识TCP实现UDP实现封装Network用NetWork再次实现TCP和UDP小知识点 背景知识 TCP:传输控制协议(Transmission Control Protocol) UDP:用户数据报协议 (User Datagram Protocol&#xff09…

Spring Bean的初始化过程

在Spring框架中,Bean是应用程序的基本构建块。每个Bean都是由Spring IoC容器管理的对象实例,用于封装业务逻辑或资源。理解Spring Bean的初始化过程对于有效地使用和配置Spring框架至关重要。本文将详细解释Spring Bean的生命周期,包括其创建…

AI的欺骗游戏:揭示多模态大型语言模型的易受骗性

人工智能咨询培训老师叶梓 转载标明出处 多模态大型语言模型(MLLMs)在处理包含欺骗性信息的提示时容易生成幻觉式响应。尤其是在生成长响应时,仍然是一个未被充分研究的问题。来自 Apple 公司的研究团队提出了MAD-Bench,一个包含8…

Spring的优缺点?

Spring的优缺点 直接回答相关的Spring的特点: IOC AOP 事务 简化开发: 容易集成JDBCTemplateRestTemplate(接口远程调用)邮件发送相关异步消息请求支持 更加深入就讲源码了 优点: 方便解耦,简化开发…

网站打不开怎么办,收藏以备不时之需

DNS设置示范教程 部分地区有使用移动网络的小伙伴们吐槽无法访问部分网站的情况,同样的网站,使用电信和联通的用户就能正常访问。 这其实有很大几率是由于运营商的网络问题导致的,容易出现网站打不开的结果。 要解决移动网络无法访问的情况…

docker 部署mysql nginx redis

设置镜像 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https://tddq0ov6.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload 重启 sudo systemctl restart docker mysql mkdir /docker/my…

[React]如何提高大数据量场景下的Table性能?

[React]如何提高大数据量场景下的Table性能&#xff1f; 两个方向&#xff1a;虚拟列表&#xff0c;发布订阅 虚拟列表 虚拟列表实际上只对可视区域的数据项进行渲染 可视区域&#xff08;visibleHeight&#xff09;: 根据屏幕可视区域动态计算或自定义固定高度数据渲染项&…

python_合并同一个文件夹下的excel文件

python_合并同一个文件夹下的excel文件 import os import glob import pandas as pddef merge_excel_sheets(input_folder, output_file):# 创建一个空的 DataFrame 用于存储所有数据combined_data pd.DataFrame()# 获取指定文件夹内所有的 Excel 文件excel_files glob.glob…

el-select下拉数据量太大,改成滚动加载数据

问题描述&#xff1a;当接口返回下拉数据量特别大的时候&#xff0c; 页面会卡顿&#xff0c; 下面采用下拉加载指定数据的方式来优化。 <template><el-selectv-model"value"filterableplaceholder"Select"v-focus"loadData(loadNumber)&qu…

(面试必看!)一些和多线程相关的面试考点

文章导读 引言考点1. CAS 指令&#xff08;重点&#xff09;一、什么是CAS二、CAS 的优点三、CAS 的缺点四、ABA问题五、相关面试题 考点2. 信号量&#xff08;semaphore&#xff09;一、基本概念二、信号量的主要操作三、信号量的应用四、相关面试题 考点3、CountDownLatch 类…

DHCP笔记

DHCP---动态主机配置协议 作用&#xff1a;为终端动态提供IP地址&#xff0c;子网掩码&#xff0c;网关&#xff0c;DNS网址等信息 具体流程 报文抓包 在DHCP服务器分配iP地址之间会进行广播发送arp报文&#xff0c;接收IP地址的设备也会发送&#xff0c;防止其他设备已经使用…

网络编程 - 粘包与拆包第一弹 - 深入理解TCP粘包与拆包问题

作者&#xff1a;逍遥Sean 简介&#xff1a;一个主修Java的Web网站\游戏服务器后端开发者 主页&#xff1a;https://blog.csdn.net/Ureliable 觉得博主文章不错的话&#xff0c;可以三连支持一下~ 如有疑问和建议&#xff0c;请私信或评论留言&#xff01; 前言 在网络编程中&a…

Unity3D 二进制序列化器详解

前言 在Unity3D开发中&#xff0c;二进制序列化是一种重要的数据持久化和网络传输技术。通过二进制序列化&#xff0c;游戏对象或数据结构可以被转换成二进制格式&#xff0c;进而高效地存储于文件中或通过网络传输。本文将详细介绍Unity3D中的二进制序列化技术&#xff0c;包…

如何利用 NLP 技术提高机器翻译中对文化特定词汇和习语的理解与翻译准确性?

要利用 NLP 技术提高机器翻译中对文化特定词汇和习语的理解与翻译准确性&#xff0c;可以采用以下方法&#xff1a; 数据收集与预处理&#xff1a;收集与文化特定词汇和习语相关的大量平行语料&#xff0c;确保数据集中包含丰富的文化特定内容。进行数据预处理&#xff0c;包括…

【手撕数据结构】栈和队列高频面试题

目录 括号匹配问题用队列实现栈用栈实现队列 括号匹配问题 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 1.左括号必须用相同类…

卓码软件测评:软件功能测试和非功能测试详情介绍

随着信息技术的不断发展&#xff0c;软件在我们日常生活与工作中扮演着越来越重要的角色。然而&#xff0c;软件质量的好坏直接关系到使用者的体验和企业的声誉。在软件开发过程中&#xff0c;功能测试和非功能测试作为保证软件质量的重要手段&#xff0c;受到了越来越多的关注…

【过题记录】 7.28 (树上dp,背包,换根,基环树)

[ZJOI2007] 时态同步 分析&#xff1a; 不难发现&#xff0c;中断点就是叶子节点&#xff0c; 首先&#xff0c;所有叶子节点的高度肯定就等于最深的那个叶子节点的深度。 且不可能去调整最深的叶子结点的深度了。 这样经过一遍dfs之后我们可以计算出每个叶子需要增加的高度。…