1.定义和功能。

  1.1定义:kubernets解释为舵手或者飞行员,以Borg为主衍生出。

  1.2功能:自动装箱,自我修复,水平扩展,服务发现和负载均衡,自动发布和回滚。

      密钥和配置管理,存储编排,批量处理执行。

2.架构。

  2.1master(本身集群)主要包含三部分:1.API server 2.Scheduler 3.Controller-Manage

    •API server:负责接收和处理请求

    •Scheduler调度器:来观察各个node的资源情况,选择最好的资源响应用户的请求;两级调度:1.海选2.在海选中优选。

    •Controller-Manage(冗余性):负责监控每个Controller的状态。Controller,控制器,持续不断(loop)的对容器做检测,是否符合用户预期或者宕机等。

  2.2node上的一个组件kuberlet,对node上容器引擎(docker为主)做响应的启动等和健康检查。kube-proxy和API server进行通信,管理Service。

  2.3pod是k8s集群中最小的逻辑单元,每个pod中主要包含容器。特性如下:

    2.3.1pod中的容器共享网络和存储卷。

    2.3.2一般一个pod是单容器模式或一主多辅模式(如nginx和logstach共存)。

    2.3.3Client和pod通信,中间经过一层中间层(Service),其本质就是类似iptables的端口转发(DNAT)。

    2.3.4pod的控制器

         分别对应不同的后台资源,Depolyment还支持二级控制器,HPA(HorizontalPodAutosclar),能根据请求量自动扩容或者缩容。

    2.3.5pod地址是不断变化的,所以Service和pod是通过Lable Selector(标签选择器)进行通信。相同功能的podLable是一样的。

  2.4网络层(三层网络,不同网段)

    2.4.1简单架构图

    

    网络提供上只要遵循CNI(容器网络接口),就能为k8s提供网络服务。  

    2.4.2二层维度:

      1.为pod和Service提供ip服务

      2.提供网络策略(隔离不同pod之间通信等)。

      

      canel是flannel和calico的结合,flannel提供网络配置,calico提供网络策略。不直接使用calico是因为配置较为复杂。

    2.4.3整体网络架构:三层网络

    

  2.5架构中存储架构信息是存在共享存储(etcd)中。架构之间的通信需要五套ca证书。

    1.etcd(一般是三个)之间的内部通信;

    2.etcd和API server之间通信;

    3.API server和client之间通信;

    4.API server和kuberlet之间通信;

    5.API server和kube-proxy之间通信。

  

kubernets基础的更多相关文章

  1. Kubernets-初见

    只是入门文档. 使用 linux 通过 java -jar 方式部署单体架构,war 包丢tomcat. 使用 Docker部署微服务架构. 使用 K8s Pod 进行部署 一个一个 服务 命令 je ...

  2. Kubernets搭建Kubernetes-dashboard

    接上篇文章,在已经部署好Kubernetes的基础上部署kubernetes-dashboard,它是官方提供的用户管理Kubernets集群可视化工具:部署dashboard其实和在kubernet ...

  3. Kubernetes基础

    Kubernetes是什么 Kubernetes是当今最流行的开源容器管理平台,它就是大名鼎鼎的Google Borg的开源版本.Google在2014年推出了Kubernetes,本文发布时最新的版 ...

  4. k8s1.9.0安装--基础集群部署

    二.基础集群部署 - kubernetes-simple 1. 部署ETCD(主节点) 1.1 简介 kubernetes需要存储很多东西,像它本身的节点信息,组件信息,还有通过kubernetes运 ...

  5. ASP.NET Core on K8S深入学习(1)K8S基础知识与集群搭建

    在上一个小系列文章<ASP.NET Core on K8S学习初探>中,通过在Windows上通过Docker for Windows搭建了一个单节点的K8S环境,并初步尝试将ASP.NE ...

  6. 1-2、kubernetes架构概述和kubernetes基础概念

    kubernetes https://draveness.me/understanding-kubernetes http://kubernetes.kansea.com/docs/ master/n ...

  7. kubernets之控制器之间的协作以及网络

    一  创建一个deployment的时候整个kubernets集群的资源和事件的调用链 1.1  创建一个deployment的资源,在提交的时候,集群中的调度器,控制器以及node节点上kubele ...

  8. kubernets之Deployment资源

    一  声明式的升级应用 1.1  回顾一下kubernets集群里面部署一个应用的形态应该是什么样子的,通过一副简单的图来描述一下 通过RC或者RS里面的模板创建了三个pod,之后通过一个servci ...

  9. kubernets之pv以及pvc

    一 持久卷以及持久卷声明的由来 由于不管是哪种卷,开发者都需要提前预知kubernets集群里面的存储类型,这样就在一定程度上违背了kubernets集群的设计理念,kubernets的设计理念是在由 ...

随机推荐

  1. Beyond Compare 4 提示错误“这个授权密钥已被吊销”的解决办法

    错误提示: 这个授权密钥已被吊销. 解决方法: 删除以下目录中的所有文件即可. C:\Users\Administrator\AppData\Roaming\Scooter Software\Beyo ...

  2. c#: 创建桌面快捷方式

    App适配输出方式时发现问题,聊做备忘. 需要注意的是:不要直接引用Interop.IWshRuntimeLibrary.dll程序集,因为它可能是x86或x64的,倘若程序以Any CPU方式编译, ...

  3. vue-实现全选单选

    在获取列表页面数据时,通过forEach遍历存储数据的对象,给对象中添加一个selected变量,值为布尔值. 点击全选时,通过遍历将对象中selected的布尔值改变 点击单选时,被点中的通过筛选加 ...

  4. Java中关于quartz定时任务时间设置

    每天凌晨2点 0 0 2 * * ?和每天隔一小时 0 * */1 * * ? 例1:每隔5秒执行一次:*/5 * * * * ? 例2:每隔5分执行一次:0 */5 * * * ?在26分.29分. ...

  5. php判断用户是否关注微信公众号

    方法一: <?php     $access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_cr ...

  6. 制作docker基础镜像

    docker build -t tomcat:jre8-alpine . sudo docker tag 5a3 registry.cn-shenzhen.aliyuncs.com/ibase/tom ...

  7. 010 Editor 8.0.1 之 逆向分析及注册机编写

    前言一.工具及软件介绍二.逆向分析2.1.找到提示错误注册弹窗2.2.分析跳转处代码2.3.=2D 函数分析2.3.1.获取注册码处分析2.3.2.3处分支分析2.3.2.1.9C情况2.3.2.2. ...

  8. Kafka的安装及与Spring Boot的集成

    安装JDK 下载jdk-8u202-ea-bin-b03-linux-x64-07_nov_2018.tar.gz 解压 配置 $ vi /etc/profile,在最后加入下面两行 export J ...

  9. eclipse汉化包

    把eclipse英文汉化成中文,首先我们要知道自己安装的eclipse版本,可以在eclipse的安装目录下找到readme用浏览器打开查看版本,或者用记事本打开.eclipseproduct文件,查 ...

  10. 给pdf添加导航目录

    给pdf添加导航目录 我们下载pdf书籍经常需要以下导航功能,没有导航的pdf根本看不下,接下来会分享我添加导航的方法 首先需要下载工具软件,链接: http://t.cn/Exyss1G 打开软件, ...