【容器化】浅析容器化以及容器编排
文章目录
- 容器化概念
- 视图隔离
- 资源隔离
- Docker
- 镜像(Image)
- 容器(Container)
- 镜像仓库
- 容器编排
- 容器编排
- TKE
容器化概念
容器化的本质是一个“视图隔离、资源受限”的进程运行环境,运行在该环境(容器内)的进程可以理解为是被操作系统附加了很多属性的进程,本质上还是操作系统的标准进程。
视图隔离
资源隔离
Docker
docker是一种Linux容器技术,容器由单个操作系统通过资源管理划分,把资源管理
划分到相互隔离的组中,每个容器运行一个运行一个应用,不同的容器之间相互隔离,互不影响。
docker有如下3个基本概念,分别为
- 镜像
- 容器
- 镜像仓库
镜像(Image)
操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而Docker 镜像(Image),就相当于是一个 root 文件系统。
Docker image是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。 镜像不包含任何动态数据,其内容在构建之后也不会被改变,因此镜像是一个静态的定义。
容器(Container)
容器可以简单理解为image的运行态,是一个动态的定义。可以类比操作系统的程序和进程,程序是静态的,运行起来就是进程,是动态的。容器本质上是操作系统中的标准进程,可以被创建,启动,停止,删除等。
镜像仓库
镜像仓库是用于集中统一存储镜像的地方,比如某个镜像要在多台CVM上运行,则这些CVM上的docker client会主动去镜像仓库,把对应的镜像拉取到本地进行运行。
容器编排
docker主要解决的是保证开发生产环境强一致、资源隔离、在任何地方运行、轻量化的痛点。但是如下几个问题需要考虑:
场景:给你1000台CVM
如果要同时在1000台上部署某个容器,该怎么处理?
如果只需要在500台CVM上运行某个容器,这500台CVM该如何选择?
如果一台机上运行了上百个容器,这些容器该如何运维以及管理?
如果CVM出现故障,大量容器需要迁移,该如何处理?
为解决上述提到的种种问题,引申出一系列容器化的管理问题,即容器编排。
容器编排
容器编排是对容器的整个生命周期进行管理,包含容器管理、调度、集群定义和服务发现等,通过容器编排引擎、容器被组合成微服务应用,目前常见的容器编排技术有2种,一个是docker swarm,另外一个是K8S。
TKE
腾讯云容器服务(Tencent Kubernetes Engine,TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,解决用户开发、测试及运维过程的环境问题、帮助用户降低成本,提高效率。容器服务平台完全兼容原生 Kubernetes API, 并扩展了 CBS、CLB 等 Kubernetes 插件,实现了高可靠、高性能的网络方案。
TKE集群与CVM的关系如下,下图是一个完整的TKE集群架构,由MASTER集群+NODE集群组成。
节点(NODE):节点是组成容器集群的基本元素。节点取决于业务,可以为虚拟机或物理机。每个节点都包含运行 Pod 所需要的基本组件,包括 Kubelet、Kube-proxy 等。
容器(Container):Docker 容器旨在让用户在相对独立的环境中运行独立的程序,一个节点可运行多个容器。
镜像(IMAGE):Docker 镜像用于部署容器服务,每个镜像有特定的唯一标识(镜像的 Registry 地址+镜像名称+镜像 Tag)。
实例(Pod):由相关的一个或多个容器构成一个实例,这些容器共享相同的存储和网络空间。
镜像仓库:用于存放 Docker 镜像,Docker 镜像用于部署容器服务。
集群:指容器运行所需云资源的集合,包含若干云服务器CVM、CLB等云资源集合。
容器集群(Node集群):由若干NODE节点组成的集群。
MASTER集群:管理整体TKE集群调度编排的集群。
TKE通过不同的控制器类型,如deployment、service等,可以实现对POD的编排调度,控制其副本数、对外服务、调度策略等。
【容器化】浅析容器化以及容器编排相关推荐
- Docker容器化实战第七课 容器编排Docker Compose、Docker Swarm 和 Kubernetes
19 如何使用 Docker Compoe 解决开发环境的依赖? 前两个模块,我们从 Docker 的基本操作到 Docker 的实现原理,为你一步一步揭开了 Docker 神秘的面纱.然而目前为止, ...
- 4 个场景揭秘,如何低成本让容器化应用 Serverless 化?
作者 | changshuai FaaS 的门槛 Serverless 形态的云服务帮助开发者承担了大量复杂的扩缩容.运维.容量规划.云产品打通集成等责任,使得开发者可以专注业务逻辑.提高交付速度 ( ...
- 容器大小_无根容器内部结构浅析
随着云计算的发展,容器变得越来越流行,同时也产生了实现容器的新方案,其中之一就是无根容器.本文介绍了无根容器的内部结构,并分析了无根容器网络组件中的漏洞. 随着云计算的发展,容器变得越来越流行,同时也 ...
- 2021 阿里云容器服务年度盘点:企业级容器应用变化和技术趋势观察
作者:溪洋 在云原生浪潮的推动下,容器和 Kubernetes 技术和应用发展迅猛.最近,云原生计算基金会 CNCF 发布了与 SlashData 联手撰写的 最新版<云原生开发现状报告> ...
- sql docker容器_了解SQL Server Docker容器中的备份和还原操作
sql docker容器 In this 17th article of the series (see the full article index at bottom), we will disc ...
- Web容器(一):Web容器简介
本文参照:极客时间-<深入拆解 Tomcat & Jetty>-开篇词 | Java程序员如何快速成长 + 01_Web容器学习路径 Web容器 Web技术的发展史 早期的Web应 ...
- 连续3年入围 Gartner 容器竞争格局,阿里云容器服务新布局首次公开
连续3年入围 Gartner 容器竞争格局,阿里云容器服务新布局首次公开 https://www.toutiao.com/i6950935574450684423/?tt_from=weixin&am ...
- docker容器网络 - 同一个host下的容器间通信
2019独角兽企业重金招聘Python工程师标准>>> 对于复杂的应用,不可避免需要多个服务部署在多个容器中,并且服务间存在相互间通信的情况.比如服务A需要连接mysql的容器.本文 ...
- docker网络问题解决办法“大全”:关于宿主机访问不了docker容器中web服务,或者容器内访问不了外网的问题的解决办法
docker网络问题解决办法"大全":关于宿主机访问不了docker容器中web服务,或者容器内访问不了外网的问题的解决办法 参考文章: (1)docker网络问题解决办法&quo ...
- vs 服务容器中已存在服务_容器中某Go服务GC停顿经常超过100ms排查
GC停顿经常超过100ms 现象有同事反馈说,最近开始试用公司的Kubernetes,部署在Docker里的Go进程有问题,接口耗时很长,而且还有超时.逻辑很简单,只是调用了KV存储,KV存储一般响应 ...
最新文章
- 【转】STO跨公司转储流程
- 安装adobe acrobat导致回滚
- imagej链接资源
- 高通芯片曾被发现一重大漏洞 影响骁龙845等30多款芯片
- centos 宝塔面版 运行 thinkjs
- 如何为XAF设置默认属性值?
- python 验证码
- springboot医疗管理系统毕业设计源码015221
- 用JAVA做一个简单的画图软件
- 图片调整大小后变得不清晰了怎么办?
- python画椭圆turtle_用python-turtle优雅的画椭圆
- nRF5340开发指南目录汇总
- linux环境变量LIBRARY_PATH和LD_LIBRARY_PATH
- JAVA默认永久代大小_jvm——metaspace代替永久代
- 【Linux】红帽子安装过程超详细(学生教学用)
- arthes—线上debug好帮手
- 电子防盗标签 之二:声磁软标签 《转》
- this.$refs.proup is not a function
- 如何解释“运维到底是干啥的”?
- 字符串的方法练习------Python篇