首页
正文
2018/04/25

Docker在手,做一名IT刀客何难之有?

贺瑞良



点击“戴尔企业级解决方案”快速订阅

“

PC时代我们拼什么?

当然是CPU主频高低和内存大小。

云计算时代我们拼什么?

当然是虚拟化技术哪方强。

虚拟化通过硬件模拟或操作系统实现,

而技术的迭代往往要面临

新旧技术大斗法的局面,

近年来又出现了一个新玩家,

前方高能预警!

因为容器虚拟化要不动声色地攻略你了。

”


Docker容器·科普向


简单来说,我们可以把Docker容器理解为一种沙盒。每个容器内运行一个应用,不同的容器相互隔离,并且每个容器之间还可以建立通信机制。容器的创建和停止都十分快速,容器自身对资源的需求也十分有限,远远低于虚拟机。


Docker容器概念图


举个例子,假设用户使用Linux+Apache+MySql组合来运维一个网站,按照传统的做法,需要先安装Linux,然后是Apache,再然后是MySql,还要对它们进行配置,以及验证是否工作正常,如果应用再变多,事情将会变得更加难以处理。服务器一旦迁移(从一个云到另一个云),极大可能需要重新部署和调试。


而容器提供更快捷方便的方式,通过容器来打包应用,迁移的话只需要在新的服务器启动需要的容器即可,不仅节省了时间,还提高了效率。


Docker入门三大组件: 镜像、容器、仓库的概念。


Docker镜像

Docker镜像类似于虚拟机镜像,可以将它理解为一个面向Docker引擎的只读模板,保护了文件系统。


一个镜像可以只包含一个完整的Linux操作系统环境,可以把它称为一个Linux系统镜像。镜像也可以安装某一个应用程序,可以把它称为某一个应用镜像。


使用者可以从网上下载一个已经做好的应用镜像,通过简单的命令就可以直接使用。


Docker Container

容器是从镜像创建的应用运行实例,可以将其启动、开始、停止、删除,而这些容器都是相互隔离、互不可见的。


镜像自身是只读的,容器从镜像启动的时候,Docker会在镜像的最上层创建一个可写层,镜像本身将保持不变。


Docker 仓库

Docker仓库类似于代码仓库,是Docker集中存放镜像文件的场所。


目前,最大的公开仓库是Docker Hub:https://hub.docker.com/ 。网站上存放了数量庞大的镜像供用户下载。



我为Docker打call的四个理由


从上面我们已经大概了解到了Docker的好处,下面小编为大家详细讲述我为何要替Docker疯狂打call的四大理由。

更快速的交付和部署。利用容器技术,开发人员可以使用镜像来快速构建一套标准的开发环境;然后可以快速创建和删除容器,实现快速迭代,大量节约开发、测试、部署的时间。

更高效的利用资源。容器是轻量级的虚拟化,可以实现更高的性能,同时对资源的额外需求很低,一些云厂商CPU过卖比可以达到1:25,而虚拟化通常只有1:4或1:8。

更轻松的迁移和扩展。容器可以几乎在任意平台上运行,包括物理机、虚拟机、公有云、私有云、服务器等。

更简单的更新管理。使用Dockerfile, 只需小小的配置修改,就可以替代以往大量的更新工作。


虚拟机与容器:没有对比就没有伤害


下面小编为大家整理了传统虚拟化方式和Docker各自的特性,通过一系列的对比,小编唯有感叹:没有对比就没有伤害!



经过上图的对比我们发现,相比于传统化虚拟方式,Docker要简洁得多。因为Docker Daemon(守护进程)取代了虚拟机管理程序,可以直接与主操作系统进行通信,为各个Docker容器分配资源,也因为没有众多操作系统。因此,Docker还可以节省大量的磁盘空间以及其他系统资源。另外,虚拟机启动需要数分钟,而Docker容器可以达到秒级启动,相比只能支持几十个容器的虚拟机,Docker单机可以支持上千个容器等。


科普完以上内容,我们对Docker的概念及应用也有了初步的认知。是的,Docker很好用,但Docker背后的容器集群如何管理?这就是接下来我们要说的另一个“秘密”了。


基于Kubernetes的容器管理


Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、 扩展机制等功能,利用Kubernetes能方便地管理跨机器运行容器化的应用,其主要功能如下:

使用Docker对应用程序包装(package)、实例化(instantiate)、运行(run)。

以集群的方式运行、管理跨机器的容器。

解决Docker跨机器容器之间的通讯问题。

Kubernetes的自我修复机制使得容器集群总是运行在用户期望的状态。


当前Kubernetes支持GCE、vShpere、CoreOS、OpenShift、Azure等平台,除此之外,也可以直接运行在物理机上。


但在网络组件上Kubernate需要借助第三方插件进行管理,比如calico、flanel等,但这些插件大多都借助VXlan技术,而且网络管理策略少,QOS也很难实现,举个简单的例子:


如果某个分公司要作为一个容器组(namespace),在这个公司内部要对应用进行隔离。比如SqlServer不能同时被多个部门访问,这个细化的网络隔离第三方插件是很难做到的(第三方插件一般以主机为单位)。借助Dell SDN软件定义网络解决方案,可以很轻松的解决这个问题。





Dell软件定义网络(Bigswitch)

Kubernetes安装说明

Dell软件定义网络(Bigswitch)Kubernetes安装的主要流程如下:

-Step0:在所有节点上安装CentOS 7.2;

-Step1:在所有节点上安装IVS;

-Step2:安装 BCF CNI插件;

-Step3:安装 Kubernetes;


-Step1:

安装IVS

1.手动在BCF上设置一个租户及网段,以便进行容器集群的配置。

tenant ContainerMgmtTenant

segment ContainerMgmtSegment

member switch any interface node-port vlan untagged


2.在所有节点上安装配置IVS。


a. 根据BCF的版本选择适宜版本的IVS,在所有节点上安装。


b. 更新文件。

# vi /etc/sysconfig/ivs

DAEMON_ARGS="--syslog --inband-vlan 4092 -u <NIC1> -u <NIC2> --internalport=node-port"

注: 理想情况NIC1及NIC2 应该是你连接BCF的10G NIC接口。


c. 手动设置节点端口的唯一IP。

注:请使用以下ifcfg文件样本进行设置,使分配的IP在重启后依然有效。


# vi /etc/sysconfig/network-scripts/ifcfg-node-port

DEVICE=node-port

ONBOOT=yes

HOTPLUG=no

NM_CONTROLLED=no

PEERDNS=no

TYPE=IVSIntPort

DEVICETYPE=ivs

IVS_BRIDGE=ivs

BOOTPROTO=static

IPADDR=<IP地址>

NETMASK=<网关掩码>


d. 执行下列命令以重启服务并分配接口IP。

i. systemctl daemon-reload

ii. systemctl restart ivs

iii. ifdown node-port

iv. ifup node-port


e. 请记下分配给主节点分配的节点端口IP (本教程中假定为: 10.10.10.2, 10.10.10.3)。


-Step2:

安装BCF CNI插件

1.在所有主节点上安装ETCD集群。


a. 安装etcd:yum install etcd。


b. 安装bridge-utils:yum install bridge-utils。


c. 安装BCF CNI插件:rpm -ivh bcf-cni-<version>.rpm。


d.更新下面文件被标绿的这些地方。

# vi /lib/systemd/system/bcf-etcd.service

ExecStart=/usr/bin/etcd--listen-peer-urls http://0.0.0.0:9122


--listen-client-urls http://0.0.0.0:9121

--data-dir=/var/lib/etcd/bcf

--advertise-client-urls http://0.0.0.0:9121

--initial-cluster-token bcf-etcd-cluster

--initial-cluster-state new

--name master1 ⇐ 当前节点的主机名

--initial-advertise-peer-urls http://10.10.10.2:9122  ⇐ 当前节点的IP地址

--initial-cluster master1=http://10.10.10.2:9122,master2=http://10.10.10.3:9122 ⇐ 所有主节点的主机名及IP地址 (例: 10.10.10.x)


e.防火墙设置开放端口9121及9122:

i) iptables -I INPUT -p tcp --dport 9121 -j ACCEPT

ii) iptables -I INPUT -p tcp --dport 9122 -j ACCEPT


f.使用下列命令启用并运行服务:

i) systemctl daemon-reload

ii) systemctl enable bcf-etcd

iii) systemctl start bcf-etcd


g.继续操作前,请确认bcf-etcd服务已在所有的主节点上正常运行。

# systemctl status bcf-etcd


2.在所有主节点上设置BCF代理。


a.在文件中更新ETCD服务器信息:

# vi /etc/bcf-agent.yaml

etcd_config:

- ip : 10.10.10.2

port: 9121

- ip : 10.10.10.3

port: 9121


b.用下列命令启用并运行服务:

i.systemctl enable bcf-agent

ii.systemctl start bcf-agent


3.在所有一般节点上安装设置BCF-CNI插件。


a.安装bridge-utils: yum install bridge-utils。

b.安装BCF CNI 插件: rpm -ivh bcf-cni-<version>.rpm。

c.在文件中更新ETCD 服务器信息:

# vi /etc/cni/net.d/bcf.conf

{

"name": "bcf",

"type": "bcf",

"etcd_server": "10.10.10.2:9121,10.10.10.3:9121"

}


4.通过一个主节点设置Big Cloud Fabric控制器。


a.在一个主节点上执行下列操作。

i.在文件中更新ETCD 及BCF 信息:

# vi /etc/bcf-config.yaml

etcd_config:

- ip : 10.10.10.2

port: 9121

- ip : 10.10.10.3

port: 9121

bcf_config:

ip : 10.2.3.4 ⇐ BCF 控制集群IP地址 (VIP)

user : admin ⇐ BCF 用户名

passwd : admin ⇐ BCF 密码

origination: cni

tenant : Kubernetes ⇐ 租户名

segments:

- name: nodes ⇐ 网段名

cidr: 10.10.10.1/24 ⇐ 逻辑网段接口IP

- name: default

cidr: 10.10.11.1/24

- name: red

cidr: 10.10.12.1/24

- name: blue

cidr: 10.10.13.1/24

server_hostnames:

- BM1

- BM2 ⇐ 裸机(单租户物理服务器)主机名单-用于自动生成BCF成员规则


ii. 运行: bcf-cfg-ctl /etc/bcf-config.yaml;用于配置BCF控制器的Tenant/Segment/CIDRs。


b.注意: 所有的BCF设置更新必须通过bcf-cfg-ctl命令进行。


-Step3:

安装Kubernetes

请参考此教程:https://kubernetes.io/docs/getting-started-guides/kubeadm/


注意:

1. 跳过步骤(3/4)安装扩展网络。

2. 请使用端点接口的IP地址运行kubeadm:例:kubeadm init --api-advertise-addresses <node-port-ip>



如今,各种虚拟化技术正在加速云计算时代的发展,Docker作为新一代虚拟化技术,正在改善我们开发、测试、部署应用的方式,值得我们为之打call。而戴尔,今后仍将积极拥抱Docker容器,基于戴尔开放式网络以太网交换机,携手更多网络软件合作伙伴,为客户提供自动化与可视化网络服务并有效简化网络运维。


在线咨询
项目咨询
采购咨询专线400-884-6610
订阅偏好享优先通知
热门评论
暂无相关评论
删除回复
回复
删除回复
更多回复
查看全部条评论
{{dataFromApi ? '您是否在找' : '其他企业都在看'}}
{{item.slogan}}
{{item.slogan}}
{{item.title}}
咨询客服获取特惠价{{item.sale}}{{item.price}}{{item.sale}} {{item.price}}
项目咨询
发表评论...
  • 在线客服
    联系客服
    (工作日 08:30-17:30)
  • 项目咨询
  • 采购咨询专线
    400-884-6610
    (工作日 08:30-17:30)
  • 售后咨询专线
    7*24小时客户支持
    400-886-8616
    400-886-8618
取消发送
取消发送
热门评论
删除回复
回复
删除回复
更多回复
暂无相关评论
发表评论...
发送
贺瑞良
删除该评论,是否确认操作?
取消
确认

参与问卷提交即有机会成为幸运用户,

赢取精彩礼品一份,寻找幸运的你,快来参与吧!

立即参与>>
5秒后自动关闭
取消
最近搜索
    热门搜索
    • AI PC
    • 2025新品
    • Dell Pro 笔记本
    • Dell Pro 台式机
    • Dell Pro Max 工作站
    • Dell Pro 显示器
    • 17G 服务器
    • 数据存储
    • 数据保护

    如果您对当前页面内容感兴趣,

    可填写“项目咨询单”,

    进行专业咨询及帮助。

    戴尔企采中心
    戴尔专线客服
    暑期大放价,焕新3.7折起!注册享免费抽奖、0元试用、千元好礼、万元服务、资产回收等。详情咨询在线客服或拨打400-884-6610
    请在这里输入内容
    发送
    管理您的Cookie
    戴尔使用不同类型的 Cookie 来优化您的体验并启用某些网站功能,改善您的整体网页浏览体验。请注意,如果阻止 Cookie,则可能会影响您的网站体验,并可能对我们可提供的服务或功能造成影响。
    基本

    允许用户在我们的网站上移动以及提供访问诸如您的个人资料和购买、登录凭据以及网站其他区域等功能的访问权限。

    营销

    用于了解我们网站上的用户行为,并展示与您的兴趣更相关的广告。

    统计

    通过收集和报告信息,帮助我们了解访问者如何与我们的网站互动。

    * 点击确认按钮或关闭Cookie弹窗代表您已同意以上内容。

    拒绝
    确认
    取消
    确认
    请确认您的邮箱地址,
    我们会发送下载链接至您的邮箱。
    请填写正确邮箱
    您的企业近期是否有采购 IT 产品的计划?
    请选择
    提交并获取下载链接
    提交成功,下载链接已发送到您的邮箱,
    请查收!

    戴尔发布针对AI领域服务器产品

    还剩2页未读

    图片标题

    戴尔发布针对AI领域服务器产品

    批量议价
    填写您的感兴趣的产品及个人信息,提交成功后会有专人与您沟通,为您提供专属底价。
    OptiPlex 3050微塔式机和小型机Tower249020OptiPlex 3050微塔式机和小型机Tower249020OptiPlex 3050微塔式机和小型机Tower249020OptiPlex 3050微塔式机和小型机Tower249020
    为通用型商务应用程序设计的可靠为通用型商务应用程序设计的可靠为通用型商务应用程序设计的可靠
    型号

    8G 1TB SAS H330 DVDRW 495W

    参考价格
    6499.006499.00咨询客服获取特惠价
    意向购买数量
    1
    * 公司名称
    请输入公司名称
    * 姓名
    请输入姓名
    * 手机
    请输入手机
    * 邮箱
    请输入邮箱
    * 需求描述
    请选择
    采购专线
    联系客服
    提交
    *验证码无效
    确认
    全新PowerEdge DSS8840
    DSS8440是一款2路4U服务器,旨在为机器学习应用提供极高的性能,配备多达10个加速器
    PowerEdge DSS840 型号1
    PowerEdge DSS840 型号2

    恭喜您,秒杀成功!

    后续工作人员会与您进行联系

    抱歉,您没有抢到!

    您还可以参与其他产品的秒杀活动哦

    请输入兑换码

    PowerVault ME4012
    限时免费升级 / 提速不加价 / 性能秒提7倍
    限时促销
    5秒后自动关闭

    感谢您的报名

    返回首页
    请输入验证口令
    复制以下链接观看视频
    复制
    Toast 内容
    补全信息
    请补全您的身份信息
    * 姓名
    请输入姓名
    * 企业邮箱
    请输入企业邮箱
    * 公司全称
    请输入公司全称
    提交
    请准确填写您的邮箱
    完整报告即时发送到您的邮箱
    * 姓名
    请输入姓名
    * 企业邮箱
    请输入企业邮箱
    * 公司全称
    请输入公司全称
    提交
    请选择标签,将有助于提供精准服务
    您对哪类产品感兴趣?
    • 云
    您将应用于哪个领域?
    • 大数据
    • 软件定义
    请输入您的企业邮箱与手机号,方便后续发送资料
    企业邮箱

    请输入企业邮箱

    手机号

    请输入手机号

    订阅成功

    我们将每月通过邮箱发送资料报告发给您

    成功图片
    关闭
    文章标题
    文章标题
    文章标题
    文章标题
    订阅您感兴趣的内容,我们将每月通过邮箱发送资料报告发给您
    开启订阅
    长按扫码关注戴尔企采网
    了解更多企采会员福利
    长按识别跳转小程序
    手机号绑定
    手机icon图标

    请输入手机号

    验证码icon图标
    获取验证码

    请输入验证码

    绑定手机号
    绑定手机号的三大理由
    1.网信办规定,互联网注册用户要提供基于移动电话号码等的真实身份。
    2.微信授权登录出现故障时,仍用手机号顺利登录,会员各项权益及活动不受影响。
    3.绑定手机号即可享受免费抽奖、0元试用、积分兑换好礼等会员权益。
    loading请稍后...
    订阅弹层
    订阅表单弹层
    邮箱:
    姓名:
    订阅成功弹层
    {{form.textBtnText}}
    {{form.textBtnText}}
    {{form.subBtnText}}
    去注册
    {{form.textBtnText}}
    获取“戴尔资产报告”
    请提供设备使用方的相关信息,以免影响后续保修
    立即获取
    获取“戴尔资产报告”
    您已提交成功,请您注意查收邮件,“戴尔资产报告”将在2个工作日以邮件的形式发送给您
    查看设备保修情况
    注册有礼
    去认证