ReplicaSet、DaemonSet

ReplicaSet


RC:ReplicationoController(老一代的Pod控制器)

RS:ReplicaSet(新一代的Pod控制器)

用于确保由其管理的控制的Pod对象副本,能够满足用户期望,多则删除,少则通过模板创建

deployment、rs、rc

特点:

  • 确保Pod资源对象的数量精准
  • 确保Pod健康运行
  • 弹性伸缩

同样,它也可以通过yaml或json格式的资源清单来创建,其中spec字段一般嵌套一下字段

  • replicas:期望的Pod对象副本数量
  • selector:当前控制器匹配Pod对象副本的标签
  • template:Pod副本的模板

与RC相比而言,RS不仅支持基于等值的标签选择器,而且还支持集合的标签选择器

标签:解决同类型的资源对象越来越多,为了更好的管理,按照标签分组

常用标签分类:

  • release(版本):stable(稳定版)、canary(金丝雀)、beta(测试版)
  • environment(环境变量):dev(开发)、qa(测试)、production(生产)
  • application(应用):ui、as(application software应用软件)、pc、sc
  • tier(架构层级):frontend(前端)、backend(后端)、cache(缓存)
  • partition(分区):customerA(客户A)、customoerB(客户B)
  • track(品控级别):daily(每天)、weekly(每周)

标签要做到:见名知意

//通过--show-labels显示资源对象的标签

[root@master ~]# kubectl  get pod   --show-labels

//通过-l选项查看仅含有包含某个标签的资源

[root@master ~]# kubectl  get pod -l env

//通过-L显示某个键对应的值

[root@master ~]# kubectl  get pod -L   env

//给Pod资源添加标签

[root@master ~]# kubectl  label pod label app=pc

//删除标签

[root@master ~]# kubectl  label  pod  label app-

//修改标签

[root@master ~]# kubectl label pod label env=dev  --overwrite 

如果标签有多个,标签选择器选择其中一个,也可以关联成功,相反,如果选择器有多个,那标签必须完全满足条件,才可以关联成功

标签选择器:标签的查询过滤条件

  • 基于等值关系的(equality-based):"=","==","!=" =" 前面两个都是相等,最后是不等
  • 基于集合关系(set-based):in、notin、exists三种

例子:

selector:
  matchLables:
    app:  nginx
  metchExpressions:
    - {key: name,operator:  In,values:  [zhangsan,lisi]}
    - {key: age,operator: Exists,values:}

matchLabels:指定键值对来表示的标签选择器

matchExpressions:基于表达式来指定的标签选择器,选择器列表间为"逻辑与"关系;使用In或者Notin操作时,其values不强制要求为非控的字符串,而使用Exists或DosNotExist时,其values必须为空

使用标签选择器的逻辑:

  1. 同时指定的多个选择器之间的逻辑关系为"与"操作
  2. 使用空值的标签选择器意味着每个资源对象都将被选择中
  3. 空的标签选择器无法选中任何资源

DaemonSet


它也是一种Pod控制器

使用场景:如果必须将Pod运行再固定的某个或某几个节点,且要优先其他Pod的启动,通常情况下,默认会每个节点都会运行,并且只能运行一个Pod,这种情况推荐使用DaemonSet资源对象

监控程序:

日志收集程序:

运行一个web服务,在每一个节点都运行一个Pod

[root@master ~]# vim  daemonset.yaml
kind: DaemonSet
apiVersion: extensions/v1beta1
metadata:
  name: test-ds
spec:
  template:
    metadata:
      labels:
        name: test-ns
    spec:
      containers: 
      - name: test-ns
        image:  httpd:v1

RC、RS、Deployment、DaemonSet,Pod控制器。statfulSet(有状态)、Ingress。Pod

RBAC:基于用户的认证授权机制

发布了35 篇原创文章 · 获赞 22 · 访问量 2590

猜你喜欢

转载自blog.csdn.net/weixin_45636702/article/details/104061160
今日推荐