云原生学习笔记(一)

基础设施向云演进的意义

基础设施一致性和可靠性

1、容器镜像
2、自包含
3、可漂移

简单可预测的部署与运维

1、自描述、自运维
2、流程自动化
3、容易水平扩展
4、可快速复制的管控系统与支撑组件

容器与镜像

容器

进程可见、可相互通信
共享同一份文件系统:对已有的数据进行增删改;进程间可能会冲突;物理机资源抢占的问题

资源视图隔离 - namespace
控制资源使用率 - cgroup
独立的文件系统 - chroot

容器,是一个视图隔离、资源可限制、独立文件系统的进程集合

视图隔离 - 如能看见部分进程;独立主机名 等等;
控制资源使用率 - 如2G内存;CPU个数 等等;

镜像

运行容器所需要的所有文件集合 - 容器镜像
Dockerfile - 描述镜像构建步骤
分层
复用
构建步骤所产生出文件系统的变化 - changeset

类似disk snapshot
提高分发效率,减少磁盘压力

如何构建镜像

编写Dockerfile - app:v1
docker build -t app:v1
docker registry - 镜像数据的存储和分发
docker push app:v1

如何运行容器

1、从docker registry下载镜像 - docker build busybos:1.25
2、查看本地镜像列表 - docker images
3、选择相应的镜像并运行 - docker run [-d] --name demo busybody:1.25 top
一次构建,到处运行

容器生命周期

单进程模型

1、init进程生命周期 = 容器生命周期
2、运行期间可运行 exec 执行运维操作

数据持久化

1、独立于容器的生命周期
2、数据卷 - docker volume vs bind

-v 挂载容器内路径到本地目录【有一定的运维成本】

容器项目的架构

moby容器引擎架构

containerd

1、容器运行时管理引擎,独立于 moby daemon
2、containerd-shim 管理容器生命周期,可被containerd动态接管

容器运行时

1、容器虚拟化技术方案
2、runC kata gVisor

容器vsVM

posted @ 2021-03-27 14:46  Hei蛋炒饭  阅读(106)  评论(0编辑  收藏  举报