Docker是一个开源的应用容器引擎

k8s是一个开源的容器集群管理系统

这里我尽量用比较浅显的方式来说明k8s系统

一、k8s是如何管理的节点的呢:
1、k8s 分master和node 
2、master是整个集群的管理中心,在master上可以执行 kubectl get pod 等命令,来干预node
3、node是具体的pod的承载的机器,我们有时候称为node节点
4、master可以有多个,例如:master1,master2,master3, 在任意的master上都可以执行相关的管理命令来干预node节点的行为
    行为包括暂停节点、删除节点、查看节点、调度节点等等。
5、node节点理论上是有无限个,node节点在安装完毕后,通过注册的方式向master进行注册,这样master会自动的感应到node节点的

Master负责集群的管理,协调集群中的所有行为/活动。例如,pod应用的运行、修改、更新等。节点(Node)作为Kubernetes集群中的工作节点,可以是VM虚拟机、物理机。每个Node上都需要安装一个Kubelet,docker,kubelet-proxy等。用于管理Node节点与Kubernetes Master 通信。每个Node节点上至少还要运行container runtime (比如Docker或者rkt)

在Kubernetes(k8s)集群上部署应用程序时,会先通知master启动容器中的应用程序,master 调度容器在集群的Node节点上运行,Node节点使用master公开的Kubernetes API与主节点进行通信。最终用户还可以直接使用Kubernetes API与集群进行交互

我们用一个表格来看下一个master、node的关系

角色 ip 组件
master1 192.168.51.21

etcd

kube-apiserver

kube-controller-manager

kube-scheduler

master2 192.168.51.22

etcd

kube-apiserver

kube-controller-manager

kube-scheduler

node1 192.168.51.11

kubelet

kube-proxy

docker

node2 192.168.51.22

kubelet

kube-proxy

docker

K8s集群组件如下:

etcd:一个高可用的K/V键值对存储和服务发现系统,节点的注册信息会存贮到etcd。

flannel:实现跨主机的容器网络的通信,当然我们也可以使用类似calico这样的网络组件代替flannel。
     这里说白了,是构建了一个内部的pod网络通讯环境,比如:建立虚拟网卡,网桥等。

kube- apiserver:提供Kubernetes集群内的node节点的与master通讯, 前提需要安装通讯所需的网络插件,api-server很重要是master和node进行通讯的必要组件,例如检测node是否存活,node状态等。

kube- controller-manager:确保集群服务。

kube- scheduler:从集群中调度容器,分配到某Node节点,或从集群中驱离或定向调度到某节点等操作。

kubelet:在Node节点上按照配置文件中定义的容器规格启动容器。

kube-proxy:提供网络代理服务。

二、k8s node节点上的一些软件组成
1、包括网络插件、docker引擎、nginx等,它是一个非常复杂的软件系统.
2、操作系统比如:centos系统需要7.2 以上最好,centos6 安装docker 基本安装出现各种问题。

三、k8s和docker关系
     可以说docker(类容器),可以说是k8s的基础,必须要安装容器环境,这里拿docker为例,我安装的是二进制k8s,所以每台机器,例如:master,node等都必须要安装 
      docker

最新文章

  1. BeautifulSoup高级应用 之 CSS selectors /CSS 选择器
  2. ASP.NET ZERO 学习 事件总线
  3. Django 源码小剖: 应用程序入口 WSGIHandler
  4. Tuning 简介
  5. 【Unity Shaders】学习笔记——SurfaceShader(六)混合纹理
  6. 【v2.x OGE教程 20】粒子效果
  7. 【IOS开发】UItextfield输入电话号码,自动调整格式
  8. html5精品教程
  9. MVC伪一个12306图片验证码
  10. AspNet Identity 和 Owin 谁是谁
  11. Python进制转换(二进制、十进制和十六进制)
  12. C语言的第一次作业总结
  13. js 原型,原型链,原型链继承浅析
  14. 1 Servlet 简介
  15. 论文笔记系列-Multi-Fidelity Automatic Hyper-Parameter Tuning via Transfer Series Expansion
  16. Linux集群之keepalive+Nginx
  17. leetcode 206. Reverse Linked List(剑指offer16)、
  18. Angular $interval
  19. Halcon 之dyn_threshold与threshold区别与用法
  20. Spring点滴九:Spring bean的延迟初始化

热门文章

  1. Gin 09 HTTP 重定向
  2. 使用Geth 构建以太坊区块链并模拟挖矿过程
  3. Docker——镜像讲解
  4. Django 之 modelForm (edit.html页面的编写)
  5. RabbitMQ Go客户端教程2——任务队列/工作队列
  6. badusb
  7. Zookeeper 有哪几种几种部署模式?
  8. Python - 字符串基础知识
  9. Web最佳实践阅读总结(1)
  10. chrome插件one-read开发1:准备