什么是K8s
K8s是什么
- 基于容器技术的分布式架构领先方案。它是google严格保密十几年的秘密武器—Borg的一个开源版本。
- Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。
K8s能做什么
- 容器的自动化复制和部署。随时扩展或收缩容器规模,并提供负载均衡
- 方便地容器升级
- 提供容器弹性,如果失效就替换它
K8s对于测试能做什么
测试服务器的集中化、自动化管理。将各种平台的服务器加入集群,按需部署或销毁。持续集成时方便地自动部署。
K8s架构
K8s基本概念
- Master是主服务器,node是用于部署应用容器的服务器。
- pod基本操作单元,也是应用运行的载体。整个Kubernetes系统都是围绕着Pod展开的,比如如何部署运行Pod、如何保证Pod的数量、如何访问Pod等。
- Deployment定义了pod部署的信息。
- 若干个pod副本组成一个service,对外提供服务
- 副本是指一个pod的多个实例。
- Namespace用于多租户的资源隔离。在测试环境中可以根据namespace划分成多套测试环境。默认由2个namespace:kube-system/default。
K8s调度过程
-
Kubernetes Client将请求发送给API server
-
API Serever 根据请求的类型,将处理的结果存入高可用键值存储系统Etcd中
-
Scheduler将微分发的Pod绑定(bind)到可用的Node节点上,存到etcd中