k8s集群概念组件简介

news2024/9/29 17:36:34

一、Kubernetes 集群概述

1.2 Kubernetes 资源

资源

用途

服务(Service)

Kubernetes 使用服务在一组 pod 上公开正在运行的应用程序。

ReplicaSet

Kubernetes 使用 ReplicaSet 来维护恒定的 pod 号。

Deployment

维护应用程序生命周期的资源对象。

1.3 Kubernetes 构架

Kubernetes 集群包含一个 control plane 和 worker 节点。
Kubernetes 容器可以运行 在各种机器和环境中。
control plane 节点控制和维护集群的状态。
worker 节点运行 Kubernetes 应用程序。
Kubernetes 命名空间用来区分集群中的集群资源。命名空间范围适用于资源对象,如部署、服务和 pod。
不能将命名空间用于集群范围的资源对象,如存储类、节点和持久性卷。

1.4 Kubernetes 概念指南

  • 从一个或多个 worker 节点开始,以运行容器工作负载。

  • 从一个或多个 control plane 节点管理这些工作负载的部署。

  • 将容器嵌套到名为 pod 的部署单元中。使用 pod 可以为容器提供额外的元数据,并可在单个部署实体中对多个容器进行分组。

  • 创建特殊种类的资产。例如,服务由一组 pod 及定义了访问方式的策略来表示。此策略可使容器连接到所需的服务,即便容器没有用于服务的特定 IP 地址。复制控制器(replication controller)是另一种特殊资产,用于指示一次需要运行多少个 pod 副本。您可以使用此功能来自动扩展应用程序,以适应其当前的需求。

1.5 Kubernetes 组件

组件

用途

kube-proxy

在集群的每个节点上运行,并维护 Kubernetes 资源之间的网络流量。

kube-controller-manager

监管集群的状态。

kube-scheduler

将 pod 分配给节点。

etcd

存储集群数据。

kube-apiserver

验证并配置 API 对象的数据。

kubelet

在节点上运行并读取容器清单。确保定义的容器已启动且正在运行。

kubectl

您可以定义如何运行工作负载。使用 kubectl 命令与 kube-apiserver 进行交互。

节点

节点是 Kubernetes 集群中的物理机器或虚拟机。控制平面(control plane)管理每个节点,并在 Kubernetes 集群中的节点之间调度 pod。

容器运行时

容器运行时在主机操作系统上运行容器。您必须在每个节点上安装容器运行时,以便 pod 能够在该节点上运行。

持久性存储

即便在设备关闭后也存储数据。Kubernetes 使用持久性卷来存储应用程序数据。

container-registry

存储和访问容器镜像。

Pod

pod 是 Kubernetes 中的最小逻辑单元。pod 包含一个或多个在 worker 节点上运行的容器。

1.6 k8s概念详解

Kubernetes

Kubernetes 是一个开源容器编配引擎,用于自动化容器化应用程序的部署、扩展和管理。

容器

容器是 worker 节点上以 OCI 兼容容器中运行的应用程序实例和组件。容器是开放容器项目(OCI)兼容镜像的运行时。镜像是二进制应用。worker 节点可以运行多个容器。节点容量与底层资源的内存和 CPU 功能相关,无论它们是云、硬件还是虚拟化。

Pod

pod 是共同部署在同一主机上的一个或多个容器。包含一组有共享资源(如卷和 IP 地址)的容器。pod 也是定义、部署和管理的最小计算单元
在 OpenShift Container Platform 中,pod 替代了独立的应用程序容器作为最小的可部署单元。
Pod 是 OpenShift Container Platform 中编配的单元。OpenShift Container Platform 在同一个节点上的一个 pod 中调用并运行所有容器。复杂的应用由多个 pod 组成,每个 pod 都有自己的容器。它们与外部进行交互,也在 OpenShift Container Platform 环境中相互交互。

副本集和复制控制器

Kubernetes 副本集和 OpenShift Container Platform 复制控制器,可同时使用,确保在所有时间都有指定数量的 pod 副本在运行。如果 pod 退出或被删除,副本集或复制控制器会启动其他 pod 也保证运行的数量。如果运行的 pod 数量超过了指定值,副本集将根据需要删除以匹配指定的副本数。

部署(Deployment)和部署配置(DeploymentConfig)

OpenShift Container Platform 可以使用 Kubernetes Deployment 对象和 OpenShift Container Platform DeploymentConfig 对象,用户可以选择其中的一个。
Deployment 对象控制应用程序用于 pod的部署,首先从 registry 中获取的容器镜像的名称,并作为 pod 部署到节点上, 并设置要部署的 pod 的副本数,创建副本集来管理该进程。
Deployment 对象可以根据 Deployment 对象版本和各种 rollout 策略来更新部署到 worker 节点上的 pod,以管理应用程序的可用性。
OpenShift Container Platform DeploymentConfig 对象添加了更改触发器的额外功能,这些触发器可以在容器镜像的新版本或其他更改时自动创建 Deployment 对象的新版本。

服务(Service)

Service定义了一组逻辑的 pod 和访问策略,为其他应用程序提供永久内部 IP 地址和主机名,供其他用作 pod 的创建和销毁。
Service层将应用程序组件连接在一起。例如,前端 Web 服务通过与其服务通信连接到数据库实例。服务支持跨应用程序组件简单的内部负载平衡。OpenShift Container Platform 会自动将服务信息注入到正在运行的容器中,以简化发现过程。

路由(Route)

路由是通过为服务提供一个外部可访问主机名(如 www.example.com )来公开服务的方法。每个路由都包含路由名称、服务选择器和可选的安全配置。路由器可以使用定义的路由和由服务标识的端点,提供允许外部客户端到达应用程序的名称。尽管易于部署完整的多层应用程序,但从 OpenShift Container Platform 环境以外的任何位置的流量在没有路由层的情况下无法访问应用程序。

Build

构建 (build) 是将输入参数转换为结果对象的过程。此过程最常用于将输入参数或源代码转换为可运行的镜像。BuildConfig 对象是整个构建过程的定义。OpenShift Container Platform 通过从构建镜像创建容器并将它们推送到集成的 registry 来利用 Kubernetes。

project

OpenShift Container Platform 使用project来允许一组用户或开发人员一起工作,实现一个隔离单位和协作单位。定义资源范围,允许项目管理员和协作者管理资源,并使用配额和限制跟踪用户的资源。
project是带有额外注解的 Kubernetes 命名空间, 是管理常规用户对资源访问的一个中央点。通过project,一组用户可以在与其他用户隔离的前提下组织和管理其内容。用户需要通过管理员获得项目的访问权限。集群管理员也可以允许开发人员创建自己的项目,在这种情况下,用户会自动获得自己项目的访问权限。
每个项目都有自己的一组对象、策略、约束和服务帐户的集合。
项目也称为命名空间(namespaces)

Operator

Operator 是一个 Kubernetes 原生应用程序。Operator 的目标是将相关的知识融入到软件来实现各种操作。之前,这些知识存在于管理员的头脑中,以及各种 shell 脚本或自动化软件(如 Ansible)中。它们都在您的 Kubernetes 集群之外,很难集成。但是,Operators 改变了这个情况。
Operator 专门用于应用程序的构建。
Operator 是在 Kubernetes 集群内运行、且原生集成了 Kubernetes 概念和 API 的一个软件,可以实施和自动化常见的第 1 天操作,如安装和配置,以及第 2 天活动,如扩展和缩减、重新配置、更新、备份、故障转移以及恢复,Operator称为 Kubernetes 原生应用程序。
使用 Operator 时,应用程序不能被视为原语的集合,如 pod、部署、服务或配置映射。相反,Operator 应被视为单个对象,它公开了对应用程序有意义的选项。

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

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

相关文章

重生之我是赏金猎人-SRC漏洞挖掘(七)-看我如何从FUZZ到SRC官网XSS

0x01 前奏 本文来自:RGM78sec 截至发稿,vuln早已修复 前不久在挖掘某SRC时,偶然在该SRC官网的编辑器发现了一个接口。 起初以为是任意文件包含能RCE了,后来测试发现只是拼接读取了远程资源站的图片,原本都想着放弃…

TypeScript(二)基本数据类型

前言 距离上篇博客已有两年了,对TS也有了一定的认识,于是计划继续更新系列文章 基本数据类型 在JS中,基本数据类型有:Boolan(布尔),Number(数字),String&a…

什么是事务?Mysql事务怎么用?Mybatis怎么操作事务的?Spring呢?快进来看看

目录 一、计算机中的事务 1. 概念 2.事务的ACID特性 3.事务类型 1)手动事务 2)自动事务 4.为什么需要事务? 5.优点 二、MySQL事务 1.语法格式: 2.关闭自动提交,开启新事务 3.开启自动提交,关闭事务控制 三、Mybatis事务 Mybatis开关事务控…

Meta AR眼镜主管:正开发史无前例的AR,但要解决很多困难

前不久,Meta CTO Andrew Bosworth在个人博客上“怒斥”公司内部不够专注,应该将资源投入在有核心竞争力、高投资回报率的业务上,而不是开发取悦用户却不赚钱的产品。尽管删除一些小众功能后,用户可能会不满,但为了让Me…

Bi系统跟数据中台的区别是什么?

随着数据时代的发展,BI分析是当今数据时代必不可少的能力之一。BI系统通过系统化产品化的方法,能够大幅降低数据的获取成本、提升数据使用效率。同时借助可视化、交互式的操作,可以高效支持业务的分析及发展。 BI如此火热,随之而…

openpnp - 增加散料飞达

文章目录openpnp - 增加散料飞达概述笔记飞达在设备上的放置方向编带料在飞达中的方向将相机移动到飞达料的第一孔的中心捕获保存第1孔中心编带设置测试相机位置是否正确测试吸嘴的位置是否正确将吸嘴回到安全位置测试是否能正确抓料ENDopenpnp - 增加散料飞达 概述 使用open…

MySQL性能调优与设计——MySQL调优——慢查询

MySQL调优–慢查询 MySQL调优金字塔 很明显从图上可以看出,越往上走,难度越来越高,收益却越来越小。 对于架构调优,在系统设计时首先需要充分考虑业务的实际情况,是否可以把不适合数据库做的事情放到数据仓库、搜索引…

分享111个HTML旅游交通模板,总有一款适合您

分享111个HTML旅游交通模板,总有一款适合您 111个HTML旅游交通模板下载链接:https://pan.baidu.com/s/1VHJSBVJbj4PQpPAwxysJBg?pwd8b17 提取码:8b17 Python采集代码下载链接:采集代码.zip - 蓝奏云 汽车租赁平台网页模板 汽…

时的科技迎1亿融资,这辆“空中的士”能否实现真正飞行?

近期,进行载人eVTOL的研发、生产和销售的时的科技宣布完成1亿元Pre-A轮融资,成立不到两年,这已是时的科技的第三轮融资,此前,时的科技已获得蓝驰创投和德迅投资千万美元种子轮投资。在不少人看来,时的科技所…

恢复出厂设置在哪里?抓住这份官方指南(Win10电脑)

当电脑经常报告错误,并伴有运行缓慢和停滞等问题时,很可能是计算机老化造成的。想要解决这个问题,可以通过恢复出厂设置使得电脑恢复成初始状态,自然而然问题就解决了。 但是很多人不知道,恢复出厂设置在哪里&#xf…

【自学Linux】Linux运行级别

Linux运行级别 Linux运行级别教程 Linux 可以支持运行级别的设置,运行级别就是操作系统当前正在运行的功能级别,级别是从 0 到 6。Centos7 系统之前的版本是通过 /etc/inittab 文件来定义系统,而 CentOS7 用的是 /lib/systemd/system/runle…

MySQL数据库调优————JOIN优化

JOIN的种类 LEFT JOIN SELECT <select_list> FROM Table_A A LEFT JOIN Table_B B ON A.Key B.Key求的是A所有的数据以及A与B的交集 RIGHT JOIN SELECT <select_list> FROM Table_A A RIGHT JOIN Table_B B ON A.Key B.Key求的是B所有的数据以及A和B的交集 IN…

Nginx 新增模块 http_image_filter_module 来实现动态生成缩略图

前言 通过 nginx 的 HttpImageFilterModule 模块裁剪过大的图片到指定大小&#xff0c;这个nginx自带的模块是默认关闭的&#xff0c;所以需要重新编译nginx加上此模块。 一、编译 nginx 1.查看 nginx 模块 由于nginx 是之前装好的&#xff0c;这里需要先看一下是否安装了H…

Sentinel简单使用

目录 1.官网 2.主要作用 3.安装启动 3.功能详细 3.1实时监控 3.2 簇点链路 3.3流控规则 3.4熔断规则 3.4热点key限流 3.5系统规则 4.SentinelResource注解解释 1.官网 gitHub GitHub - alibaba/Sentinel: A powerful flow control component enabling reliability…

尚医通 (十六)搭建平台用户系统前端环境 | 用户平台首页数据

目录一、服务端渲染技术NUXT1、什么是服务端渲染2、什么是NUXT二、NUXT环境初始化1、下载压缩包2、解压3、修改package.json4、修改nuxt.config.js5、在命令提示终端中进入项目目录6、安装依赖7、测试运行8、NUXT目录结构9、封装axios10、引入element-ui三、首页静态数据整合1、…

Docker镜像发布到阿里云和私有库

目录 一、Docker镜像 &#xff08;一&#xff09;概述 &#xff08;二&#xff09;Docker镜像加载原理 &#xff08;三&#xff09;镜像分层结构优势 &#xff08;四&#xff09;重点理解 &#xff08;五&#xff09;docker commit操作实例 &#xff08;六&#xff09;总…

如何解决nas无公网问题,实现kodbox可道云内网映射外网访问

目前&#xff0c;市面上有很多NAS产品&#xff0c;如群晖、威联通以及华硕NAS等&#xff0c;它们都自带提供了一些基础的文件管理功能&#xff0c;有的也可以直接在NAS上使用文件管理的应用程序。 kodbox可道云是一个基于 Web 技术的私有云和在线文件管理系统&#xff0c;有着…

考了PMP证后工资大概是多少 ?(含pmp资料)

这个岗位的不同还有每个公司的薪资也是不一样的&#xff0c;具体的数字肯定是没有的&#xff0c;但大概的比例还是有的&#xff0c;据PMI调查&#xff0c;在获得PMP证书的人当中&#xff0c;在PMP认证一年后&#xff0c;年薪有所增长的比例为66%&#xff0c;上涨幅度主要集中在…

抓包工具Charles(二)-移动端APP抓包(设置手机代理、安装证书)

安装好Charles之后&#xff0c;还只能捕获电脑的接口请求想要抓取移动设备的APP还需要设置代理、安装证书。 文章目录一、抓包原理二、手机设置网络代理1、 查看电脑的IP地址&#xff08;local IP address&#xff09;2、设置手机网络代理&#xff08;1&#xff09;iOS设备&…

美团:某动态线程池框架是官方开源的么?

大家好&#xff0c;我是马称。 最近&#xff0c;有很多同学在微信上问我这么一个问题&#xff1a; Hippo4j 动态线程池框架是美团开源的么&#xff1f; 类似于这样的问题还挺多&#xff0c;在这里统一回复下&#xff1a; 美团官方并没有开源任何关于动态线程池的框架。 美…