ReplicaSet(RS):新一代Pod控制器
Replication Controller(RC):老一代Pod控制器
支持的标签选择器不一样:
标签与标签选择器:同类型的资源对象数量过多,不太容易管理。为了更好的管理,所以按照标签分为一个小组,提高管理效率。在增、删、改、查的操作中,也可以指定标签来过滤想要选取的资源对象。
见名知义。
多维度标签分类:
版本标签(release):stable(稳定版)、canary(金丝雀版)、beta(测试版)
环境类(environment):dev(开发)、qa(测试)、production(生产)
应用类(app):ui、as(Appcation Software)、pc、sc
架构层级(tier):frontend(前端)、backend(后端)、cache(缓存)
分区类(partion):customerA(客户)、customerB
品控类(track):daily(每天)、weekly(每周)
查看标签:kubectl get pod --show-labels
通过标签选择器过滤条件:kubectl get pod -l env,tier
查看对应的value值:kubectl get pod -L env,tier
添加标签:kubectl label pod test-pod app=httpd
修改标签:kubectl label pod test-pod app=nginx --overwrite
删除标签:kubectl label pod test-pod app-
编辑k8s资源:kubectl edit pod test-pod
标签选择器:
就目前为止,API只支持两种标签选择器
基于等值关系:“=”,“==”,“!=”前两者都是相等,后边是不等。
基于集合关系:in,notin,exists。
注意:Exists后边必须接空值。并不是所有的资源对象都支持基于集合的标签选择器。
DaemonSet:
不支持replicas字段。
默认每一个节点都只能创建一个pod
使用场景:如果必须将Pod的运行固定在几个节点并且要优于其他Pod启动,这时会使用DaemonSet。其他情况推荐使用Deployment.Pod控制器
使用场景:
1)数据存储
2)各节点日志收集
3)监控应用的部署