简述:k8s是一个轻便的和可扩展的开源平台,用于管理容器化应用和服务。通过kubernetes能够进行应用的自动化部署和扩缩容。在kubernetes中,会将组成应用的容器组合成一个逻辑单元以便更易管理和发现。
1.k8s的功能
(1)自动装箱
基于容器对应用运行环境的资源配置要求自动部署应用容器。
(2)自我修复(自愈能力):
当容器失败时,会对容器进行重启
当所部署的node节点有问题时,会对容器进行重新部署和重新调度。
当容器未通过监控检查时,会关闭此容器
直到容器正常运行时,才会对外提供服务。
(3)水平扩展:
通过简单的命令、用户UI界面或基于cpu等资源使用情况,对应用容器进行规模扩展或规模剪裁。
(4)服务发现:
用户不需要使用额外的服务发现机制,就能够基于kubernetes自身实现服务发现和负载均衡。
(5)滚动更新:
可以根据应用的变化,对应用容器的应用,进行一次性或批量式更新。
(6)版本回退:
可以根据应用部署情况,对应用容器运行的应用,进行历史版本即时回退。
(7)密钥和配置管理:
在不需要重新构建镜像的情况下,可以部署和更新密钥和应用配置,类似热部署。
(8)存储编排:
自动实现存储系统挂载及应用,特别对有状态应用实现数据持久化非常重要。
存储系统可以来自于本地目录、网络存储NFS 、Gluster、Ceph、Cinder等,公共云存储服务等。
2.Node及Pod支持。
Node节点数可以管理2000台
pod管理150000个
K8s架构
应用部署架构分类
无中心节点架构:GlusterFS
有中心节点架构:HDFS K8s
k8s集群架构节点角色功能
Master Node
k8s集群控制节点,对集群进行调度管理,接受集群外用户去集群操作请求
Master Node 由API Server 、Scheduler 、Cluster State Store和Controller Manager Server 组成。
Worker Node:
集群工作节点、运行用户业务应用容器
Worker Node包含kubelet 、Kube proxy和Container Runtime