了解k8s及工作原理
什么是K8S
Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。
k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以做到故障自愈,例如一个服务器损坏,可以自动将这个服务器上的服务调度到另外一个主机上进行运行,无需进行人工干涉。k8s可以更快的更新新版本,打包应用,更新的时候可以做到不用中断服务,服务器故障不用停机,从开发环境到测试环境到生产环境的迁移极其方便,一个配置文件搞定,一次生成image,到处运行。
Kubernetes特性
Kubernetes是一种用于在一组主机上运行和协同容器化应用程序的系统,旨在提供可预测性、可扩展性与高可用的性的方法来完全管理容器化应用程序和服务的生命周期的平台。它具有以下几个重要的特性
- 自动化部署: yaml部署到k8s,会根据应用程序计算资源需求。自动分配到node。
- 系统自愈:当成功部署到k8s中,node节点宕机,k8s会重新将pod调度到可用节点。
- 水平扩展:HPA周期调整RC的副本数量,将用户定义的resource值匹配。
- 服务发现和负载均衡:内置服务发现功能,为每个容器分配IP,service代理。
- 自动更新和回滚:监控应用状态,不会同时杀掉应用。 更新出错,自动恢复到原先状态。
- 弹性伸缩:实时根据服务器的并发情况,增加或缩减容器数量
K8S集群分为两类节点
Kubernetes使用共享网络将多个物理机或虚拟机汇集到一个集群中,在各服务器之间进行通信,该集群是配置Kubernetes的所有组件、功能和工作负载的物理平台。集群中一台服务器(或高可用部署中的一组服务器)用作Master,负责管理整个集群(管理端-对内 --管理员&运维工程师),余下的其他机器用作Worker Node–提供服务(开放给用户),它们是使用本地和外部资源接收和运行工作负载的服务器。
Master
Master是集群的网