通俗易懂的K8S简介
我想学习k8s好几次了,但是都没有成功学习明白。这次要搞清楚。
1 理解K8S功能
K8S是一个 容器集群 管理系统。也就是说,它是一个管理系统,一个软件,这个软件的功能是管理 容器集群。
那么,这里就出现一个概念——容器集群,什么是容器集群呢?
要搞清楚容器集群这个概念的含义,咱们首先要知道什么是容器。这里需要懂得docker,懂docker的人都知道docker中有镜像,镜像启动之后生成了一个操作系统进程,这个进程就叫做容器。这就是容器的含义。
那么,容器集群又是什么呢?集群嘛,应该就是多个容器组成一个逻辑单元吧,这才是集群惯常的含义,所以,容器集群就是多个容器做成一个整体,将这个整体叫做容器集群。
k8s说是一个容器集群管理系统,就是说,它的管理对象是容器集群,就是说在它里面可以创建多个容器集群。就好像mysql是一个数据库管理系统,在mysql中可以用create database命令创建多个数据库是一样的道理。
上面说了k8s是一个容器集群管理系统,它是管理容器集群的。不过,k8s自己也可以组成一个集群,叫做k8s集群。那么,这里概念上就有点绕了:k8s集群是管理容器集群的。
2 k8s逻辑结构和物理结构
上面说了 k8s是管理容器集群的,那么在k8s中容器集群是怎么表示的呢?也就说在k8s中什么东西代表一个容器集群呢?答案是Service。
Serivce是k8s的一个核心概念,它表示一个容器集群。既然它表示一个容器集群,那就说明它是包含多个容器的。
那么k8s中如何表示容器的呢?答案是pod。
pod又是k8s中另外一个核心概念,它表示容器组,既然叫容器组,说明它包含了一组容器,也就是多个容器组成一个组。而多个pod则组成一个service,这样以来,多个pod组成的一个service里面包含的容器就更多了,这很多个容器就是一个容器集群,也就是说一个service表示一个容器集群。k8s中可以同时管理很多个service,这就是k8s是一个容器集群管理系统的含义。
目前,我们可以这样简单理解,service的含义、pod的含义,serivce和pod的关系,pod和容器的关系。
service和pod构成k8s的逻辑结构。
从上面图上能清晰地理解,service、pod、container的关系。
而k8s集群从物理上看,是由一个master节点和多个node节点共同组成的,这个master管理着多个node,master和node结构构成了k8s的物理结构。