ReplocaSet,DaemonSet
admin
2023-02-02 03:41:46
0

ReplicaSet

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

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

特点:

  • ​ 确保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), customerB(客户B)

triack(品控级别):daily(每天), weekly(每周)

标签要做到:见名知意。

[root@master ~]# vim label.yaml

kind: Pod
apiVersion: v1
metadata:
  name: labels
  labels:
    env: qa
    tier: frontend
spec:
  containers:
  - name: myapp
    image: httpd

[root@master ~]# kubectl apply -f label.yaml
pod/labels created

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

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

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

[root@master ~]# kubectl get po -L env,tier

ReplocaSet,DaemonSet

[root@master ~]# kubectl get po -l env,tier

ReplocaSet,DaemonSet

给labels资源添加标签:

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

查看labels资源标签:

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

ReplocaSet,DaemonSet

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

ReplocaSet,DaemonSet

给labels资源删除标签:

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

ReplocaSet,DaemonSet

给labels资源修改标签:

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

ReplocaSet,DaemonSet

[root@master ~]# vim label-svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: labels-svc
spec:
  type: NodePort
  selector:
    env: qa
    tier: frontend
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
[root@master ~]# kubectl apply -f label-svc.yaml 
service/labels-svc created
[root@master ~]# kubectl describe svc labels-svc 

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

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

基于等值关系的(equality-based):“=”,“==”,“!” 前面两个都是相等,最后是不等

基于集合关系(set-based):in, notin, exits三种。

例子:

[root@master ~]# vim slector.yaml

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

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

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

使用标签选择器的逻辑:

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

DaemonSet

它也是一种Pod控制器。

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

监控程序:

日志收集程序:

[root@master ~]# kubectl get ds -n kube-system

运行一个web程序,在每一个节点都运行一个Pod。

[root@master ~]# vim daemonset.yaml

kind: DaemonSet
apiVersion: extensions/v1beta1
metadata:
  name: test-ds
spec:
  template:
    metadata:
      labels:
        name: test-ds
    spec:
      containers:
      - name: test-ds
        image: httpd

[root@master ~]# kubectl apply -f daemonset.yaml
daemonset.extensions/test-ds created

RC, RS, Deployment, DaemonSet。Pod控制器。 statfulSet,lngress。pod

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

相关内容

热门资讯

美方指控中国人工智能企业抄袭,... 据凤凰卫视报道,美国白宫科技政策办公室主任克拉齐奥斯7月22日指控中国人工智能企业月之暗面在开发最新...
广西一公园大树倾倒3人身亡 近日,广西一公园大树倾倒,造成人员伤亡,引发关注。7月23日,玉林市博白县人民政府办公室工作人员对中...
父母用特训机构“执行家法”后:... 周雅和教官一起,撬开21岁女儿住处的猫眼和门锁,然后她送到特训机构。她希望以此改变女儿“错误”的择偶...
年底选情恐变天,郑丽文认了“这... 郑丽文今(23)日接受专访时,首度盘点全台选情,认了这4县市“选情艰困”。距离年底“九合一”选举仅剩...
特朗普的关税保护伞,反成了北美... (文/张志峰 编辑/吕栋)近日多家外媒报道,7月以来,北美最大的白电制造商惠而浦在艾奥瓦州阿马纳的冰...
专访郭列:做出脸萌、FaceU... 文|周鑫雨 编辑|张雨忻 什么样画像的AI创业者会饱受瞩目?不同投资人心里或许有不同的答案,但其中一...
亚太唯一!阿里云入选Gartn... 据阿里云消息,近日,Gartner发布2025年《Magic Quadrant™ for Obser...
重庆物联网远程控制系统公司的应... 在工业制造、环保监测及商贸流通等领域,重庆物联网远程控制系统公司所提供的产品与服务正逐渐成为配套设施...
拒绝踩坑!2026年云手机推荐... 到底云手机哪个好用?2026年云手机市场品牌众多,低价套路、配置虚标、隐形消费、挂机掉线等问题也越来...
选购新能源电池包切割机器人标准... 在新能源电池回收与拆解领域,电池包切割机器人已成为标配设备。但面对市场上多款产品,采购方常陷入困惑:...