IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Devops导论学习笔记(中) -> 正文阅读

[系统运维]Devops导论学习笔记(中)

容器技术基础

容器其实就是操作系统当中的一个进程。DockerEngine本质上也是个进程,它和虚拟化技术最大的不同在于它复用了host操作系统。

Docker主要包括两方面技术:

1、和运行态(容器)技术相关的:可以有效分配物理资源,通过cgroup来实现。可以实现资源的隔离,需要用到namespace(比如进程空间、网络空间)。

2、镜像:将软件制品及其对操作系统的依赖整个打包成镜像。从系统环境开始自下而上打包应用。同样的镜像在不同的环境,其表现是一致的,因为它打包了所有的依赖。

进程隔离:os中有一颗进程树,里面会包含根进程及其fork出来的子进程。当容器启动时,通过namespace进行隔离后,它看到自己就是个根进程,pid为1,但其实在os中,该进程pid不为1.

要运行docker应用时,都必须首先安装docker engine。它是一个典型的C/S模式的应用。服务端为docker daemon,客户端直接通过curl调用REST API,比如docker login,docker ps等等。同时对REST API做了一层封装,称为docker CLI,即command line man tool。docker daemon会对network、container、image、volumes进行管理。用户可以通过docker run来运行容器、可以通过docker ps 来查看。背后都是使用REST API和CLI和docker daemon进行交互,docker daemon相当于守护进程。

?

?from:拉的基础镜像? ? copy:将文件拷贝到自己的进程? run:要执行的命令? cmd:镜像变成容器启动时执行的命令? ?label:指定工作目录

通过四条命令会生成四个layer,镜像变成容器启动时又会变出两个layer。所有在容器的写操作都是在读写层操作。同时容器也允许将主机上的文件系统mount到容器里。

docker网络模式之bridge模式,docker daemon会创建出一个网桥,容器内部有自己网络空间,通过网桥和主机网络空间进行交互,容器内部有自己的ip。?

docker网络模式之host模式。容器内的网络空间共享了host的网络空间,不通过bridge。容器的ip就是主机的ip,容器的端口就是主机的端口。

?

?docker网络模式之container网络模式。A容器有自己的网络空间,B容器共享A的网络空间。B容器的所有流量都是通过A容器的网络和外部进行交互,不会有独立的网络空间。

none模式没有任何网络,无法进行配置,通常用于特殊场景。

容器会使用一些特殊的文件系统,除了主机的诸如ext文件格式外,需要另外的文件格式,如AUFS等。对不同的驱动,适用于不同的场景。图中给出了不同存储驱动的特点。

?构建步骤:

1、写一个docker file

2、执行docker build 命令

3、通过docker run运行。

还可以通过运行一些其他命令。。。

容器编排与调度

在生产环境中,通常会遇到不同服务间的调用,以及数据库的调用。容器的应用又是分布式的架构,应用分成不同的组件,以服务的形式在容器中通过api对外提供服务。为了保证高可用,每个组件运行多个副本,每个服务会跑多个示例。容器会组成集群,集群中的容器会根据业务的需要动态创建和销毁。这样,系统成为了一种动态的可伸缩的系统,需要进行容器的编排。

容器的编排包括容器的管理、调度、集群的定义、服务的发现等等。根据编排引擎,容器会被组成不同的cluster,去实现业务的需求。

K8S的理论基础为谷歌的Borg,是一个容器调度编排系统。

?K8S的几个核心概念:

POD:一组容器的集合,共享网络空间和存储,对外共享ip,每个容器可以有自己的端口。表示一组比较紧密的容器。在pod之上会有kubelet进行管理。

服务:对外,需要做一个内外映射。

node:节点,分为work node和master node。master node承载了api server等等,背后的状态数据会存在ETCD里面。

job:含有生命周期。

daemon:长时间运行的服务。类似于操作系统中deamon的进程。

还可以为主机或者pod打label用于做选择。

Docker和Devops

在交付的流程中,原来交付的是代码。通过容器,可以将应用交付的标准统一到容器之上,以标准交付件的形式,实现跨阶段的标准化发布流程。可以确保一致的交付物贯穿整个的开发测试运维的场景。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-12 19:59:45  更:2021-11-12 20:02:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:51:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码