1、kubernets的工作流程

(1)开始部署新的应用程序,使用kubectl客户端工具和一个准备好的包含应用程序的Deployment的yaml文件;用户通过kubectl命令将文件的内容发送给API Server。

(2)API Server接收到客户端的请求并将资源内容存储到数据库中;在本实例中,存储的数据库使用的是etcd(目前在kubernets最常用的数据库就是etcd。可以根据需要使用其他的数据库)。

(3)controller组件一直在监控系统中的变化;
这些组件包含有:调度器(Scheduler)、replication controllers(用于伸缩副本数量)、endpoint controller(用于管理网络请求等)

(4)ReplicaSet的概念:它作为一个“副本集”对象用于分装对Pod的弹性伸缩,它可以告知Kubernets有一个Pod需要在Kubernets中运行,并且需要根据伸缩pod的实例数量;
        例如,通过ReplicaSet可以在Kubernets中部署一个Pod并在集群中始终维持5个Pod的实例。 ReplicaSet Controller监控数据库中的数据变化,包括新创建的实例定义或者对已有ReplicaSet定义的修改,然后根据在数据库中所观察到的变化,检查实际环境中的该ReplicaSet所拥有的实例数量,如果实例数量超过了5个,则controller会杀掉富余的pod;如果实例的数量不足,则会立即创建新的pod补充;

(5)Scheduler controller会再次检查数据库,并发现在数据库中存在一批尚未被分配到具体执行节点(Node)的pod,这时Scheduler会根据一组相关规则将这些pod分配到可以允许它们的节点上去,并更新数据库,记录这些pod被分配到哪些节点上。

(6)kubelet运行在kubernets集群的每一个执行节点上,kubelet监控数据库中的数据从而发现那些被分配到他所在节点上运行的那些pod,如果发现有新分配到的pod,kubelet将在本节点上运行这个新的pod;所以kubelet会根据它在数据库中看到的数据创建运行pod所需要的容器。这个就是kubernets管理应用程序的基本过程和步骤

  docker engine、kubernets自己并不直接创建容器,它可以通过一个可插拔的层来实现容器的创建,在这一层中可以使用docker或者其他容器引擎,kubernets实现了各种容器引擎的结合。

  图上标识出了容器镜像缓存,在缓存中会存放那些已经下载了的保函应用程序代码的容器镜像;

(7)Kubeproxy运行在集群中的各个主机上负责管理网络通信;当有数据包发送到主机上时,Kubeproxy可以将其路由到正确的pod或者容器,对于从主机发出的数据,Kubeproxy也会通过类似的流程处理,他可以基于请求地址发现远程服务器,并将数据正确路由;在某些情况下,会使用round-robin算法将请求发送给集群中的多个实例。

2、kubernets的一些新特性

(1)Customer Resource Defines(自定义资源类型),代替了 Third Party Resources;CRD是一种可在数据库中存储的用户自定义资源,用户可以运行自己的controller组件来监控这些自定义资源并执行后续的操作,这样一来,用户就可以扩展Kubernets的资源模型而不必为了扩展功能而修改kubernets代码了;
(2)NetworkPolicy:它负责配置Pod组如何与彼此和其他网络端点进行通信。换句话说,它在运行于Kubernetes集群上的Pod间创建防火墙。
(3)Encryption for data at rest in Secrets
(4)"Local Storage" persistent volume type was add -> pod communication
(5)API Aggregation:它可以设置API Server让其成为其他一个或者多个API Server的代理,同样的,这项功能运行用户扩展Kubernets模型定义新的资源类型,这些功能可以被隐藏在主Kubernets API Server之后实现,从而方便用户扩展资源模型;
(6)External admission Controller
(7)Role Based Access Controller(RBAC)is in beta
(8)Kubeadm (tool for deploying kube) is in beta
(9)Node affinity/anti-affinity, taints, tolerations for scheduling

Kubernets 第一讲 初探的更多相关文章

  1. 【JavaScript从入门到精通】第一课 初探JavaScript魅力-01

    第一课 初探JavaScript魅力-01 JavaScript是什么 如今我们打开一个大型的网站,都会有很多JS效果的功能和应用.对于学过CSS+HTML的同学,即使是像淘宝那样的网站,用一两天时间 ...

  2. CS193P - 2016年秋 第一讲 课程简介

    Stanford 的 CS193P 课程可能是最好的 ios 入门开发视频了.iOS 更新很快,这个课程的最新内容也通常是一年以内发布的. 最新的课程发布于2016年春季.目前可以通过 iTunes ...

  3. POI教程之第一讲:创建新工作簿, Sheet 页,创建单元格

    第一讲 Poi 简介 Apache POI 是Apache 软件基金会的开放源码函数库,Poi提供API给java程序对Microsoft Office格式档案读和写的功能. 1.创建新工作簿,并给工 ...

  4. 《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立

    原文:<ArcGIS Engine+C#实例开发教程>第一讲桌面GIS应用程序框架的建立 摘要:本讲主要是使用MapControl.PageLayoutControl.ToolbarCon ...

  5. 32位汇编第一讲x86和8086的区别,以及OllyDbg调试器的使用

    32位汇编第一讲x86和8086的区别,以及OllyDbg调试器的使用 一丶32位(x86也称为80386)与8086(16位)汇编的区别 1.寄存器的改变 AX 变为 EAX  可以这样想,16位通 ...

  6. 异常处理第一讲(SEH),筛选器异常,以及__asm的扩展,寄存器注入简介

    异常处理第一讲(SSH),筛选器异常,以及__asm的扩展 博客园IBinary原创  博客连接:http://www.cnblogs.com/iBinary/ 转载请注明出处,谢谢 一丶__Asm的 ...

  7. 常见注入手法第一讲EIP寄存器注入

    常见注入手法第一讲EIP寄存器注入 博客园IBinary原创  博客连接:http://www.cnblogs.com/iBinary/ 转载请注明出处,谢谢 鉴于注入手法太多,所以这里自己整理一下, ...

  8. 逆向实用干货分享,Hook技术第一讲,之Hook Windows API

    逆向实用干货分享,Hook技术第一讲,之Hook Windows API 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) ...

  9. PE文件格式详解,第一讲,DOS头文件格式

    PE文件格式详解,第一讲,DOS头文件格式 今天讲解PE文件格式的DOS头文件格式 首先我们要理解,什么是文件格式,我们常说的EXE可执行程序,就是一个文件格式,那么我们要了解它里面到底存了什么内容 ...

随机推荐

  1. Java NIO Overview

    Java NIO Overview Channels and Buffers Selectors   Jakob JenkovLast update: 2014-06-23

  2. 深入理解hello world

    阅读目录 为什么所有东西都是从类开始的 为什么总是需要有一个“main”方法 HelloWorld的字节码 HelloWorld在JVM中是如何运行的 对于每个Java程序员来说,HelloWorld ...

  3. maven打包报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.5:test

    mvn package的时候报如下错误: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.5:test ...

  4. Java虚拟机1

    Java内存区域 程序计数器(Program Counter Register):记录当前线程所执行字节码的行号指示器.字节码解释器工作时,判断是循环,分支,跳转,异常等条件,然后更新这个计数器的值来 ...

  5. iftop网络流量查看工具

    1.下载iftop源码包 mkdir /usr/local/src/iftop cd /usr/local/src/iftop wget http://www.ex-parrot.com/~pdw/i ...

  6. 算法之LOWB三人组之插入排序

    插入排序 思想:类似于抽扑克牌,共有8张扑克牌,手里默认有一张,桌面上有7张,我们每次从桌面上抽一张和手里的牌进行比较,如果比手里的牌大,则直接放到手里的牌的后面,如果比手里的牌小,则放到手里的牌的前 ...

  7. python计算两个数的百分比

    a和b是整数,计算a/b的百分比 a=3 b=7 a=float(a) b=float(b) 保留百分比后2位小数 print  "%.2f%%" % (a/b*100) '42. ...

  8. oracleXE数据库没有公开wm_concat函数, 需要手动添加

    CREATE OR REPLACE TYPE wm_concat_impl AUTHID CURRENT_USER AS OBJECT ( curr_str ), STATIC FUNCTION od ...

  9. js保留小数点后面几位的方法

    原文地址: http://www.jb51.net/article/45884.htm 四舍五入以下处理结果会四舍五入: ? 1 2 var num =2.446242342; num = num.t ...

  10. poj1850(组合数)

    题目链接:http://poj.org/problem;jsessionid=B0D9A01EC0F1043088A37454B6CED469?id=1850 题意:给字符串编号,该字符串必须满足由小 ...