k8s 各组件学习记录,调度pod

本文详细介绍了Kubernetes中的核心概念,包括Pod、Label、Replication Controller、Deployment等,以及调度Pod的过程和Ingress工作原理。Pod是基本调度单元,具有独特的Pause容器以确保状态准确性。Label用于资源对象的分组管理。Deployment提供了更高级的Pod管理功能。Ingress则实现了对外服务的智能路由。此外,文章还涵盖了Node组件和Master组件的角色,以及资源对象如Service、Volume和Persistent Volume的使用。
摘要由CSDN通过智能技术生成

基础概念

Pod

Pod 是Kubernetes 最重要的基本概念,是Kubernetes的最小调度单位。
每个Pod都有一个特殊的被称 为“根容器”的Pause容器。除了Pause跟容器外,每个Pod还包含了一个或多个紧密相关的用户业务容器。

  1. 在实际情况下,存在多个紧密相关的业务容器需要部署为一组容器,那么pod支持将多个容器部署在一个pod,pod里的多个业务容器共享pause的IP和Volume,解决了密切关联的容器之间的通信问题,数据共享问题。
  2. 一个pod里面包含多个业务容器,在这种情况下,Kubernetes无法对pod这个整体的状态做出正确的判断。所以引入了Pause根容器,以pause根容器的状态来代表pod的状态。例如:pod是否死亡的问题。

Kubernetes为每个Pod都分配了唯一的IP地址,称之为Pod IP。
一个Pod里的多个容器共享PodIP地址。
Kubernetes要求底层网络支持集群内任意两个Pod之间的TCP/IP直接通信。例如:flannel、Open vSwitch等。因此,我们需要记住一个pod里的容器与另外主机上的Pod容器能够直接通信。Pod有两种类型:

  1. 普通pod:pod被创建后,会被存放到etcd中,随后被调度到具体的node节点上运行。在默认情况下,当pod里的某个容器停止运行时,Kubernetes会自动检测到这个问题并重新启动这个pod,如果pod所在node机器出现宕机,就会将这个node上的pod重新调度到其他node上。
  2. 静态pod:静态pod被存放到某个具体的Node上的具体的文件当中,并且只在该node上启动、运行,不能被调度到其他节点。例如:master节点组件均是以静态pod的方式运行,文件存放目录为:/etc/kubernetes/manifests/

另外,对于绝大多数容器来说,一个CPU的资源配额相当大,所以在Kubernetes里通常以千分之一的CPU配额为最小单位,用m来表示。通常一个容器的CPU配个被定义为100-300m,即占用0.1~0.3个 CPU。

spec:
  containers:
  - name: db
    image: mysql
    resources:
      requests:
        memory: "64Mi"
        cpu: "250m"
      limits:
        memory: "128Mi"
        cpu: "500m"

通常,Requests被设置为一个较小的值,表示容器平时的工作负载情况下的资源需求,而limits设置为峰值负载情况下资源占用的最大值。

Label

Label(标签)是Kubernetes系统中另外一个核心概念。一个Label是一个key=value的键值对,其中key 与value由用户自己指定。Label可以被附加到各种资源对象上,例如:Node、Pod、Service、RC等。 一个资源对象可以定义任意数量的Label,同一个Label也可以被添加到任意数量的资源对象上。通过给 指定资源对象绑定Label从而实现资源对象的分组管理,方便Kubernetes进行资源分配、调度和部署等工作。通过给指定的资源对象绑定一个或多个不同的Label来实现多维度的资源分组管理功能,以便灵活、方便地进行资源分配、调度、部署等管理工作。例如:版本标签:release:stable、release:beta 环境标签:environment:dev、environment:qa、environment:production 通过Label为资源对象贴上相对应的标签,随后通过Label Selector(标签选择器)查询和筛选拥有某些 Label的资源对象。当前有两种Label Selector 表达式:

1. 基于等式:name=myweb,env!=production

2. 基于集合:name in (myweb,myweb1),name not in (myweb,myweb1)

可通过多个Label Selector 表达式的组

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值