k8s中的基础概念

k8s可以从硬件和软件两方面来理解:

硬件:

        1、节点(Node):类似于手机、平板、电脑

        2、集群(Cluster):多个节点组合到一起

        3、持久卷(Persistent Volumes):类似于插入到集群中的外部硬盘

软件:

        1、容器(Container)

        2、Pod:k8s的基本计算单元。Kubernetes不直接运行容器,它将一个或多个容器封装到一个称为Pod的高级结构中。相同Pod中的任何容器都将共享相同的名称空间和本地网络

        3、部署(Deployment):管理pod的抽象层。部署的主要目的是声明一个Pod应该同时运行多少个副本。当将部署添加到集群中时,它将自动地旋转加速所需的Pod数量,然后监视它们。如果一个Pod消失,部署将自动重新创建它。

使用部署,你不必手动处理Pod。你只需声明系统的期望状态,它将自动为你管理。

        4、网关(Gateway):网关路由,外部由此来访问部署的应用程序

一、k8s的pod

1、获取所有的namespace

kubectl get namespaces
kubectl get pods --all-namespaces
kubectl get pods -A

2、部署nginx到项目(demo)中

kubectl run nginx --image=nginx --namespace=demo

3、通过label查询pods

官方标签label链接

kubectl get pods --namespace=demo -l "app=admin-service"

4、查看pod的日志

kubectl logs --namespace=demo -l "app=admin-service"

5、查看pods更多的详细信息

kubectl get pods --namespace=demo -l "app=admin-service" -o wide

6、pods相关的命令 官方pod命令链接

二、k8s的控制器

Kubernetes中内建了很多controller(控制器),这些相当于一个状态机,用来控制Pod的具体状态和行为

1、Deployment:适合无状态的服务部署,例如:admin-service

2、StatefullSet:适合有状态的服务部署,例如:MySQL

3、DaemonSet:一次部署,所有的node节点都会部署,例如一些典型的应用场景:

          运行集群存储 daemon,例如:在每个Node上运行 glusterd、ceph

          在每个Node上运行日志收集daemon,例如:fluentd、logstash

          在每个Node上运行监控daemon,例如:”Prometheus Node Exporter

4、Job:一次性的执行任务,例如:数据库初始化

5、Cronjob:周期性的执行任务,例如:定时任务

        1、deployment

                a、副本 replicas 去设置启动多个少实例

                b、spec:设置容器相关的信息:镜像,cpu设置多少,端囗映射、挂载

                c、更新策略:

                        1)、我升级版本了。如果我停掉之前的版本,然后上线新的版本,有一段时间服务不可用

                        2)、滚动更新就可以不用停止服务

        2、如何获取某个pod的deployment

kubectl get deployments --namespace=demo -l "app=admin-service" -o yaml > ./admin-service.yaml

        3、deployment官方文档

三、k8s的service 

service:负责多个 pod之间的负载均衡

1.编辑yaml

        kubectl apply 应用yaml配置

2.列出service

kubectl get services --namespace=demo -l "app=admin-service-nodeport"

四、k8s的gateway

资源模型

网关 API 有三种稳定的 API:

  • 网关类:定义一组具有通用配置并由控制器管理的网关 实现类。

  • 网关:定义流量处理基础架构(例如云负载均衡器)的实例。

  • HTTPRoute:定义特定于 HTTP 的规则,用于将流量从网关侦听器映射到 后端网络终结点的表示形式。这些节点通常表示为服务.

网关 API 被组织成不同的 API 类型,这些 API 类型具有相互依赖的关系来支持 组织以角色为导向的性质。一个 Gateway 对象只与一个 GatewayClass 相关联;GatewayClass 描述负责管理此类网关的网关控制器。 然后,将一个或多个路由类型(如 HTTPRoute)关联到网关。网关可以过滤可能附加到其监听的路由,从而形成一个带有路由的双向信任模型。

下图说明了三种稳定网关 API 类型的关系:

五、k8s的卷

常用的卷类型:

        1、local

        2、hostpath

        3、cephfs

六、k8s集群架构组件

当你部署完 Kubernetes,便拥有了一个完整的集群。

一组工作机器,称为节点, 会运行容器化应用程序。每个集群至少有一个工作节点。

工作节点会托管 Pod,而 Pod 就是作为应用负载的组件。 控制平面管理集群中的工作节点和 Pod。 在生产环境中,控制平面通常跨多台计算机运行, 一个集群通常运行多个节点,提供容错性和高可用性。

下图是正常运行的 Kubernetes 集群所需的各种组件

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

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

相关文章

几款优秀科学开源计算软件介绍

有一些比较优秀的软件,它们在科学计算、数据处理和分析方面具有广泛的应用和功能。以下是一些比较知名的软件: SciPy:SciPy是一个非常流行的科学计算库,提供了大量的数学函数和算法,用于解决各种科学问题。它支持多种操…

【实用技巧】Steam Wallpaper Engine 壁纸引擎向手机导入壁纸方法

一、内容简介 本文介绍如何使用电脑上的 Wallpaper Engine (Steam 平台中的壁纸引擎)向安卓手机导入并使用壁纸。 二、所需原材料 安卓手机(以笔者使用的华为荣耀50为例)、安装有Steam以及Wallpaper Engine的电脑 三、导入方法…

清水模板厂家专供 — 易脱模,不翘曲

在现代建筑施工中,清水模板的选择对于实现优质建筑表面尤为关键。我们专供的清水模板,凭借其易脱模和不翘曲的特性,为建筑项目提供了理想的解决方案。 产品特点 易脱模性能:我们的清水模板表面光滑细腻,经过特殊处理…

C++系列-第1章顺序结构-7-浮点型

在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/ 总结 本文是C系列博客,主要讲述浮点型的用法 浮点型 1、常量 圆周率是一个常数。计算机程序设计中有一个类似的概念是“常量”。C语言规定,一个常量可以直接调用(如 124、…

linux后台进程的总结

文章目录 方案1 nohup &方案2 screen 方案1 nohup & 1、单独使用 nohup 执行脚本,如下图所示,终端会被接管,就是标准输入stdin 被关闭了,使用ctrlc会导致终止执行,但是可以关闭这个终端,重新打开终…

GVM垃圾收集算法

分代收集理论 目前主流JVM虚拟机中的垃圾收集器,都遵循分代收集理论: 弱分代:绝大多数对象都是朝生夕灭强分带:经历越多次垃圾收集过程的对象,越难以回收,难以消亡 按照分代收集理论设计的“分代垃圾收集…

挑选全身动作捕捉设备需要看哪几点?

随着数字化发展,虚拟数字人成为企业、品牌营销中不可或缺的一环,虚拟数字人可以通过全身动作捕捉设备,能够打破次元壁与用户实时互动。那要怎么挑选全身动作捕捉设备呢? 广州虚拟动力推出了旗舰版惯性动捕设备DreamsCap X1&#…

洗地机是智商税吗?2024洗地机品牌推荐

为了更加便捷地应对家务,人们一直在不断发明各种工具。从最早的扫把和拖布,到后来的吸尘器和扫地机器人,我们的家务清洁方式不断演进。然而,在最近几年,洗地机的出现彻底改变了我们的家庭清洁体验,为我们带…

微服务自动化docker-compose

一、docker-compose介绍 Docker Compose是一个用来定义和运行多个复杂应用的Docker编排工具。例如,一个使用Docker容器的微服务项目,通常由多个容器应用组成。那么部署时如何快速启动各个微服务呢,一个个手动启动?假如有上百个微服…

安卓(雷电)模拟器清除屏幕密码[亲测可用]

1、设置磁盘可写 启动模拟器,然后在模拟器的设置界面,设置磁盘共享为可写入,重启模拟器,如下图: 2、找到模拟器目录 返回桌面,右键模拟器图标,打开文件所在目录,如下图&#xff1a…

一天一个设计模式---适配器模式

概念 适配器模式是一种结构型设计模式,用于将一个类的接口转换成客户端所期望的另一个接口。它允许不兼容的接口之间进行协同工作,使得原本由于接口不匹配而无法合作的类能够一起工作。 具体内容 适配器模式主要包括以下几个要素: 目标接…

Maven_下载_安装_配置

文章参考:https://zhuanlan.zhihu.com/p/615382243 Maven简介 Maven 是 Apache 软件基金会的一个开源项目,是一个优秀的项目构建工具,它用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目的编译、测试、打包和发布等工作。 maven优点:…

呼吸道病毒感染后,为何会引发细菌性肺炎?气道和肠道微生物组改变是关键

谷禾健康 病毒-细菌合并或继发感染 引起呼吸道感染的病毒是导致全世界高发病率和死亡率的原因,数十年来通常发生在冬季。在冬天,空气干燥,那些可能含有病毒的飞沫可以在空气中停留更长时间,并可以进一步传播。此外人的免疫力在冬季…

[Markdown] Markdown常用快捷键分类汇总

文章目录 Markdown1、标题2、列表3、强调4、链接和图片5、代码和公式6、表格和任务列表7、引用8、分割线9、脚注10、目录11、注释12、定义 Markdown Markdown是一种轻量级的标记语言,可以让你用简单的语法来编写格式丰富的文档。 Markdown编辑器是一种专门用于编辑…

连接打印机显示“0x0000011b”错误代码,亲测有效的解决办法

程序代码园发文地址:null小说,Java,HTML,Java小工具,程序代码园,http://www.byqws.com/ ,连接打印机显示“0x0000011b”错误代码,亲测有效的解决办法http://www.byqws.com/blog/2142.html 最近办公室共享打印机突然打印不了,把之前连接的打印…

数字图像线性滤波——方框、均值、高斯滤波及opencv(C++)实现示例

数字图像线性滤波——方框、均值、高斯滤波及opencv(C)实现示例 一、图像滤波概念简介二、方框滤波及opencv实现示例1、方框滤波的公式2、opencv方框滤波boxfilter()函数(1)函数介绍(2)opencv实现实例&…

怎样创建vue项目(分别基于vue-cli和vite两种的创建方式)

一、基于vue-cli脚手架创建 1、安装node.js 1、首先需要安装node.js,推荐下载地址:Node.js 2、检查是否安装成功,使用打开黑窗口的快捷键windowR,输入cmd,在黑窗口输入node -v,如果输出版本号&#xff0…

LeNet-5(用于手写体字符识别)

结构:输入的二维图像,先经过两次卷积层到池化层,再经过全连接层,最后使用softmax分类作为输出层 每层有多个Feature Map(每个Feature Map有多个神经元) Feature Map通过一种卷积滤波器提取输入的一种特征 …

19. 从零用Rust编写正反向代理, 配置数据的热更新原理及实现

wmproxy wmproxy是由Rust编写,已实现http/https代理,socks5代理, 反向代理,静态文件服务器,内网穿透,配置热更新等, 后续将实现websocket代理等,同时会将实现过程分享出来&#xff…