小学生都能看懂系列 - 容器,容器管理系统

相关文章:小学生都能看懂系列 - 容器,容器管理系统

小学生都能看懂系列 - 容器,容器管理系统

容器

简单来说,容器主要做了两件事情:

  1. 容纳了微服务或软件
  2. 提供了微服务或软件所需的依赖(dependencies)和配置(config)

容器(Container)是镜像(Image)的实例。为方便理解,可以用以下的三对概念做类比:

镜像
容器
实例
猫咪
我家猫咪Pepe

Docker

⚠️容器(Container)是概念,而Docker是实现该概念的工具。如果这是你第一次听说Docker,那么我们用灵魂三连问来学习下:

DevOps灵魂三连问:

  1. 所属概念?容器(Container)
  2. 概念的目的?封装应用程序,以及程序所需的完整的运行环境(依赖和设置等)
  3. 工具是如何实现所属概念的?Docker公司的Docker是一组平台即服务 (PaaS) 产品,使用容器进行应用程序交付。这是实现容器化的其中一种工具而已!!

如何用Docker创建容器

Docker提供了一个包含了超多镜像的数据库DockerHub。大多数容器所需的镜像都能在DockerHub找到。请添加图片描述

  1. 下载镜像:以mysql镜像为例,细节页中可以看到从DockerHub下载该镜像的使用方法:
docker pull mysql
  1. 从镜像创建容器:
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

容器管理系统

Kubernetes(k8s)和OpenShift(OC)都是用于自动部署、扩展和管理“容器化应用程序”的系统。比如下面的示意图中,Cluster上(k8s或者oc的)

k8s vs OC

Redhat公司发布的OpenShift是基于Kubernetes的付费产品,所以OC更稳定,安全,并提供一些额外功能。

性质k8soc
性质开源产品Redhat公司提供的付费产品
安全性- 基于角色的访问控制 (RBAC)
- 基于角色的访问控制 (RBAC)
- 安全上下文约束 (SCC)
网络用户界面需要自己安装一个k8s Dashboard自带网页用户界面
部署方法使用Deployment对象使用DeploymentConfig对象
CI/CD没有提供官方的创建CI/CD管道的办法提供官方的Jenkins CI/CD管道
集成镜像数据库

容器&容器管理系统

示例图中,一个k8s/oc的cluster上有几个node,每个node中可以容纳一个或多个Pod,每个Pod中可以容纳一个或多国容器,每个容器可以使用不同的镜像。

比如最最右边的node中,包含三个Pod,每个Pod中都包含一个容器,这些容器分别使用了nginx,mysql和node的镜像。我们可以用node的容器跑一个reactJS的电商网站,nginx跑一个strapi的写Dashboard给商家管理商品和库存,从而向mysql的容器中包含的数据库进行写入。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值