当前位置:首页 > Web开发 > 正文

(一)Kubernetes 系统基础

11-04 Web开发

标签:

Kubernetes介绍 什么是Kubernetes?

Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署、自动扩缩容、维护等功能。

使用Kubernetes可以:

自动化容器的部署和复制

随时扩展或收缩容器规模

将容器组织成组,并且提供容器间的负载均衡

很容易地升级应用程序容器的新版本

节省资源,优化硬件资源的使用

提供容器弹性,如果容器失效就替换它,等等...

Kubernetes特点

便携性:支持公有云、私有云、混合云、多重云(multi-cloud)

可扩展:模块化、插件化、可组合、可挂载

自修复:自动部署,自动重启,自动复制,自动伸缩扩展

Kubernetes特性

Kubernetes是一种用于在一组主机上运行和协同容器化应用程序的系统,旨在提供可预测性、可扩展性与高可用的性的方法来完全管理容器化应用程序和服务的生命周期的平台。

它具有以下几个重要的特性:

自动装箱:构建于容器之上,基于资源依赖及其他约束自动完成容器部署且不影响其可用性,并通过调度机制混合关键型应用和非关键型应用的工作负载于同一节点以提升资源利用率。

自我修复:支持容器故障后自动重启、节点故障候重行调度容器,以及其他可用节点、健康状态检查失败后关闭容器并重新创建等自我修复机制。

水平扩展:支持通过简单命令或UI手动水平扩展,以及基于CPU等资源负载率的自动水平扩展机制。

服务器发现和负载均衡Kubernetes通过其附加组件之一的KubeDNS(或CoreDNS)为系统内置了服务发现功能,它会为每个Service配置DNS名称,并允许集群内的客户端直接使用此名称发出访问请求,而Service则通过iptablesipvs内建了负载均衡机制。

自动发布和回滚Kubernetes支持“灰度”更新应用程序或其配置信息,它会监控更新过程中应用程序的健康状态,以确保它不会在同一时刻杀掉所有的实例,而此过程中一旦有故障发生,就会立即自动执行回滚操作。

秘钥和配置管理Kubernetes允许存储和管理敏感信息,例如密码,Oauth令牌和ssh秘钥。可以部署和更新密码和应用程序配置,而无需重建容器,也不会再堆栈配置中暴露机密。

存储编排Kubernetes支持Pod对象按需自动挂载不同类型的存储系统,这包括节点本地存储、公有云服务商的云存储(如AWSGCP等),以及网络存储系统(例如,NFSISCSIGlusterFSCephCinderFlocker等)

批量处理执行:除了服务型应用,Kubernetes还支持批处理作业及CI(持续集成),如果需要,一样可以实现容器故障后修复。

Kubernetes概述和术语

Kubernetes使用共享网络将多个物理机或虚拟机汇集到一个集群中,在各服务器之间进行通信,该集群是配置Kubernetes的所有组件、功能和工作负载的物理平台。集群中一台服务器(或高可用部署中的一组服务器)用作Master,负责管理整个集群,余下的其他机器用作Worker Node,它们是使用本地和外部资源接收和运行工作负载的服务器。集群中的这些主机可以是物理服务器,也可以是虚拟机(包括IaaS云端的VPS

技术图片

Master

Master是集群的网关和中枢,负责诸如为用户和客户端暴露API、跟踪其它服务器的健康状态、以最优方式调度工作负载,以及编排其他组件之间的通信等任务,它是用户或客户端与集群之间的核心联络点,并负责Kubernetes系统的大多数集中式管控逻辑。单个Master节点即可完成其所有的功能,但出于冗余及负载均衡等目的,生产环境中通常需要协同部署多个此类主机。Master节点类似于蜂群中的蜂王。

Node

温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/web/10030.html