Kubernetes是一种容器编排工具,可以帮助解决容器化应用程序的复杂性问题,例如自动化部署、容器编排、高可用性等。
Kubernetes具有以下主要特征:
资源调度:根据策略部署和扩展Pod
自愈能力:自动修复失效的Pod
服务发现和负载均衡:为不同版本的服务提供透明访问
滚动更新:支持无缝地更新容器图像
存储编排:支持多种类型的持久存储
中心API:统一的API操作所有Kubernetes对象
Kubernetes主要组件:
Master节点:协调整个集群,存储集群状态
节点:运行容器的机器
Pod:Kubernetes管理的最小单位,包含一个或多个容器
Service:抽象与Pod通信的方式,提供负载均衡和服务发现
Volume:Pod中容器共享的存储
Namespace:一个虚拟的区分集群的名称空间
Kubernetes对象:
Deployment:声明式定义Pod的数量、更新策略等
ReplicaSet:确保指定数量的Pod运行
StatefulSet:为稳定的网络ID、存储提供的Pod集合
DaemonSet:每个节点运行一个特定Pod的实例
Job:创建Pod并保证任务成功结束
对象还支持标签、注解和其他元数据,用于分类、记录信息。
Kubectl命令可以操作Kubernetes API,管理整个集群。