1、Kubernetes简介

news2024/12/27 11:54:06

一、k8s 集群部署
1、k8s 快速入门
1)、简介
Kubernetes 简称 k8s。是用于自动部署,扩展和管理容器化应用程序的开源系统。
中文官网:https://kubernetes.io/zh/
中文社区:https://www.kubernetes.org.cn/
官方文档:https://kubernetes.io/zh/docs/home/
社区文档:http://docs.kubernetes.org.cn/
 部署方式的进化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
2)、架构
1、整体主从方式
在这里插入图片描述
在这里插入图片描述
2、Master 节点架构
在这里插入图片描述
 kube-apiserver
 对外暴露 K8S 的 api 接口,是外界进行资源操作的唯一入口
 提供认证、授权、访问控制、API 注册和发现等机制
 etcd
 etcd 是兼具一致性和高可用性的键值数据库,可以作为保存 Kubernetes 所有集
群数据的后台数据库。
 Kubernetes 集群的 etcd 数据库通常需要有个备份计划
 kube-scheduler
 主节点上的组件,该组件监视那些新创建的未指定运行节点的 Pod,并选择节点
让 Pod 在上面运行。
 所有对 k8s 的集群操作,都必须经过主节点进行调度
 kube-controller-manager
 在主节点上运行控制器的组件
 这些控制器包括:
 节点控制器(Node Controller): 负责在节点出现故障时进行通知和响应。
 副本控制器(Replication Controller): 负责为系统中的每个副本控制器对象维
护正确数量的 Pod。
 端点控制器(Endpoints Controller): 填充端点(Endpoints)对象(即加入 Service
与 Pod)。
 服务帐户和令牌控制器(Service Account & Token Controllers): 为新的命名
空间创建默认帐户和 API 访问令牌

3、Node 节点架构
在这里插入图片描述
 kubelet
 一个在集群中每个节点上运行的代理。它保证容器都运行在 Pod 中。
 负责维护容器的生命周期,同时也负责 Volume(CSI)和网络(CNI)的管理;
 kube-proxy
 负责为 Service 提供 cluster 内部的服务发现和负载均衡;
 容器运行环境(Container Runtime)
 容器运行环境是负责运行容器的软件。
 Kubernetes 支持多个容器运行环境: Docker、 containerd、cri-o、 rktlet 以及任
何实现 Kubernetes CRI (容器运行环境接口)。
 fluentd
 是一个守护进程,它有助于提供集群层面日志 集群层面的日志

3)、概念
在这里插入图片描述
 Container:容器,可以是 docker 启动的一个容器
 Pod:
 k8s 使用 Pod 来组织一组容器
 一个 Pod 中的所有容器共享同一网络。
 Pod 是 k8s 中的最小部署单元
 Volume
在这里插入图片描述

 声明在 Pod 容器中可访问的文件目录
 可以被挂载在 Pod 中一个或多个容器指定路径下
 支持多种后端存储抽象(本地存储,分布式存储,云存
储…)
 Controllers:更高层次对象,部署和管理 Pod;
 ReplicaSet:确保预期的 Pod 副本数量
 Deplotment:无状态应用部署
 StatefulSet:有状态应用部署
 DaemonSet:确保所有 Node 都运行一个指定 Pod
 Job:一次性任务
 Cronjob:定时任务
 Deployment:
在这里插入图片描述

 定义一组 Pod 的副本数目、版本等
 通过控制器(Controller)维持 Pod 数目(自动回
复失败的 Pod)
 通过控制器以指定的策略控制版本(滚动升级,回滚等)
 Service
在这里插入图片描述

 定义一组 Pod 的访问策略
 Pod 的负载均衡,提供一个或者多个 Pod 的稳定
访问地址

 支持多种方式(ClusterIP、NodePort、LoadBalance)
 Label:标签,用于对象资源的查询,筛选
在这里插入图片描述
 Namespace:命名空间,逻辑隔离
 一个集群内部的逻辑隔离机制(鉴权,资源)
 每个资源都属于一个 namespace
 同一个 namespace 所有资源名不能重复
 不同 namespace 可以资源名重复

在这里插入图片描述
API:
我们通过 kubernetes 的 API 来操作整个集群。
可以通过 kubectl、ui、curl 最终发送 http+json/yaml 方式的请求给 API Server,然后控制 k8s
集群。k8s 里的所有的资源对象都可以采用 yaml 或 JSON 格式的文件定义或描述

在这里插入图片描述
4)、快速体验
1、安装 minikube
https://github.com/kubernetes/minikube/releases
下载 minikube-windows-amd64.exe 改名为 minikube.exe
打开 VirtualBox,打开 cmd,
运行
minikube start --vm-driver=virtualbox --registry-mirror=https://registry.docker-cn.com
等待 20 分钟左右即可
2、体验 nginx 部署升级
在这里插入图片描述
5)、流程叙述
1、通过 Kubectl 提交一个创建 RC(Replication Controller)的请求,该请求通过 APIServer
被写入 etcd 中
2、此时 Controller Manager 通过 API Server 的监听资源变化的接口监听到此 RC 事件
3、分析之后,发现当前集群中还没有它所对应的 Pod 实例,
4、于是根据 RC 里的 Pod 模板定义生成一个 Pod 对象,通过 APIServer 写入 etcd
5、此事件被 Scheduler 发现,它立即执行一个复杂的调度流程,为这个新 Pod 选定一
个落户的 Node,然后通过 API Server 讲这一结果写入到 etcd 中,
6、目标 Node 上运行的 Kubelet 进程通过 APIServer 监测到这个“新生的”Pod,并按照它
的定义,启动该 Pod 并任劳任怨地负责它的下半生,直到 Pod 的生命结束。
7、随后,我们通过 Kubectl 提交一个新的映射到该 Pod 的 Service 的创建请求
8、ControllerManager 通过 Label 标签查询到关联的 Pod 实例,然后生成 Service 的
Endpoints 信息,并通过 APIServer 写入到 etcd 中,
9、接下来,所有 Node 上运行的 Proxy 进程通过 APIServer 查询并监听 Service 对象与
其对应的 Endpoints 信息,建立一个软件方式的负载均衡器来实现 Service 访问到后端
Pod 的流量转发功能。
k8s 里的所有的资源对象都可以采用 yaml 或 JSON 格式的文件定义或描述

在这里插入图片描述

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

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

相关文章

MATLAB_双馈风力发电机-900V直流混合储能并网系统MATLAB仿真

仿真平台为:matlab2016b 双馈感应风机模块、采用真实风速数据。混合储能模块、逆变器模块、转子过电流保护模块、整流器控制模块、逆变器控制模块等模块。 下图分别为母线直流电压以及有功无功输出: 混合储能系统——蓄电池以及超级电容的SOC为&#x…

黑猫带你学NandFlash第3篇:NAND寻址(行列地址和block/page/LUN之间的关系)

本文依据不同型号NandFlash spec及个人工作经验整理而成,如有错误请留言。 文章为付费内容,已加入原创侵权保护,禁止私自转载及抄袭。 文章所在专栏:《黑猫带你学:NandFlash详解》 本文大约2000字,主要讲解:nand flash如何物理寻址、多plane又是如何寻址、相关计算公式等…

Java 中文字符串输出乱码

Java 中文字符串输出乱码 1、IDE和系统控制台编码格式2、设置标准输出编码 1、IDE和系统控制台编码格式 Java 中文字符串输出乱码 问题是由于代码格式和输出控制台的编码格式不同造成的。 一般代码文件都是推荐使用UTF-8格式(默认),此时在中文…

AI 绘画 | Stable Diffusion 图生图

图生图简介 Stable Diffusion 不仅可以文生图,还可以图生图。文生图就是完全用提示词文本去生成我们想要图片,但是很多时候会有词不达意的感觉。就像我们房子装修一样,我们只是通过文字描述很难表达出准确的想要的装修效果,如果能…

算法设计与分析第二章作业

1. 描述最大字段和的分治算法 题目 思路 判断最大子段和,可以用分治的思想,每次将序列一分为二,选择两个序列的最大子段和。 但是这里还有一种可能,就是子段可以横跨两个子序列,所以我们的最大子段和就是&#xff1…

统计学习方法 条件随机场

文章目录 统计学习方法 条件随机场随机场马尔可夫随机场定义因子分解 条件随机场定义参数化形式简化形式矩阵形式 概率预测问题前向-后向算法概率的计算期望值的计算 学习问题改进的迭代尺度法拟牛顿法 解码问题 统计学习方法 条件随机场 学习李航的《统计学习方法》时&#x…

4 函数的升级-下

重载(overload) 同一个标识符在不同的上下文有不同的意义 如汉语中“洗”和不同的字搭配后,有不同的含义,play 和不同的单词搭配后有不同的含义。 函数重载:用同一个函数名定义不同的函数,通过不同的参数搭…

SpringBoot整合RabbitMQ学习笔记

SpringBoot整合RabbitMQ学习笔记 以下三种类型的消息,生产者和消费者需各自启动一个服务,模拟生产者服务发送消息,消费者服务监听消息,分布式开发。 一 Fanout类型信息 . RabbitMQ创建交换机和队列 在RabbitMQ控制台,新…

飞书开发学习笔记(三)-利用python开发调试云文档和电子表格

飞书开发学习笔记(三)-利用python开发调试云文档和电子表格 一.建立Python飞书开发环境 首先还是进入开放平台下的API调试台 飞书开放平台:https://open.feishu.cn/app?langzh-CN 以获取"我的空间"下的文件清单为例,通过获取飞书API调试台提…

展开一个结构加法等式

4a6 4a8 - - - - - 1 - 1 - - - 1 - 1 - - 1 - - 1 - - 1 - - 1 - - - - 在5-1的方向上具体展开4a64a8 25 19 19 19 19 19 19 19 25 19 19 19 19 19 19 19 1 10 10 10 10 10 10 10 1 10 10 10 10 10 10 10 …

矩阵等价和向量组等价的一些问题

什么是向量组?答:向量组是由若干同维数的列向量(或同维数的行向量)组成的集合。什么是向量组等价?答:两个向量组,各自拼成矩阵A和B,向量组等价就是三秩相等,即r&#xff…

如何发布自己的golang库

如何发布自己的golang库 1、在 github/gitee 上创建一个 public 仓库,仓库名与 go 库名一致,然后将该仓库 clone 到本地。 本文这里使用 gitee。 $ git clone https://gitee.com/zsx242030/goutil.git2、进入项目文件夹,进行初始化。 $ go…

【unity实战】实现类似英雄联盟的buff系统

文章目录 先来看看最终效果前言开始BUFF系统加几个BUFF测试1. 逐层消失,升级不重置剩余时间的BUFF2. 一次性全部消失,升级重置剩余时间的BUFF3. 永久BUFF,类似被动BUFF4. 负面BUFF,根据当前BUFF等级计算每秒收到伤害值&#xff0c…

Docker Stack部署应用详解+Tomcat项目部署详细实战

Docker Stack 部署应用 概述 单机模式下,可以使用 Docker Compose 来编排多个服务。Docker Swarm 只能实现对单个服务的简单部署。而Docker Stack 只需对已有的 docker-compose.yml 配置文件稍加改造就可以完成 Docker 集群环境下的多服务编排。 stack是一组共享…

Pyhotn: Mac安装selenium没有chromedriver-114以上及chromedriver无法挪到/usr/bin目录下的问题

1.0 安装selenium 终端输入: pip install selenium 查看版本: pip show selenium2.0 安装chromedriver 查看chrome版本 网上大多数是,基本到114就停了。 https://registry.npmmirror.com/binary.html?pathchromedriver/ 各种搜索&#…

Blender基础操作:面操作细分、整体切分、挤出、内插、尖分、融并、切割、面的法向、填充等

目录 1. 面操作:进入‘面选择’模式,选择一个面 2. 面的挤出 3. 内插面 4. 尖分面 5. 面的切割 6. 面的法向normal 7. 填充面 8. X-Ray透视 1. 面操作: 进入“面选择”模式,选择一个面 4种操作手段: 菜单 工…

四、数据库系统

数据库系统(Database System),是由数据库及其管理软件组成的系统。数据库系统是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介…

Redis01-缓存击穿、穿透和雪崩

目录 开场白-追命3连 使用场景 01缓存穿透场景与方案 02布隆过滤器 03缓存击穿场景与方案 04缓存雪崩场景与方案 开场白-追命3连 看你项目中有说用到Redis,都是哪些场景使用了Redis呢? 如果发生了缓存穿透、击穿、雪崩如何应对呢?缓存…

研读论文之Image Quality-aware Diagnosis via Meta-knowledge Co-embedding

研读论文之 Image Quality-aware Diagnosis via Meta-knowledge Co-embedding 前言一、简介二、主要内容2.1. 图像退化2.2. 图像质量感知诊断(IQAD)2.3. 元知识协同嵌入网络(MKCNet) 三、实现过程3.1. IQAD问题3.2. 元知识协同嵌入网络 (MKCNet)3.2.1功能3.2.2优化策略3.2.3 Ta…

轻信息服务展示预约小程序的内容是什么

预约几乎是适应所有经营商家的,可以提升客户服务/产品获取度、锁客及便捷性需求,同时也利于提升商家整体经营效率,无论获客还是留存线索都有很高帮助。 尤其对线下服务实体店来说,需要预约形式将客户引流到店,传统商家…