K8S的架构(1)

这篇具有很好参考价值的文章主要介绍了K8S的架构(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一.k8s

K8S有 master 和 worker node 两类节点:

​编辑

二.K8S创建Pod资源的工作流程

三.K8S资源对象

Pod:是K8S能够创建和管理的最小单位。

Pod控制器:

四.K8S资源配置信息


一.k8s

kubernetes   : Google旗下的容器跨主机编排工具,占据了80%以上的市场份额,已经成为容器编排工具的事实标准,在Docker等容器技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。 

K8S有 master 和 worker node 两类节点:

master节点(负责K8S集群的管理和资源调度等运维工作),组件有 apiserver、controller-manager、scheduler、etcd 。
apiserver:是所有服务请求的统一访问入口
controller-manager:控制器管理器,负责管理K8S各种资源对象的控制器;并通过apiserver监控整个K8S集群的资源状态,并确保资源始终处于预期的工作状态
scheduler:资源调度器,负责Pod资源的调度,通过调度算法(预选/优选策略)为要部署的Pod选择最合适的node节点
etcd:K8S集群的数据库,是一种键值对存储结构的分布式数据库,负责存储K8S集群所有的重要信息,仅apiserver拥有访问和读写权限

worker node节点(负责运行工作负载,即容器应用),组件有 kubelet、kube-proxy、容器引擎(docker、containerd等)
kubelet:接收apiserver发来的请求,创建管理Pod和容器,跟容器引擎交互实现对容器生命周期的管理;收集node节点的资源信息和Pod的运行状态发送给apiserver
kube-proxy:作为service资源的载体,实现对Pod的网络代理,负责维护Pod集群网络规则和四层代理工作
容器引擎:运行管理容器

K8S的架构(1),kubernetes,架构,容器

二.K8S创建Pod资源的工作流程

1.用户通过客服端发送创建pod请求给apiserver

2.apiserver收到请求后,会将请求写入给etcd进行保存,并找到controller-manager请求资源预设模版构建pod资源

3.controller-manager会通过apiserver找到scheduler进行调度新创建的pod资源,并通过调度算法的预选和优选策略进行选出最合适的node节点,进行调度

4.scheduler会通过apiserver找到对应的node节点的kubelet去管理创建pod资源,kubelet还可通过容器引擎交互管理pod及容器的生命周期

5.用户还可以通过apiserver的kube-proxy写入网络规则,创建service资源,对pod集群进行网络代理

K8S的架构(1),kubernetes,架构,容器

三.K8S资源对象

所有的资源对象都可以通过 Kubernetes 提供的 kubectl 工具进行增、删、改、查等操作,并将其保存在 etcd 中持久化存储。

Kubernetes 包含多种类型的资源对象:Pod、Label、Service、Replication Controller 等。

Pod:是K8S能够创建和管理的最小单位。

一个Pod里可以包含一个或多个应用容器,同一个Pod里的容器之间共享网络、存储等资源.

Pod控制器:

deployment:部署无状态应用(没有实时数据需要存储);同时也负责管理replicaset(维持Pod副本数始终符合预期状态)和Pod(容器化的应用程序)

statefulset:部署有状态应用(有实时数据需要存储)

daemonset:在所有node节点上都部署同一种的Pod

job:         一次性的部署短期任务的Pod(执行完任务后会自动退出的容器应用)

cronjob:周期性的部署短期任务的Pod(执行完任务后会自动退出的容器应用)

service:在K8S集群内部,为通过标签选择器相关联的一组Pod提供一个统一的访问入口(clusterIP),只支持四层代理转发

ingress:作为K8S集群外部的访问入口,可定义ingress规则根据用于请求的域名或URL请求路径转发给指定的service,支持七层代理转发

service通过标签选择器关联Pod的标签,从而自动发现相关Pod的端点(PodIP:Port)

ingress通过配置规则将不同的域名或URL路径关联不同的service资源

K8S的架构(1),kubernetes,架构,容器

四.K8S资源配置信息

apiversion:指定资源对象的在K8S中使用的api接口版本
kind:          指定资源对象的类型
metadata: 指定资源对象的元数据信息,比如name指定资源名称、namespace指定命名空间、annotation:指定注释、label指定标签
spec:        指定资源对象的资源配置清单(配置属性) ,比如副本数、镜像、网络模式、存储卷、label selector标签选择器
status:      资源对象在当前的运行状态信息
label:标签,将一个或多个键值对标识关联到某个资源对象,用于对资源对象进行分组查询和筛选
label selector:标签选择器,用于查询和筛选拥有相关标签的资源对象
annotation:注释,用作于资源对象的注释信息;还可以在一些特殊的资源对象里用作于设置额外的功能特性
name:资源名称
namespace:命名空间,用于隔离资源名称的。在同一个命名空间中,同类型的资源对象的名称是唯一的。文章来源地址https://www.toymoban.com/news/detail-832568.html

到了这里,关于K8S的架构(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 容器技术,1. Docker,2. Kubernetes(K8s):

    目录 容器技术 1. Docker: 2. Kubernetes(K8s): Docker和Kubernetes 容器的主要应用场景有哪些? 有效的将单个操作系统的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求,这种技术就是容器技术。 容器技术指通过在物理主机操作系统上创建一个一个

    2024年02月11日
    浏览(71)
  • Kubernetes(K8s):容器化应用的航空母舰

    Kubernetes(K8s)是一个开源的容器编排系统,它的出现就像是为容器化应用提供了一艘强大的航空母舰。在这艘母舰上,你的应用容器就像是一架架战斗机,Kubernetes负责指挥它们起飞、飞行、降落,确保它们能在正确的时间、正确的地点执行任务。 Pod: Kubernetes的基本飞行编队

    2024年04月08日
    浏览(67)
  • Kubernetes(k8s)容器编排Pod介绍和使用

    Pod是kubernetes中你可以创建和部署的最小也是最简的单位,一个Pod代表着集群中运行的一个进程。 Pod有两个必须知道的特点 通过yaml文件或者json描述Pod和其内容器的运行环境和期望状态,例如一个最简单的运行nginx应用的pod,定义如下 3.1.1 参数描述 下面简要分析一下上面的

    2024年02月08日
    浏览(85)
  • Kubernetes(k8s) 架构原理一文详解

    目录 一、k8s 概述 1.什么是k8s? 2.特性 3.主要功能 三、集群架构与组件 1.Master 组件 (1)Kube-apiserver (2)Kube-controller-manager (3)Kube-scheduler 2.配置存储中心 3.Node 组件 (1)Kubelet (2)Kube-Proxy (3)docker 或 rocket 四、k8s的工作流程 五、k8s的资源对象 1.Pod 2.Pod 控制器 2.Label 3

    2024年02月09日
    浏览(44)
  • Kubernetes 系列:了解 k8s 架构(一)

    当下,我们很多项目于都在 Cloud Native (云原生)的上面,这种方法旨在使组织能够确保可用性并快速响应和适应变化,云原生其实就是一组本质上支持在不同云环境(公共云、私有云或混合云)上大规模构建、运行和管理应用程序的实践和技术。 云原生离不开两个概念: 容器

    2024年02月10日
    浏览(51)
  • kubernetes(k8s)为容器和 Pod 分配内存资源

    展示如何将内存请求(request)和内存限制(limit)分配给一个容器。 我们保障容器拥有它请求数量的内存,但不允许使用超过限制数量的内存。 创建新的命名空间 编辑yaml文件 配置文件的 args 部分提供了容器启动时的参数。 “–vm-bytes”, “150M” 参数告知容器尝试分配 15

    2024年02月15日
    浏览(58)
  • Kubernetes (K8s) 解读:微服务与容器编排的未来

    🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🐅🐾猫头虎建议程序员必备技术栈一览表📖: 🛠️ 全栈技术 Full Stack : 📚 MERN/MEAN/MEVN Stack | 🌐 Jamstack | 🌍 GraphQL | 🔁 RESTful API | ⚡ WebSockets | 🔄 CI/CD | 🌐 Git Version Control | 🔧 DevOps 🌐 前端技术 Frontend : 🖋️ HTML CSS |

    2024年02月09日
    浏览(42)
  • 华为云arm架构安装k8s(kubernetes)

    先安装Docker 华为云arm架构安装Docker 设置主机名称 配置k8s的yum源 arm64的源 配置iptables 安装kubelet,kubeadm,kubectl 启动kubelet并设置开机启动服务 初始化k8s集群Master –apiserver-advertise-address=192.168.0.5 为Master的IP –image-repository registry.aliyuncs.com/google_containers 指定镜像仓库,如果不指定默

    2024年02月09日
    浏览(43)
  • 简单易学的Kubernetes(k8s):架构和源码解读

    1▲ 点击上方\\\"DevOps和k8s全栈技术\\\"关注公众号 Kubernetes(K8s)为云原生应用提供了强大的管理和编排能力。本文将深入探讨Kubernetes的架构,解剖其核心组件,以帮助读者更好地理解这个复杂而强大的系统。 第一部分: K8S基本概念和架构介绍 1. Kubernetes基本概念 Pods: 是Kubern

    2024年04月28日
    浏览(49)
  • 【Kubernetes】k8s中容器之间、pod之间如何进行网络通信?

    首先来回顾一下Pod: Pod 是用于构建应用程序的最小可部署对象。单个 Pod 代表集群中正在运行的工作负载,并 封装一个或多个 Docker 容器、任何所需的存储以及唯一的 IP 地址 。 集群中每一个 Pod 都会获得自己的、 独一无二的 IP 地址。一个Pod里的一组容器共享相同的IP地址。

    2024年04月28日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包