一、简介

Ansible

Docker

  Docker compose,docker swarm,docker machine

  Mesos,marathon

  Kubernetes(占据80%的市场)

DevOps:

  Devops,MicroServices,Blockchain

    CI:持续集成

    CD:持续交付,Delivery

    CD:持续部署,Deployment

      Plan-设计-开发-构建-测试(自动实现这一系列流程叫持续集成)

        -运维(获取打包好的包叫持续交付)

        - 持续部署

K8s(剁手,飞行员):

Borg

  https://github.com/kubernetes

  自动装箱(自动完成部署)

  自我修复

  水平扩展

  服务发现和负载均衡

  自动发布和回滚

  秘钥和配置管理集中化(配置中心)

  存储编排

  批量处理执行

集群:

  许多台主机当成一台主机来使用

  有中心节点架构的模型

  Master/nodes

  Master(高可用,3台)

    组件叫API Server

    调度器(scheduler):负责观测node的节点资源使用情况(预选,优选)

    控制器管理器(controller manager)---主备

  Nodes(worker):运行容器的节点

    Client->master-node

    Kubelet:集群代理(启动并管理pod)

    容器引擎:docker

  Pod:k8s最小的调度的逻辑单元

    容器的外壳,pod内运行容器,共享nat、uts和ipc

    共享存储卷

    一般来说一个pod内只放一个容器

    在一个资源池内进行统一管理(dockfile中打标签来进行区分)

    

    Label Selector:标签选择器

    Label: K=v

Master/node

  Pod分类:

    自主式pod:

    控制器管理的pod

      replicationController:副本控制器

        管理pod状态

        滚动更新

      replicaSet

      Deployment(管理无状态的pod)

      statefuSet(有状态的)

      DaemonSet

      Job,cronjob

  HPA(HorizonTalPodAutoscaler):自动控制器,根据负载需求调整pod个数

    Pod生命周期需要用到服务发现机制

      Service管理pod(调度),根据label标签来关联pod对象

      Client - >service -> pod*N

      DNS对service进行解析

    AddOns:附件(附加组件)

  客户端和pod之间的桥梁:service(固定不变)

    Label(标签):固定不变,连接service-----名称解析(DNS)

NMT

  Nginx对外:

  Tomcat

  M:db

  

  LBaas

  K8s网络(三个网段的网络)

    Pod网络

    Service(集群)网络(虚拟网络只存在与iptables或ipvs之中)

    节点网络

  Overlay Network,叠加网络

    同一个pod内的多个容器间:lo

    各个pod之间的通信(snat-dnat,两级pod转换),通过主机访问pod

    Pod与service之间的通信(宿主机规则)

  Kube-proxy:

    对service进行管理

  共享存储

    Etcd

  CNI:容器网络接口(网络解决方案)

    Flannel:网络配置(叠加网络)

    Calico:支持网络配置和网络策略(三层隧道网络)

    Canel(Flannel+Calico):

架构图:

     

     

      

k8s集群搭建指南的更多相关文章

  1. [转]OpenShift 集群搭建指南

    转自:http://www.cnblogs.com/zhangning/p/7251810.html OpenShift 集群搭建指南 v1.0 搭建Hyper-v虚拟机或物理机 配置物理机静态IP, ...

  2. K8S集群搭建

    K8S集群搭建 摘要 是借鉴网上的几篇文章加上自己的理解整理得到的结果,去掉了一些文章中比较冗余的组件和操作,力争做到部署简单化. K8S组件说明 Kubernetes包含两种节点角色:master节 ...

  3. k8s集群搭建(三)

    Dashboard安装 Kubernetes Dashboard是k8s提供基于Web的监控和操作界面,可以通过UI来显示集群的所有工作负载,除了查看资源,还是创建.编辑.更新.删除资源. 根据Kub ...

  4. k8s集群搭建 2019

    参考,https://github.com/qxl1231/2019-k8s-centos 事实上k8s集群的搭建很简单,笔者在搭建的过程中遇到的主要问题是镜像无法下载的问题. 如果发现教程中提供的镜 ...

  5. k8s集群搭建(一)

    k8s简介 kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写.是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简 ...

  6. K8S集群搭建——基于CentOS 7系统

    环境准备集群数量此次使用3台CentOS 7系列机器,分别为7.3,7.4,7.5 节点名称 节点IPmaster 192.168.0.100node1 192.168.0.101node2 192. ...

  7. 高可用k8s集群搭建

    虚拟机选择 Win10 Hyper-V 总体架构 三个master,三个node master的组件 etcd kube-apiserver kube-controller-manager kube- ...

  8. k8s集群搭建过程详解

    准备工作 安装CentOS7虚拟机 略 安装Docker 略 关闭CentOS7自带的防火墙服务 systemctl disable firewalld systemctl stop firewall ...

  9. Kubernetes 系列(一):本地k8s集群搭建

    我们需要做以下工作: (1)安装VMware,运行CentOs系统,一个做master,一个做node. (2)安装K8s. (3)安装docker和部分镜像会需要访问外网,所以你需要做些网络方面的准 ...

随机推荐

  1. TimeUnit简析

    TimeUnit是java.util.concurrent包下面的一个类,主要有两种功能: 1.提供可读性更好的线程暂停操作,通常用来替换Thread.sleep() 2.提供便捷方法用于把时间转换成 ...

  2. 20145122《Java程序设计》第九周学习总结

    教材学习内容总结 1.JDBC代表Java数据库连接,这是一个标准的Java API与数据库无关的与Java编程语言之间的和大多数数据库连接.JDBC API支持两层和三层的处理模式对数据库的访问,但 ...

  3. Nodejs -- 使用koa2搭建数据爬虫

    当前爬虫项目开发所需中间件: cheerio: 则能够对请求结果进行解析,解析方式和jquery的解析方式几乎完全相同 cheerio中文文档 开发参考node - cheerio模块 superag ...

  4. cron表达式增加一段时间变为新的表达式

    cron表达式是使用任务调度经常使用的表达式了.对于通常的简单任务,我们只需要一条cron表达式就能满足.但是有的时候任务也可以很复杂. 最近我遇到了一个问题,一条任务在开始的时候要触发A方法,在结束 ...

  5. Windows Services 学习(转载)

    转载:http://blog.csdn.net/fakine/article/details/42107571 一.学习点滴 1.本机服务查看:services.msc /s2.服务手动安装(使用sc ...

  6. Go第六篇之结构体剖析

    Go 语言通过用自定义的方式形成新的类型,结构体是类型中带有成员的复合类型.Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性. Go 语言中的类型可以被实例化,使用new或&a ...

  7. Dell Vostro5370安装Win10/Ubuntu18LTS

    如何安装Win10/Ubuntu双系统 测试环境: DELL PRECISION 7510: CPU:Intel Core i5-6300HQ HD:256G NVME SSD 操作步骤: 无损将硬盘 ...

  8. 抽象类的继承,接口的实现,接口类型数组的使用,根据instanceof判断(返回)是否该是哪一个类型,类型的强转.

    总觉得之前第2处有点问题,果然. 还需要instanceof判定一下,然后还需要把数组Animal[]转为Pet的才有方法play()~~~!

  9. hdu 5587 Array 二分

    Array Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Problem ...

  10. python 将元组解析为多个参数

    #create a tuple tuplex = , , print(tuplex) n1, n2, n3 = tuplex #unpack a tuple in variables print(n1 ...