文章目录

  • 容器化概念
    • 视图隔离
    • 资源隔离
    • Docker
      • 镜像(Image)
      • 容器(Container)
      • 镜像仓库
  • 容器编排
    • 容器编排
    • TKE

容器化概念

容器化的本质是一个“视图隔离、资源受限”的进程运行环境,运行在该环境(容器内)的进程可以理解为是被操作系统附加了很多属性的进程,本质上还是操作系统的标准进程。

视图隔离

资源隔离

Docker

docker是一种Linux容器技术,容器由单个操作系统通过资源管理划分,把资源管理
划分到相互隔离的组中,每个容器运行一个运行一个应用,不同的容器之间相互隔离,互不影响。

docker有如下3个基本概念,分别为

  1. 镜像
  2. 容器
  3. 镜像仓库

镜像(Image)

操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而Docker 镜像(Image),就相当于是一个 root 文件系统。

Docker image是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。 镜像不包含任何动态数据,其内容在构建之后也不会被改变,因此镜像是一个静态的定义。

容器(Container)

容器可以简单理解为image的运行态,是一个动态的定义。可以类比操作系统的程序和进程,程序是静态的,运行起来就是进程,是动态的。容器本质上是操作系统中的标准进程,可以被创建,启动,停止,删除等。

镜像仓库

镜像仓库是用于集中统一存储镜像的地方,比如某个镜像要在多台CVM上运行,则这些CVM上的docker client会主动去镜像仓库,把对应的镜像拉取到本地进行运行。

容器编排

docker主要解决的是保证开发生产环境强一致、资源隔离、在任何地方运行、轻量化的痛点。但是如下几个问题需要考虑:
场景:给你1000台CVM

  1. 如果要同时在1000台上部署某个容器,该怎么处理?

  2. 如果只需要在500台CVM上运行某个容器,这500台CVM该如何选择?

  3. 如果一台机上运行了上百个容器,这些容器该如何运维以及管理?

  4. 如果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的编排调度,控制其副本数、对外服务、调度策略等。

【容器化】浅析容器化以及容器编排相关推荐

  1. Docker容器化实战第七课 容器编排Docker Compose、Docker Swarm 和 Kubernetes

    19 如何使用 Docker Compoe 解决开发环境的依赖? 前两个模块,我们从 Docker 的基本操作到 Docker 的实现原理,为你一步一步揭开了 Docker 神秘的面纱.然而目前为止, ...

  2. 4 个场景揭秘,如何低成本让容器化应用 Serverless 化?

    作者 | changshuai FaaS 的门槛 Serverless 形态的云服务帮助开发者承担了大量复杂的扩缩容.运维.容量规划.云产品打通集成等责任,使得开发者可以专注业务逻辑.提高交付速度 ( ...

  3. 容器大小_无根容器内部结构浅析

    随着云计算的发展,容器变得越来越流行,同时也产生了实现容器的新方案,其中之一就是无根容器.本文介绍了无根容器的内部结构,并分析了无根容器网络组件中的漏洞. 随着云计算的发展,容器变得越来越流行,同时也 ...

  4. 2021 阿里云容器服务年度盘点:企业级容器应用变化和技术趋势观察

    作者:溪洋 在云原生浪潮的推动下,容器和 Kubernetes 技术和应用发展迅猛.最近,云原生计算基金会 CNCF 发布了与 SlashData 联手撰写的 最新版<云原生开发现状报告> ...

  5. sql docker容器_了解SQL Server Docker容器中的备份和还原操作

    sql docker容器 In this 17th article of the series (see the full article index at bottom), we will disc ...

  6. Web容器(一):Web容器简介

    本文参照:极客时间-<深入拆解 Tomcat & Jetty>-开篇词 | Java程序员如何快速成长 + 01_Web容器学习路径 Web容器 Web技术的发展史 早期的Web应 ...

  7. 连续3年入围 Gartner 容器竞争格局,阿里云容器服务新布局首次公开

    连续3年入围 Gartner 容器竞争格局,阿里云容器服务新布局首次公开 https://www.toutiao.com/i6950935574450684423/?tt_from=weixin&am ...

  8. docker容器网络 - 同一个host下的容器间通信

    2019独角兽企业重金招聘Python工程师标准>>> 对于复杂的应用,不可避免需要多个服务部署在多个容器中,并且服务间存在相互间通信的情况.比如服务A需要连接mysql的容器.本文 ...

  9. docker网络问题解决办法“大全”:关于宿主机访问不了docker容器中web服务,或者容器内访问不了外网的问题的解决办法

    docker网络问题解决办法"大全":关于宿主机访问不了docker容器中web服务,或者容器内访问不了外网的问题的解决办法 参考文章: (1)docker网络问题解决办法&quo ...

  10. vs 服务容器中已存在服务_容器中某Go服务GC停顿经常超过100ms排查

    GC停顿经常超过100ms 现象有同事反馈说,最近开始试用公司的Kubernetes,部署在Docker里的Go进程有问题,接口耗时很长,而且还有超时.逻辑很简单,只是调用了KV存储,KV存储一般响应 ...

最新文章

  1. 【转】STO跨公司转储流程
  2. 安装adobe acrobat导致回滚
  3. imagej链接资源
  4. 高通芯片曾被发现一重大漏洞 影响骁龙845等30多款芯片
  5. centos 宝塔面版 运行 thinkjs
  6. 如何为XAF设置默认属性值?
  7. python 验证码
  8. springboot医疗管理系统毕业设计源码015221
  9. 用JAVA做一个简单的画图软件
  10. 图片调整大小后变得不清晰了怎么办?
  11. python画椭圆turtle_用python-turtle优雅的画椭圆
  12. nRF5340开发指南目录汇总
  13. linux环境变量LIBRARY_PATH和LD_LIBRARY_PATH
  14. JAVA默认永久代大小_jvm——metaspace代替永久代
  15. 【Linux】红帽子安装过程超详细(学生教学用)
  16. arthes—线上debug好帮手
  17. 电子防盗标签 之二:声磁软标签 《转》
  18. this.$refs.proup is not a function
  19. 如何解释“运维到底是干啥的”?
  20. 字符串的方法练习------Python篇

热门文章

  1. 高可用架构:异地多活
  2. 工控网关linux用什么芯片,重庆工控嵌入式主板原理,工业网关怎么挑
  3. 贝叶斯视角下的机器学习
  4. 技术栈中的爱马仕?Facebook发布全新JavaScript引擎:Hermes
  5. 【报错解决】telnet时报错:无法打开到主机的连接,在端口23连接失败
  6. tmux命令启动MySQL_程序后台运行的几种方法
  7. Git入门之日志和版本回退
  8. 留个档,C# AlphaBlend,带Alpha通道的图片的叠加
  9. 数据移动指令-----mov,lea,xchg
  10. JavaSE 软件工程师 认证考试试卷3