k8s

https://www.kubernetes.org.cn/k8s

优势

  1. 自动装箱、水平扩展、自动修复
  2. 服务发现和负载均衡
  3. 自动发布(默认滚动发布模式)和回滚
  4. 集中化配置管理和秘钥管理
  5. 存储编排
  6. 任务批处理运行

基本概念

1. pod/pod控制器

  • pod是k8s里能够被运行的最小逻辑单元

  • 1个pod里面可以运行多个容器,共享UTS+NET+IPC名称空间

  • 1个pod里运行多个容器:边车模式

  • pod控制器是pod启动的一种模板,用来保证k8s里启动的pod应始终按照人们的预期运行(副本数、生命周期、健康状态检查)

2. name/namespace

name

  • k8s内部,使用资源来定义每一种逻辑概念。故每种资源都应该有自己的名称
  • api版本apiVersion、类别kind、元数据metadata、定义清单spec、状态status等的配置信息
  • 名称通常定义在资源的元数据信息里

namespace

  • 隔离k8s内各种资源的方法
  • 名称空间可以理解为k8s内部的虚拟集群组

3. Label/Label选择器

Label

  • 标签是k8s特色的管理方式,便于分类管理资源对象
  • 一个标签可以对应多个资源,一个资源也可以有多个标签,多对多的关系
  • 标签组成 key=value 注解 annotations

Label选择器

  • 给资源打上标签后,可以使用标签选择器过滤指定的标签
  • 标签选择器目前有两个:基于等值关系和基于集合关系
  • 许多资源支持内嵌标签选择器字段 matchLabels、matchExpressions

4. Service/Ingress

Service

  • 虽然每个pod都会被分配一个单独的IP地址,但是这个IP地址会随着pod的销毁而消失
  • service就是迎来解决这个问题的核心概念
  • 一个service可以看做一组提供相同服务的pod的对外访问接口
  • service作用于哪些pod是通过标签选择器来定义的

Ingress

  • Ingress是k8s集群里工作在OSI网络参考模型下,第七层的应用,对外暴露的接口
  • service只能进行L4流量调度,表现形式是ip+port
  • Ingress则可以调度不同业务域、不同URL访问路径的业务流量

核心组件

  • 配置存储中心- etcd服务
  • 主控master节点
    • kube-apiserver服务
      • 集群管理的REST API 接口:鉴权、数据校验及集群状态变更
      • 负责其他模块之间的数据交互,承担通信枢纽功能
      • 资源配额控制的入口
      • 提供完备的集群安全机制
    • kube-controller-manager服务
      • 通过apiserver监控整个集群的状态,并确保集群处于预期的工作状态
    • kube-scheduler服务
      • 接受调度pod到适合的运算节点上
      • 预算策略predict
      • 优选策略priorities
  • 运算node节点
    • kube-kubelet服务
      • 定时从某个地方获取节点上pod的期望状态:运行什么容器、运行的副本数量、网络或者存储如何配置,
        并调用对应容器平台接口达到这个状态
      • 定时汇报当前接口的状态给apiserver,以供调度时候使用
      • 镜像和容器的其亨利工作,保证节点上镜像不会占满磁盘空间,退出容器不会占用太多资源
    • kube-proxy服务
      • 是k8s在每个节点上运行网络的代理,service资源的载体
      • 建立了pod网络和集群网络的关系 clusterip-podip
      • 常用三种流量调度模式:
        • Userspace
        • iptables
        • Ipvs
      • 负责建立和删除包括更行调度规则、通知apiserver自己的更新
  • cli客户端
    • kubectl

核心附件

  • CNI 网络插件
  • 服务发现用插件
  • 服务暴露用插件
  • GUI管理插件
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.k8s集群的安装(kubeadm安装) 1.1 k8s的架构 从系统架构来看,k8s分为2个节点 Master...
    唯爱熊阅读 5,237评论 0 1
  • k8s入门知识点 [TOC] k8s并不神秘,你可以结合vm和redis之类的中间件 Q-1:为什么需要k8s Q...
    LLyang碎碎念阅读 12,029评论 0 4
  • 适用于大部分项目(大同小异) 一、 项目迁移到K8S平台是怎样的流程 要以镜像作为交付对象,不再以jar包、war...
    Linux丶晨星阅读 7,931评论 0 2
  • k8s容器编排 [TOC] 1:k8s集群的安装 1.1 k8s的架构 除了核心组件,还有一些推荐的Add-ons...
    Zh_bd92阅读 4,446评论 0 0
  • 推荐指数: 6.0 书籍主旨关键词:特权、焦点、注意力、语言联想、情景联想 观点: 1.统计学现在叫数据分析,社会...
    Jenaral阅读 11,019评论 0 5