kubernetes 初探

08144b07f5a940e0b03acb68613e365a663.jpg

kubernetes 初探

初探中学到几点,就如上面画的简单的示意图。

1 什么是RC?

    RC 是replication controller 的缩写。我们可以理解为副本控制器,意思就是我们设置好友多少个副本 它就能自动把副本的数量控制在多少,多了就自动删,少了就自动新加。

2 什么是POD?

    POD 是k8s 的控制的最小单元。但是 POD不是容器。一个POD里面可以装多个容器。就把POD理解为一个豌豆荚一样,里面躺着多个豆子。这几个豆子共享IP,共享资源,进程相互可见。

3 RC 是怎么管理POD的?

    标签。标签在k8s中使用非常广泛。RC和pod 之间没有直接的关联,而是用标签来联系的。POD上的标签和RC中的标签选择器只要能对上号 那RC就能管得了你(增删改查),所以上面图中我叫RC为大总管。

4 POD之间是如何访问的?service又是什么?

    POD的生命周期不长,由于固件的原因,应用的原因,生成力需求的原因等等都可能影响到POD的生死存亡。每次一次POD的重生 它自己的IP都在自动变化,这对需要访问它造成了很多的困难。于是乎,service 应用而生。

    service 也是通过标签内管理它管辖范围内的pod的。service 生成一个虚拟的IP和端口,其他POD 值需要访问service的虚拟IP和端口就能访问service 辖区内的POD。但是后面的POD怎么知道你这个service 的虚拟IP地址和端口是多少了?后面的POD创建的时候k8s 会自动把上面的service 的IP地址和端口通过环境变量的方式写入POD内,后面的POD只需要访问环境变量就可以了。

    4.1 后面的pod 添加前面的service的环境变量的时候环境变量名称是有规则的

        4.1.1  service的虚拟IP地址用环境变量添加到后续的pod 中

                IP地址对应的环境变量(主机名){SVCNAME}_SERVICE_HOST 其中 {SVCNAME} 是service的名称。

                如果{SVCNAME} 中有中划线“-” 则加入环境变量变量后在环境变量中会变成下划线“_”

                例如:先找service

                87d0b68250c97db3461f09fc0ca146245e3.jpg

                再找service 对应的pod

                a30702f096b967d949eb9b2f4e861a96071.jpg

               再查看pod 中的环境变量

   adf83502613377aa55ea15c361cba2d7a25.jpg

e850e49c40cd182d54f0194a22de514382b.jpg

            4.4.2 service的虚拟端口用环境变量添加到后续的pod 的环境变量中

                端口地址对应的环境变量{SVCNAME}_SERVICE_PORT

                {SVCNAME} 和上面4.4.1 说的规则一样,都是前面service的名称,且中划线“-” 会变化为下划线“_”

                例如

                ab3c085b2c198aa3daaabfc6b814396b4ea.jpg

转载于:https://my.oschina.net/wangzilong/blog/3084511

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值