Kubernetes(K8s)是一个用于自动化容器化应用程序的部署,扩展和管理的开源系统,它将组成应用程序的容器分组为逻辑单元,以便于管理和发现。Kubernetes拥有15年在Google上运行生产工作负载的经验,并结合了社区中最好的想法和实践。Kubernetes这个名字起源于希腊语,意思是舵手或飞行员。
Kubernetes功能
服务发现和负载平衡
无需修改您的应用程序即可使用不熟悉的服务发现机制,并且**Kubernetes为Pods提供自己的IP地址和一组Pod的单个DNS名称,可以在它们之间进行负载平衡。
服务拓扑
基于群集拓扑的服务流量路由控制。
存储编排
自动安装您选择的存储系统,无论是本地存储、公共云提供商(例如GCP或AWS)还是网络存储系统(例如NFS,iSCSI,Gluster,Ceph,Cinder或Flocker)。
自我修复
重新启动失败的容器,在节点死亡时替换并重新安排容器的时间,杀死不响应用户定义的运行状况检查的容器,并在对客户透明。
自动部署和回滚
Kubernetes逐步部署对您的应用程序或其配置的更改,同时监视应用程序的运行状况,以确保它不会同时杀死所有实例。如果出现问题,Kubernetes将为您回滚更改。利用不断发展的部署解决方案生态系统。
机密和配置管理
部署和更新机密和应用程序配置,而无需重建映像,也不会在堆栈配置中暴露机密。
自动垃圾箱包装
根据容器的资源需求和其他限制条件自动放置容器,同时不影响可用性。利用负载,以提高利用率并节省更多资源。
批量执行
除服务外,Kubernetes还可以管理您的批处理和CI(持续集成)工作负载,并根据需要替换发生故障的容器。
IPv4 / IPv6双协议栈
支持IPv4 / IPv6双协议栈,将IPv4和IPv6地址分配给Pod和服务
水平缩放
使用UI操作或简单的命令,根据CPU使用情况自动缩放应用程序的规模。