《深入剖析Kubernetes》总结三:Kubernetes架构

Kubernetes架构一个正在运行的 Linux 容器可以被“一分为二”地看待:一组联合挂载在 /var/lib/docker/aufs/mnt 上的 rootfs,这一部分可以称为“容器镜像”(Container Image),是容器的静态视图;一个由 Namespace+Cgroups 构成的隔离环境,这一部分可以称为“容器运行时”(Container Runtime),是容器的动态视图Kubernetes关心的是“容器镜像”架构由 Master 和 Node 两种节点组成
摘要由CSDN通过智能技术生成

Kubernetes架构

一个正在运行的 Linux 容器可以被“一分为二”地看待:

  1. 一组联合挂载在 /var/lib/docker/aufs/mnt 上的 rootfs,这一部分可以称为“容器镜像”(Container Image),是容器的静态视图;
    1. 一个由 Namespace+Cgroups 构成的隔离环境,这一部分可以称为“容器运行时”(Container Runtime),是容器的动态视图

Kubernetes关心的是“容器镜像”

  • 架构
    在这里插入图片描述
    由 Master 和 Node 两种节点组成,分别对应着控制节点和计算节点

控制节点(Master):由负责 API 服务的 kube-apiserver(整个集群的持久化数据,也由 kube-apiserver 处理后保存在 Ectd 中)、负责调度的 kube-scheduler,以及负责容器编排的 kube-controllermanager组成,在kubeadm这种部署方式中,一个组件以一个Pod形式被部署

计算节点(Node):

kubelet主要负责同容器运行时(比如 Docker 项目)打交道,使用 CRI(Container Runtime Interface),接口,该接口定义了 容器运行时的各项核心操作,比如启动一个容器需要的所有参数

OCI:具体的容器运行时,比如 Docker 项目,一般通过 OCI 这个容器运行时规范同底层的 Linux 操 作系统进行交互,即:把 CRI 请求翻译成对 Linux 操作系统的调用(操作 Linux Namespace 和 Cgroups 等)。

gRPC:和 Device Plugin进行交互。该插件是 Kubernetes 项目用来管理 GPU 等宿主机物理设备的主要组件,也是基于 Kubernetes 项目进行机器学习训练、高性能作业支持等工作必须关注的功能

CNI:调用网络插件为容器配置网络

CSI:调用存储插件为容器配置持久化存储

  • 核心理念

声明式API: API 对应的“编排对象”和“服务对象”,都是 Kubernetes 项目中的 API 对象(API Object)。
首先,通过一个“编排对象”,比如 Pod、Job、CronJob 等,来描述你试图管理的应用;
然后,再为它定义一些“服务对象”,比如 Service、Secret、Horizontal Pod Autoscaler(自 动水平扩展器)等;这些对象,会负责具体的平台级功能。

容器间的关系

Pod:最基础的一个对象,Pod 里的容器共享同一个 Network Namespace、同一组数据卷,从而达到高效率交换信息的目的,可以将交互密切的容器放在同一个Pod里,可以等价为一个应用

Service:解决不同服务的交互问题,比如 Web 应用与数据库之间的访问关系;
给 Pod 绑定一个 Service 服务,而 Service 服务声明的 IP 地址等信息是固定的,Service 服务的主要作用就是作为 Pod 的代理入口(Portal),从 而代替 Pod 对外暴露一个固定的网络地址。 这样,对于 Web 应用的 Pod 来说,它需要关心的就是数据库 Pod 的 Service 信息,而Service 后端真正代理的 Pod 的 IP 地址、端口等信息的自动更新、维护,则是 Kubernetes 的职责。

Deployment:Pod多实例管理器,能一次启动多个应用的实例

容器的形态

Secret:是一个保存在 Etcd 里的键值对数据。把 Credential(数据库的用户名和密码)信息以 Secret 的方式存在 Etcd 里,Kubernetes 就会在指定的 Pod启动时,自动把 Secret 里的数据以 Volume 的方式挂载到容器里

Job:基于 Pod 改进后的对象,用来描述一次性运行的 Pod(比如,大数据任务)

DaemonSet:用来描述每个宿主机上必须且只能运行一个副本 的守护进程服务

Cronjob:用于描述定时任务
在这里插入图片描述
与Linux对比:(图源《趣谈Linux》)
在这里插入图片描述

使用

Kubernetes 推荐的使用方式,是用一个 YAML 文件来描述你所要部署的 API 对象。然 后,统一使用 kubectl apply 命令完成对这个对象的创建和更新操作

Kubernetes API 对象往往由 Metadata 和 Spec 两部分组成;
Metadata 的字段是 API 对象 的“标识”,即元数据,也是从 Kubernetes 里找到这个对象的主要依据,其中最主要 用到的字段是 Labels,是一组 key-value 格式的标签,而像 Deployment 这样的控制器对象,就可以通过这个 Labels 字段从 Kubernetes 中过滤出它所关心的被控制对象;
Spec存放属于这个对象独有的定义,用来描述它所要表达的功能,比如容器想要使用的数据卷Volume

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes指南-倪朋飞.pptx 1-唐继元Kubernetes Master High Availability 高级实践.pdf 2、刘淼-基于 DevOps、微服务及k8s的高可用架构探索与实现.pdf ArchSummit北京2016-《网易蜂巢基于万节点Kubernets支撑大规模云应用实践》-刘超.pdf Azure Service Broker_cn - Rita Zhang.pdf google/ HPE李志霄 Kubernetes企业级容器云:加速数字创新-20170407.pdf IBM马达:Kubernetes 中基于策略的资源分配.pdf k8s资料.rar Kubernetes Cookbook-Packt Publishing(2016).pdf Kubernetes Microservices with Docker-Apress2016.pdf Kubernetes on Azure - Gabe Monroy.pdf Kubernetes1.6集群部署完全指南——二进制文件部署开启TLS基于CentOS7.pdf Kubernetes1-4版本新增加功能介绍.pdf Kubernetes监控与日志.pdf kubernetes容器云平台实践-李志伟v1.0.pdf Kubernetes生态系统现状报告.pdf Kubernetes下API网关的微服务实践 长虹集团-李玮演讲PPT.pdf Kubernetes与EcOS的碰撞结合 成都精灵云-张行才演讲PPT.pdf Kubernetes与OpenStack融合支撑企业级微服务架构.pdf Kubernetes在华为全球IT系统中的实践.pdf Kubernetes在企业中的场景运用及管理实践.pdf Kubernetes指南-倪朋飞.pdf Kubernetes指南-倪朋飞.pptx l.txt Lessons+learned+and+challenges+faced+while+running+Kubernetes+at+scale.pdf rkt与Kubernetes的深度融合.pdf rkt与Kubernetes的深度融合.pptx SACC2017FabricOnKubernetesChinese.pdf ThoughtWorks林帆-白话Kubernetes网络.pdf 百度云PaddlePaddle on kubernetes-周倜.pdf 从Borg到Kubernetes-PaaS产品设计-华为-钟成.pdf 改造Kuberntetes打造SAE容器云.pdf 跟谁学-基于容器的持续集成平台建设.pdf 谷歌深度学习在Kubernetes上的实践.pptx 惠普基于Kubernetes的容器私有云平台实践.pdf 基于Kubernetes的模板化应用编排.pdf 基于kubernetes的容器云平台设计与实践-邓德源.pdf 基于Kubernetes的私有容器云建设实践-易宝支付.pdf 基于Kubernetes构建AI业务生态.pdf 李波:小米生态云应用引擎实践.pdf 魅族容器云平台基于 k8s 的自动化运维实践-曾彬.pdf 欧昌华-基于 Nginx 的负载均衡器在 K8S 中的实践.pdf 彭超:瓜子云的落地.pdf 如何落地TensorFlow on Kubernetes.pdf 如何用OpenStack和Kubernetes快速搭建一个容器和虚拟机组合服务的云平台.pptx 孙杰:大型企业云平台架构演进的实践之路.pdf 微服务道与术-敖小剑.pdf 微软Azure云助力微服务-赵文婧.pdf 颜卫-腾讯云容器服务基于kubernetes的应用编排实践-final-v1.0.pptx 有容云邓绍军-Kubernetes落地实践.pptx 折800如何用Docker&Kubernetes;构建自动化测环境.pdf

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值