云原生技术学习笔记(基础版)

一、容器基本概念

容器运行时,多种虚拟化技术,runC、kata、gVisor等。containerd -shim不是个lib,是个守护进程,管理容器生命周期,可被containerd动态接管。

(可以从containerd中脱离出来,插件化管理)

容器引擎架构

有状态数据不能随容器删除丢失,挂在卷来持久化。

二、K8S核心概念

1、K8S——自动化容器编排平台:部署、弹性、管理。

核心功能:服务发现与负载均衡、容器自动装箱、存储编排、自动容器恢复、自动发布与回滚、配置与密文管理、

批量执行、水平伸缩。

调度:调度器(组件)将容器装到集群的某一台机器上

2、K8S架构

k8s中所有的内容都抽象为资源, 资源实例化之后,叫做对象。在k8s中,一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为资源清单

    • Master

用户不会直接与Node交互,通过master

master主要4个组件

api server:所有组件都跟api server进行连接,组件间一般不独立连接,通过api server传送消息 。本身可以水平扩展

控制器:集群状态的管理,自动修复、水平扩张。可以热备

调度器:完成调度操作。只有一个active,可以热备。

分布式存储:etcd本身是高可用系统。

    • Node

运行pod的组件是Kublet,Node中最关键的组件。每个node都会运行这几个组件:

通过api sever接收到需要pod运行状态的指令 ,提交到container runtime组件中,在OS中创建容器运行所需的环境,把容器运行起来。

kubelet不会直接对网络、存储进行操作,靠插件进行操作,厂商写网络插件、存储插件,真正进行操作。

在kubernetes中也有它自己的network,为提供service network进行组网。真正完成service组网的组件是kube-proxy。

  1. 一次调度pod执行操作

3、K8S核心概念与API

    • pod:最小调度及资源单元,一个多个容器组成。

定义容器运行的方式(Command、环境变量等),提供给容器共享的运行环境(网络、进程空间)

    • Volume(管理K8S存储)

  • 声明在Pod中的容器可访问的文件目录。一个卷可被挂载在pod中一个或多个容器的指定路径下。

  • (是个抽象的概念)支持多种后端存储的抽象:本地存储、分布式存储、云存储。

    • Deployment

pod上层的抽象,定义一组pod的副本数目、版本等。一般用deployment做应用的管理。

  • 通过控制器维持pod的数目(自动恢复失败的pod)

  • 通过控制器以指定的策略 控制版本(版本升级、重新生成、回滚等)

    • Service

提供访问一个或多个pod实例的稳定访问地址。(用户想访问一个固定 的VIP,而不像要各容器的IP。负载均衡)

实现service有多种方式:ClusterIP,NodePort,LoadBalancer

    • Namespaces

一个集群内部的逻辑隔离机制(鉴权、资源额度)每个资源pod,deployment、service都属于一个namespace。

三、pod与容器设计模式

所有“设计模式”的本质都是:解耦和重用。

容器本质是一个视图被隔离、资源首先的进程。

容器里PID=1的进程就是应用本身。(管理虚拟机= 管理基础设施;管理容器 = 直接管理应用本身)

K8S——云时代操作系统,容器镜像——软件安装包。容器——进程,pod——进程组。

1、pod设计的原因

亲密关系- 调度解决

  • 两个应用需要运行在同一台宿主机上

超亲密关系-Pod 解决

  • 会发生直接的文件交换

  • 使用localhost或者Socket文件进行本地通信

    • 0
      点赞
    • 1
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

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

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

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值