1、容器编排工具

  • docker编排工具三剑客:docker compose, docker swarm, docker machine
  • IDC的操作系统:mesos
  • 提供容器编排框架:marathon
  • kubernetes

2、DevOps

  • CI:持续集成
  • CD:持续交付,Delivery
  • CD:持续部署,Deployment

3、k8s概述

  • Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。

4、k8s特性

  • 自动装箱
  • 自我修复,容器崩溃后直接重新拉起一个
  • 自动实现水平扩展
  • 自动实现服务发现和负载均衡
  • 自动发布和自动回滚
  • 秘钥和配置管理
  • 存储编排
  • 批量处理执行

5、k8s架构

  • master:由一组节点来做管理节点,是整个集群的大脑,通常应该有3个

    • API-Server:来接受请求
    • Scheduler:调度器
    • Controller-Manager:控制器管理器
  • node01...N :由N个节点来做运行docker的节点
    • Kubelet:管理node
    • Docker:容器引擎
    • Kube-proxy:创建/修改/删除service规则

6、Pod豌豆荚

  • k8s中最小单位是pod
  • 在pod中运行容器
  • 在同一pod中的容器共享网络和存储

7、Label标签

  • Label:标记POD对象,是POD的元数据,kv类型
  • Label Selector:标签选择器,挑选指定类的POD

8、Pod的分类

  • 自主式Pod
  • 控制器管理的Pod
    • ReplicationContrller:副本控制器,可实现滚动更新
    • ReplicaSet:副本集控制器
    • Deployment:只能管理无状态的应用,支持2级Pod控制器(HPA),根据业务负载扩展Pod
    • StatefulSet:有状态副本集
    • DaemonSet:守护副本集
    • Job
    • Ctonjob

9、Service对象

  • 提供固定的访问地址,可以实现调度功能
  • 为Pod提供转发
  • 靠标签选择器来选择Pod为自己的后端
  • 是一个iptables或者lvs的一条规则
  • service的名可以被DNS-Pod解析

10、DNS-Pod

  • AddOns:是k8s集群的一个附件
  • 可实现自动添加/删除解析记录

11、k8s网络

  • 物理机网络:节点网络
  • service网络:集群网络
  • 容器网络:pod网络
  1. 同一个Pod内的容器使用lo网卡通信
  2. 各Pod之间通过Overlay Network网络(叠加网络)通信
  3. Pod与Service之间通过iptables规则通信

12、etcd

  • 存储所有的集群状态信息
  • 一般有3个节点做冗余
  • 提供resful风格的api
  • 键值存储
  • 内部需要ca,签署证书,以供https通信

13、flannel

  • CNI:容器网络接口协议
  • flannel属于CNI插件
  • 管理集群的Pod网络和集群网络的网络配置
  • 使用叠加网络实现
  • 与flannel相同功能的插件还有:
    • calico,支持网络配置和网络策略,使用IPIP隧道实现
    • canel:flannel和calico结合生成的项目

1、kubernetes系统基础190622的更多相关文章

  1. (一)Kubernetes 系统基础

    Kubernetes介绍 什么是Kubernetes? Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署.自动扩缩容.维护等功能. 使用Kubernetes可以: ...

  2. 第1章:Kubernetes 系统基础

    51.1.kubernetes介绍: 1.什么是kubernetes: (1)Kubernetes是容器集群管理系统,是一个开源的平台,可以实现容器集群的自动化部署.自动扩缩容.维护等功能. (2)使 ...

  3. Kubernetes系统基础

    Kubernetes系统基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.容器编排系统概述 1>.容器编排系统生态圈 Docker通过“镜像”机制极富创造性地解决了应用 ...

  4. Kubernetes学习-基础架构

    kubectl是一个Kubernetes提供的客户端工具,是用于操作kubernetes集群的命令行接口,通过利用kubectl的各种命令可以实现各种功能,是在使用kubernetes中非常常用的工具 ...

  5. 浅入kubernetes(1):Kubernetes 入门基础

    目录 Kubernetes 入门基础 Introduction basic of kubernetes What Is Kubernetes? Components of Kubernetes Kub ...

  6. Kubernetes 入门基础

    我们要学习 Kubernetes,就有首先了解 Kubernetes 的技术范围.基础理论知识库等,要学习 Kubernetes,肯定要有入门过程,在这个过程中,学习要从易到难,先从基础学习. 接下来 ...

  7. Linux实战教学笔记06:Linux系统基础优化

    第六节 Linux系统基础优化 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 基础环境 第2章 使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 第一步:先备份 ...

  8. 12、ERP设计之 系统基础管理(BS)- 模块与菜单的关联

    ShareERP2013-10-03 模块:具有功能设计.权限绑定,链接用户菜单与系统的重要桥梁. 菜单:是用于显示与用户交互的重要入口,更是导航系统的舵手,所以它的设计直接影响到用户体验. 菜单可能 ...

  9. Linux系统基础命令

    这是看itercast的学习笔记 Linux系统基础命令 日期时间 命令date用以查看.设置当前系统时间:格式化显示时间: +%Y--%m--%d 命令hwclock(clock)用以显示硬件时钟时 ...

随机推荐

  1. 嵌套list的实例化

    在LeetCode上遇到这样返回值 public class Solution { public List<List<Integer>> levelOrder(TreeNode ...

  2. linux 故障:df -h统计磁盘空间占用太多,但又du -h找不到大的文件

    用lsof / | grep -i delete 从根目录定位打开的被删除的文件 如果定位到某文件占用空间很大 主要是因为我们在删除这个日志文件的时候是用rm -rf *.log这样的命令删除的,删除 ...

  3. Oracle12c多租户如何启动关闭CDB或PDB (PDB自动启动)

    Oracle 数据库 12 c 中介绍了多租户选项允许单个容器数据库 (CDB) 来承载多个单独的可插拔数据库 (PDB).下面我们一起来启动和关闭容器数据库 (CDB) 和可插拔数据库 (PDB). ...

  4. VS2008中_T的作用

    引用: VC++里面定义字符串的时候,用_T来保证兼容性.VC++支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改. 如 ...

  5. Erlang generic standard behaviours -- gen_server system msg

    这是Erlang generic standard behaviors gen_server 分析的系列的最后一篇,主要分析gen_server module 辅助性的功能函数. 在gen_serve ...

  6. 对API的理解

    一. API(Application Programming Interface,应用程序编程接口) 1)定义:API是远程服务器或者操作系统的一些函数,是它们的一部分: 2)功能:用来接收应用程序( ...

  7. java基础知识学习 java异常

    1: Unchecked Exception( 也就是运行时异常) VS  Check Exception(非运行时异常) 2: 运行期异常  VS  非运行期异常? 非运行时异常: 必须在代码中显示 ...

  8. AD9各种布线总结

    1.常规布线:不详细说了,是个人就知道怎么弄.需要说明的是在布线过程中,可按小键盘的*键或大键盘的数字2键添加一个过孔:按L键可以切换布线层:按数字3可设定最小线宽.典型线宽.最大线宽的值进行切换. ...

  9. 在java web项目中编写自己的代码生成器

    在java web项目中编写自己的代码生成器

  10. java基础知识(3)----面向对象

    三:面向对象:特点: 1:将复杂的事情简单化.2:面向对象将以前的过程中的执行者,变成了指挥者.3:面向对象这种思想是符合现在人们思考习惯的一种思想. 过程和对象在我们的程序中是如何体现的呢?过程其实 ...