pod相同label的简单介绍
原标题:pod相同label的简单介绍
导读:
Kubernetes基础知识笔记Kubernetes,简称K8S,是一个开源的容器编排平台,专门用于自动化部署、扩展和管理容器化应用程序。K8S凭借其优势,已成为现代应用程序...
Kubernetes基础知识笔记
kubernetes,简称K8S,是一个开源的容器编排平台,专门用于自动化部署、扩展和管理容器化应用程序。K8S凭借其优势,已成为现代应用程序部署和管理的行业标准,运维人员学习K8S已成为必要技能。这份学习笔记共973页,包含10个章节,内容全面且系统,覆盖K8S所有核心知识点。
Kubernetes 给出的解决方案是 PersistentVolume 和 PersistentVolumeClaim。 PersistentVolume (PV) 是外部存储系统中的一块存储空间,由管理员创建和维护。与 Volume 一样,PV 具有持久性,生命周期独立于 Pod。PersistentVolumeClaim (PVC) 是对 PV 的申请 (Claim)。PVC 通常由普通用户创建和维护。
通过 标签选择器 ,客户端/用户可以识别一组对象。标签选择器是 Kubernetes 中的核心分组原语。目前,API支持两种类型的选择: 平等为基础的 和 基于集合的 。标签选择器可以由多个以逗号分隔的 要求 组成。在多个要求的情况下,必须满足所有要求,因此逗号分隔符充当逻辑 AND ( && ) 运算符。
默认值为“ClusterFirst”:如果没有明确指定 DNSPolicy,系统将自动使用“ClusterFirst”,即 pod 会首先使用 Kubernetes 集群内的 dns 服务进行域名解析。
组件 cloud-Controller-manager 是指云控制器管理器, 云控制器管理器是指嵌入特定云的控制逻辑的控制平面组件。 云控制器管理器使得你可以将你的集群连接到云提供商的 API 之上, 并将与该云平台交互的组件同与你的集群交互的组件分离开来。
如何指定POD的运行节点?
方式二:通过指定NodeName。在Pod中配置nodeName字段,直接指派对应节点。示例如下:查看node名称。列出节点名称,例如k8s-master。在Pod中使用nodeName指定此节点。通过kubectl APPly创建Pod后,检查Pod是否调度至指定节点。使用nodeName选择节点方式存在局限性。方式三:亲和性和反亲和性。
假设以下场景:有三个Node,分别为1010109,创建Deployments来部署tomcat应用,指定在107节点上创建Pod。解决方案 nodeName Pod.spec.nodeName将Pod直接调度到指定的Node节点上,会跳过Scheduler的调度策略,该匹配规则是强制匹配。
nodeAffinity中nodeSelector字段下,节点满足任何一个条件即可;但更下一级matchExpressions,节点必须同时满足所有条件才能运行pod 。
定位Pod运行节点:对于Kubernetes中的Pod,首先需要定位Pod运行在哪个节点上。找到业务容器或Pause容器的PID:在目标节点上,使用docker ps找到Pod中的业务容器或Pause容器,并通过docker inspect获取其PID。进入Pod网络namespace:使用nsenter命令并指定Pause容器的PID和n选项,进入Pod的网络naMESpace进行调试。
使用固定节点 在 Jenkins Dashboard 中管理节点:进入 Jenkins 的 Dashboard。点击“管理 Jenkins”。选择“管理节点和云”。点击“新建节点”,按照提示输入节点信息,如节点名称、类型等。配置节点标签,以便在 Pipeline 中通过标签指定该节点。
详解Kubernetes控制器之副本集ReplicaSet
1、RepliCASet控制器的名字“副本集”暗示其作用是控制副本数量,每个副本对应一个Pod。它的主要任务是确保运行的Pod数量与期望状态一致。尽管建议使用更高级的控制器Deployment来管理ReplicaSet,实现Pod声明式更新、版本管理等功能,但理解ReplicaSet是构建这一高级概念的基础。
2、取代RC:ReplicaSet已经取代了ReplicationController,成为Kubernetes中更常用的Pod控制器。功能升级:与RC相比,ReplicaSet提供了更多的标签选择灵活性,能够管理多个标签集合。组成要素:replicas:指定ReplicaSet期望管理的Pod数量。selector:用于选择ReplicaSet管理的Pod的标签选择器。
3、在Kubernetes生产环境中,直接创建Pod并不常见,因为这可能导致Pod删除后无法自动重建。为确保Pod资源的高可用性和管理灵活性,我们需要依赖Pod控制器,其中ReplicaSet(RS)是重要的一种。本文将详细介绍ReplicaSet及其功能。尽管原始的ReplicationController(RC)曾是首选,但RS已经取代了它。
4、总之,ReplicaSet 尽可能确保任何时间都有指定数量的 Pod 副本在运行。ReplicationController 控制器(简称为RC)。在之前旧版本的k8s中,使用的是RC控制器实现了k8s集群的高可用性,它跟现在的RS控制器作用类似,作用是,确保Pod以指定的副本数运行。
5、在旧版本的Kubernetes中,只有ReplicationController对象。它的主要作用是 确保Pod以你指定的副本数运行 ,即如果有容器异常退出,会自动创建新的 Pod 来替代;而异常多出来的容器也会自动回收。可以说,通过ReplicationController,Kubernetes实现了集群的高可用性。
初识标签和亲和力
1、标签是附加到Kubernetes对象上的键值对,用于指定对象的标识属性;亲和力是Kubernetes中的一种机制,用于指定Pod与其他资源之间的关联性和偏好。标签的具体说明如下: 定义:标签是键值对,旨在用于指定对用户有意义且相关的对象的标识属性,但不直接对核心系统有语义含义。
2、标签(Labels)是附加到Kubernetes对象(比如Pod)上的键值对。标签旨在用于指定对用户有意义且相关的对象的标识属性,但不直接对核心系统有语义含义。标签可以用于组织和选择对象的子集。标签可以在创建时附加到对象,随后可以随时添加和修改。每个对象都可以定义一组键/值标签。
3、巨蟹座的人温和真诚,他们很喜欢照顾别人,能很容易地察觉周围人的喜怒哀乐,他们是很热心肠的,总是愿意帮助他人分担痛苦和难过。巨蟹座的人经常爱心泛滥,但还好他们懂得收放。初识巨蟹座的人会感觉他们是很理性的,也很容易得到对方的信任,让他们交到最真诚的朋友。
4、射手座和白羊座,射手座的人热情开朗,白羊座温柔善良,都是非常容易亲近的星座。巨蟹座天生具有亲和力,他长得也非常温柔,说话谈吐也非常的大方有气质天秤座的人性格多温和善良,待人清切,亲和力很强。
k8s将pod调度到指定节点的几种方式
1、方式二:通过指定NodeName。在Pod中配置nodeName字段,直接指派对应节点。示例如下:查看node名称。列出节点名称,例如k8s-master。在Pod中使用nodeName指定此节点。通过kubectl apply创建Pod后,检查Pod是否调度至指定节点。使用nodeName选择节点方式存在局限性。方式三:亲和性和反亲和性。
2、Node Selector是Kubernetes中用于将Pod调度到指定节点的一种机制。以下是关于Node Selector的详细解基本工作原理:Node Selector通过Pod定义中的nodeSelector属性直接指定目标节点。它使用键值对进行匹配,仅需一对匹配即可将Pod调度到目标节点。
3、假设以下场景:有三个Node,分别为1010109,创建Deployments来部署Tomcat应用,指定在107节点上创建Pod。解决方案 nodeName Pod.spec.nodeName将Pod直接调度到指定的Node节点上,会跳过Scheduler的调度策略,该匹配规则是强制匹配。
4、nodeSelector配置相对简单,k8s提供了另外一个pod调度配置: nodeAffinity(节点亲和) ,相对于nodeSelector的简单匹配他拥有更多更加个性化的配置。这段配置表示:该pod可以被调度到标签key为 deploy.type ,值为 yztssjdxt-test 或 yztssjdxt 的节点。