Kubernetes 入门 01

Kubernetes 入门 01

这个系列文章计划从零开始对Kubernetes的学习,从系统功能层面到实现层面,本文会对Kubernetes的架构进行一个整体的介绍。

Kubernetes是什么?

学习一个东西的第一步就是知道它是什么,有什么作用,为什么要使用它。下面对这些问题依次进行解答。

简单的来说,Kubernetes是一个容器编排系统(关于什么是容器,看这里)。相对于原有的在硬件服务器上直接部署的方法,容器给应用程序部署提供了一种新的方式,显得更加轻量快速便捷,能够更好的进行资源的拓展。但是单一容器并不能支持生产环境中的应用部署,于是容器编排系统应运而生,通过将容器集群化以提供更好的性能和容错,这就是Kubernetes。

实际生产环境中,我们希望服务是7*24不间断服务,同时又能够支持动态的应用更新,而Kubernetes通过对容器进行动态编排和调度,对次进行支持。

Kubernetes的主要元素

在继续后面的内容之前需要了解下Kubernetes里的一些基础概念,主要概念有下面几个:

  • Cluster,集群,用于描述整个容器集群
  • Master,控制节点,用于管理整个集群,每个集群拥有一个主节点
  • Nodes,从节点,实际物理资源(可以是物理机或虚拟机),每个集群可以拥有一个或多个从节点
  • Pods,类似于抽象主机的概念,是系统进行分配、调度的最小单元
  • Container,容器,系统中的应用运行在容器上
  • Service,对多个Pods的流量进行调度,对外提供服务

这里写图片描述

从图中可以看出,每个集群中有一个Master节点对整个集群进行管理;同时系统中存在多个Nodes节点,提供物理资源,这是系统进行资源分配和调度的基础;在此基础上是Pods和Container,这两个都是虚拟的概念,它是系统分配和部署的最小单元,在一个Node上可以部署多个Pods,一个Pods表示了一个功能或服务,通过对一个或多个Contrainer的整合来实现功能;最后是Service,它负责对外提供可访问接口,系统中一个Service对应于多个Pod,通过自动化的路由策略对Pod的整合,提供服务拓展,系统容错等功能。

Kubernetes部署的主要流程

Kubernetes部署的流程主要分为以下几步:
- 创建集群,通过在物理机或虚拟机上运行Kubernetes程序来创建Kubernetes集群
- 部署应用,通过Kubernetes API对pod进行分配和调度,并部署服务
- 发布服务,通过Service整合Pods的应用,对外发布服务

拓展阅读

1. Kubernetes Tutorials
2.Docker

猜你喜欢

转载自blog.csdn.net/preyta/article/details/79819085