在看kubernetes的例子时,出现了一个疑问。

Pod、RC、Service的yaml文件里,都出现了labels,还有labelSelector。有些不太清楚,因此就这点来学习下。

 
接上文:
3.启动服务器
即使只有一个pod,也要使用service。service起到负载均衡器的作用,通过proxy和selector决定服务请求传递给后端的哪个pod。然后对外提供固定的IP和port,所以即使redis master pod迁移变化也没有影响。
(1)redis master service
附件略。
注释里的,和redis-master的label对应,是指哪个labels?
 
 
现在出现labels的地方:
redis-master-controller.yaml
 
redis-master-service.yaml
 
所以究竟是和谁的labels对应?
 
RC中的label:
参看书《kubernetes的权威指南》的p58.
被RC管控的所有pod实例,都是通过RC里定义的pod模板创建的。
改模板包含pod的标签属性,同时RC里包含一个标签选择器label selector,它的值表明了该RC所关联的pod。
RC会保证每个由它创建的pod都包含与它的selector label匹配的label。
 
所以说,RC里的selector与模板里的label是一致的咯?是的。
可是RC自己的label又是什么?
同样是p58,例子显示RC自己的label不与selector与template下的label相同。
 
service中的label:
参看书《kubernetes权威指南》的p65.
service.yaml文件和RC.yaml文件一样,都有两个和label相关的东西。
一个是自己的label,一个是selector。
selector中的标签和某些pod的label相同,表示service将这些pod纳入了集合。对他们进行一些port的设置。
 
所以这段话的意思是:
 
service将所有标签为redis-master(selector的值)的pod作为一个集合来处理。将这个集合里的所有pod的6379端口(port)映射到节点本地的6379端口(targetport)。
并且service还会获得一个clusterIP。
其实service可以看做pod的一个小组,这个小组里的所有pod有共同的标签。
 
综上所述:
有三个值。
(1)RC的label,与他人无关。
(2)service的label,与他人无关。
(3)pod的label,将会出现三次。RC的template里有个label,以及RC的selector值,Service的selector值。
template里的label=redis,表示rc创建的pod标签为redis。
RC和service里的selector=redis,表示rc和service将会管理标签为redis的pod。

2016.10.17 yaml文件里的labels和Pod、RC、Service的对应关系的更多相关文章

  1. 10.17 linux 文件权限

    文件权限模拟练习 [root@wen ~]# groupadd incahome[root@wen ~]# usersdd oldboy -g incahome-bash: usersdd: comm ...

  2. 从零开始HTML(一 2016/10/17)

    就是准备跟着霹雳猿教程过一遍HTML啦,边看边记录更便于理解记忆吧~ 1.属性 HTML 标签可以拥有属性.属性提供了有关 HTML 元素的更多的信息.属性总是以名称/值对的形式出现,比如:name= ...

  3. Python基础笔记2-ruamel.yaml读写yaml文件

    上一篇笔记记录了Python中的pyyaml库对yaml文件进行读写,但了解到ruamel.yaml也能对yaml文件进行读写,于是想尝试一下它的用法. 一,注意 这里首先要更正一下网上大部分博客的说 ...

  4. My latest news (--2016.10)

    2016.10.31 22:44 一个“程序”,打代码占40%.思考占60% 2016.10.30 20:53 周末,话说今天有晚上讲座,还点名,了,悲催.之前学习的Qt有点问题,悲催.推荐个博文:h ...

  5. 曹工说Spring Boot源码(17)-- Spring从xml文件里到底得到了什么(aop:config完整解析【中】)

    写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...

  6. YAML文件简介

    编程免不了要写配置文件,怎么写配置也是一门学问. YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便. 本文介绍 YAML 的语法,以 JS-YAML 的实现为例.你可以去 ...

  7. 更新日志(建议升级到2016.12.17) && 更新程序的方法

    更新程序的方法: 1,在控制面板里点击备份当前数据库文件到磁盘,把当天获取的信息从内存写到磁盘/存储卡.2,下载最新版的源码 wget -O "infopi.zip" " ...

  8. k8s之yaml文件书写格式

    k8s之yaml文件书写格式 1 # yaml格式的pod定义文件完整内容: 2 apiVersion: v1 #必选,版本号,例如v1 3 kind: Pod #必选,Pod 4 metadata: ...

  9. 入门Kubernetes - YAML文件

    前言 前篇文章中简单了解到如何把.Net Core 程序部署到k8s中,过程中使用了多个*.yaml文件,那么这些文件的格式及含义.语法是如何的呢? 接下来,进一步了解学习 一.YAML介绍: 1.简 ...

随机推荐

  1. Atom-无懈可击的Markdown编辑器

    备战美赛期间,向岳神学习,搞了Atom玩协作开发,第一次没有自动补全的手撸了遗传算法.今天发现Atom还有写Markdown的妙用,遂拿来练手. 1. 安装Atom 下载安装Atom:https:// ...

  2. 从xml文件中绑定数据到DropDownList控件上

    参考了2篇文章: http://www.cnblogs.com/JuneZhang/archive/2010/11/23/1885671.html http://blog.sina.com.cn/s/ ...

  3. 用Excel的分列功能格式化时间

    从数据库导出的时间是带有毫秒的,怎么变成短的时间呢? 首先在时间列后面插入一列: 第二,点击数据菜单,点击分列,下一步,然后输入分割符号,然后就变成了两列.

  4. 【bzoj5018】[Snoi2017]英雄联盟 背包dp

    题目描述 正在上大学的小皮球热爱英雄联盟这款游戏,而且打的很菜,被网友们戏称为「小学生」.现在,小皮球终于受不了网友们的嘲讽,决定变强了,他变强的方法就是:买皮肤!小皮球只会玩N个英雄,因此,他也只准 ...

  5. 【bzoj3007】拯救小云公主 二分+对偶图+并查集

    题目描述 英雄又即将踏上拯救公主的道路…… 这次的拯救目标是——爱和正义的小云公主. 英雄来到boss的洞穴门口,他一下子就懵了,因为面前不只是一只boss,而是上千只boss.当英雄意识到自己还是等 ...

  6. BZOJ 3462 DZY Loves Math II ——动态规划 组合数

    好题. 首先发现$p$是互质的数. 然后我们要求$\sum_{i=1}^{k} pi*xi=n$的方案数. 然后由于$p$不相同,可以而$S$比较小,都是$S$的质因数 可以考虑围绕$S$进行动态规划 ...

  7. python常用内建函数

    1.input 读取控制台的输入,输出的是字符串 2.enumerate 遍历数组的时候,能够将index 和item同时返回,返回的每一项包含index,item 3.isinstance(obje ...

  8. 预编译scss以及scss和less px 转rem

    预编译scss步骤: 1 搜索ruby并安装,点击 2 安装sass: 3 在hubuilder工具中设置预编译: 触发命令地址为ruby安装地址 命令参数为 %FileName% %FileBase ...

  9. 用.net开发wap

    原文发布时间为:2010-08-19 -- 来源于本人的百度文章 [由搬家工具导入] .NET 模板:http://download.csdn.net/source/2631001 WAP应用程序结构 ...

  10. Python 数据类型-2

    序列 包括:字符串 列表 元组 索引操作和切片操作 索引操作:可以从序列中抓取一个特定的项目 切片操作: 获取序列的一个切片,即一部分序列 序列的通用方法: len() 求序列的长度 + 连接2个序列 ...