一、kubernetes简介
kubernetes 本质是一组服务器集群,它可以在集群的每一个节点上运行特定的程序,来对节点的容器进行管理。它的目的就是实现资源管理的自动化,主要提供了以下主要功能:
1、自我修复: 一旦某一个容器崩溃,能够在1秒左右迅速启动新的容器。
2、弹性伸缩: 可以根据需要,可以自动对集群中正在运行的容器数量进行调整。
3、服务发现: 服务可以通过自动发现的形式找到它所依赖的服务。
4、负载均衡: 如果一个服务启动了多个容器,能够自动实现请求的负载均衡。
5、版本回退: 如果发现新发布的程序版本有问题,可以立即回退到原来的版本。
6、存储编排: 可以根据容器自身的需求自动创建存储卷。
二、kubernetes的组件
一个kubernetes集群主要由控制节点(Master) 和 工作节点(Node) 构成,每个节点上都会安装不同的组件。
Master:集群的控制平面, 负责集群的决策
Node:集群的数据平面, 负责为容器提供运行环境
二、kubernetes的概念
Master:集群控制节点,每个集群至少一个Master节点负责集群的管控
Node:工作负载节点,由Master分配容器到Node工作节点,然后Node节点上的docker负责容器的运行
Pod:kubernetes 最小控制单元,容器都是运行在Pod中的,一个Pod可以有一个或多个容器
Controller:控制器,通过它来实现Pod的管理,例如启动Pod,停止Pod,伸缩Pod的数量等等
Service:Pod对外的统一入口,可以维护着同一类的多个Pod
Label:标签,用于对Pod进行分类,同一类Pod会有相同的标签
NameSpace:命名空间,用来隔离Pod的运行环境