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. 在开发环境中,自己搭建一个ssl环境(小例子)

    做项目的时候自己总结的一些小例子 public class Test { public static void setSSLProperty() { Security.addProvider(new  ...

  2. BZOJ4974 大视野1708月赛 字符串大师

    传送门 题目大意 给定一个字符串的每一个前缀的最短循环节长度,求符合要求的字典序最小的字符串. 题解 给定循环节最短长度就是给定了这个字符串$kmp$的$next$数组,即$X_i=i-next_i$ ...

  3. ACM学习历程—BestCoder Round #75

    1001:King's Cake(数论) http://acm.hdu.edu.cn/showproblem.php?pid=5640 这题有点辗转相除的意思.基本没有什么坑点. 代码: #inclu ...

  4. poj 3469 Dual Core CPU——最小割

    题目:http://poj.org/problem?id=3469 最小割裸题. 那个限制就是在 i.j 之间连双向边. 根据本题能引出网络流中二元关系的种种. 别忘了写 if ( x==n+1 ) ...

  5. docker Get started part 4: Accessing your cluster cannot curl

    1. 问题描述 docker Get started part 4 can't visit myvm1 or myvm2. curl: (7) Failed to connect to 192.168 ...

  6. linux命令-rpm安装和卸载

    软件包 先查看一下rpm包 [root@wangshaojun Packages]# mount /dev/cdrom /mnt/////挂载[root@wangshaojun Packages]# ...

  7. JavaScript正则表达式应用---replace()

    replace()方法使用一个替换值(replacement)替换掉一个匹配模式(pattern)在原字符串中某些或所有的匹配项,并返回替换后的字符串.这个替换模式可以是字符串或者RegExp(正则表 ...

  8. storm启动supervisor源码分析-supervisor.clj

    supervisor是storm集群重要组成部分,supervisor主要负责管理各个"工作节点".supervisor与zookeeper进行通信,通过zookeeper的&qu ...

  9. ibatis分页的两种方式

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  10. The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object

    The project was not built since its build path is incomplete. Cannot find the class file for java.la ...