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
[root@master ~]# kubectl get po -l env,tier
给labels资源添加标签:
[root@master ~]# kubectl label pod labels app=pc
pod/labels labeled
查看labels资源标签:
[root@master ~]# kubectl get pod -l app
[root@master ~]# kubectl get pod -l tier --show-labels
给labels资源删除标签:
[root@master ~]# kubectl label pod labels app-
pod/labels labeled
给labels资源修改标签:
[root@master ~]# kubectl label pod labels env=dev --overwrite
pod/labels labeled
[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必须为空。
使用标签选择器的逻辑:
- 同时指定的多个标签之间的逻辑关系为“与”操作。
- 使用空值的标签选择器意味着每个资源对象都将被选择中。
- 空的标签选择器无法选中任何资源。
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.基于用户的认证授权机制
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享题目:ReplocaSet,DaemonSet-创新互联
文章链接:http://scpingwu.com/article/djepip.html