Kubernetes 容器集群管理系统
K8s
1.1、Kubernetes概述:
Kubernetes 是 Google 开源的容器集群管理系统,基于Docker构建一个容器的调度服务,提供资源调度,均衡容灾,服务注册、动态扩缩容等功能套件,基于容器的云平台;
Kubernetes 基于 Docker 容器的云平台,简称 k8s;
openstack 基于 kvm 虚拟机云平台
---------------------------------------------------------------------------------------------------------------------------------------------
1.1.1、 k8s的架构设计图:
1.1.2、kubernetes常见组件介绍:
- master:管理节点;
- apiserver:提供接口服务;
- scheduler:k8s调度服务;
- Replication Controllers:复制,保证pod高可用:
- minion:运行容器 container 的物理机,k8s需要很多minion机器来提供运算;
- container:容器,可以运行服务和程序;
- Kube_proxy:代理,做端口转发,相当于LVS+NAT模式中的负载调度;
- Proxy解决了同一宿主机,相同服务端口冲突的问题,还提供了对外服务的能力,Proxy后端使用了随机、轮循负载均衡算法。
- Pod:是一个可以被创建、销毁、调度、管理的最小部署单元。Pod可以包括一个或者一组容器;
- etcd:存储 kubernetes 的配置信息,可以理解为 k8s 的数据库,存储云平台的所有节点,pods、网络等信息。
- Services:外围的单元,通过虚拟一个访问IP及服务端口,可以访问我们定义好的Pod资源
- lables: 标签
- Deployment:部署
- kubelet:kubelet和Kube-proxy都运行在minion节点上。
- kube-prixy 实现kubernetes网络相关内容;
- Kubelet命令管理Pod、Pod中容器及容器的镜像和卷等信息。
1.1.3、总结组件之间的关系:
- kubernetes的架构由一个master和多个minion组成 通过api 提供服务,接收kubectl的请求来调度管理整个集群,kubectl:是k8s平台的一个管理命令。
- Replication controller 定义了多个Pod 或者容器需要运行,如果当前集群运行的pod或容器达不到配置的数量,replication controller会调度容器在多个minion上运行,保证集群中的pod数量。
- service则定义真事对外提供的服务,一个service会对应后端运行的多个container。
- kubernetes是个管理平台,minion上的kube-proxy 拥有提供真实服务公网ip,客户端访问kubernetes中的服务,是直接访问到kube-proxy上的。
- 在kubernetes中pod是一个基本单元,一个Pod可以提供相同功能的多个container,这些容器会被部署在同一个minion上,minion是运行Kubelet 中容器的物理机,minion接收master的指令创建 pod 或者容器。