副本集可以应用是一种基本的发布机制,一个应用发布时会运行多个Pod,实现高可用,RS会监控和维护Pod数量,通过RS可以做出基本的发布与滚动、蓝绿等高级发布机制,但是配置比较繁琐。
Service屏蔽了应用的IP寻址与负载均衡等细节,消费方可以通过服务名访问目标服务,K8s的底层机制会做寻址和负载均衡,即使Pod的ip发生变化,Service会屏蔽这种变更让消费方无感知
通过RS可以实现基本高级发布,但是过程比较繁琐,使用Deployment通过管理RS,简化了RS的高级发布
例:滚动发布
例:发布和服务
微服务在上线时常常需要设置一些可变配置,这些配置针对不通环境,这些配置有些可能是在启动时一次性配置好的,如连接数据库的字符串,有些是要经常变动的,比如货物的限购数量等等,ConfigMap将配置以环境变量的形式注入Pod中
Secret用于敏感数据配置
这种用法,就是所谓的“声明式API”API对象
Kubernetes项目中,首先通过一个"编排对象",比如Pod,Job,CronJob等,来描述你管理的应用
然后,在为它定义一些"服务对象",比如Service,Secret等,这些对象负责具体的功能
这种用法,就是所谓的"声明式API"
过去很多的集群管理项目(比如 Yarn、Mesos,以及 Swarm)所擅长的,都是把一个容器,按照某种规则,放置在某个最佳节点上运行起来。这种功能,我们称为“调度”。
K8s擅长的是按照用户的意愿和整个系统的规则,完全自动化地处理好容器之间的各种关系,这种功能即是:编排