Kubernetes(k8s)简介及简单使用

K8s的由来

现在我们项目的部署大多都采用集群容器化部署,但是容器化之后他们之间的映射关系就比较困难,多个服务之间访问很麻烦.这个时候用到资源管理器来解决.

Apache Mesos是Apache下的开源的分布式资源管理框架,被称为分布式系统的内核.在2019年5月 Mesos的最大使用商Twitter宣布将Mesos替换成Kubernetes.

DockerSwarm是Docker公司生产的资源管理器,虽然是轻量级的,但是功能太少,很多功能需要自己去开发.在2019年7月 国内的Aliyun宣布将DockerSwarm从自己的基础设施平台中剔除,不再支持安装使用.

Kubernetes是Goolgle通过将自身的borg容器化基础框架 通过Go语言在borg的基础上重新开发出了Kubernetes.

kubernetes简介

Kubernetes(简称k8s)是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用.它是容器集群管理系统,是一个开源的平台,可以实现容器集群的资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能。 它支持一系列容器工具, 包括Docker等。

Kubernetes的作用

快速部署应用

快速扩展应用

无缝对接新的应用功能

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

使用Web服务,用户希望应用程序能够7*24小时全天运行,开发人员希望每天多次部署新的应用版本。通过应用容器化可以实现这些目标,使应用简单、快捷的方式更新和发布,也能实现热更新、迁移等操作。使用Kubernetes能确保程序在任何时间、任何地方运行,还能扩展更多有需求的工具/资源。Kubernetes积累了Google在容器化应用业务方面的经验,以及社区成员的实践,是能在生产环境使用的开源平台。

Kubernetes的特点

轻量级,消耗的资源特别少,用GO语言开发,优于Ruby等解释型语言

开源,对小中大型企业来说真是福音

弹性伸缩

负载均衡:TPVS框架

可移植: 支持公有云,私有云,混合云,多重云(multi-cloud)

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

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

K8s总体架构

K8s集群由两节点组成:Master和Node。在Master上运行etcd,Api Server,Controller Manager和Scheduler四个组件。后三个组件构成了K8s的总控中心,负责对集群中所有资源进行管控和调度.在每个node上运行kubectl,proxy和docker daemon三个组件,负责对节点上的Pod的生命周期进行管理,以及实现服务代理的功能。另外所有节点上都可以运行kubectl命令行工具。

API Server作为集群的核心,负责集群各功能模块之间的通信。集群内的功能模块通过Api Server将信息存入到etcd,其他模块通过Api Server读取这些信息,从而实现模块之间的信息交互。Node节点上的Kubelet每隔一个时间周期,通过Api Server报告自身状态,Api Server接收到这些信息后,将节点信息保存到etcd中。Controller Manager中 的node controller通过Api server定期读取这些节点状态信息,并做响应处理。Scheduler监听到某个Pod创建的信息后,检索所有符合该pod要求的节点列表,并将pod绑定到节点列表中最符合要求的节点上。如果scheduler监听到某个Pod被删除,则调用api server删除该Pod资源对象。kubelet监听pod信息,如果监听到pod对象被删除,则删除本节点上的相应的pod实例,如果监听到修改Pod信息,则会相应地修改本节点的Pod实例。

 

 

 

Kubernetes主要由以下几个核心组件组成:

etcd保存了整个集群的状态;

apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;

controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;

scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;

kubelet负责本Node节点上的Pod的创建、修改、监控、删除等生命周期管理,同时Kubelet定时“上报”本Node的状态信息到Api Server里;

Container runtime负责镜像管理以及Pod和容器的真正运行(CRI);

kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;

简单代码实现

使用方法

posted @ 2022-08-25 19:34  zss16630975217  阅读(446)  评论(0编辑  收藏  举报