前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >容器网络硬核技术内幕 (7) 大海航行靠舵手

容器网络硬核技术内幕 (7) 大海航行靠舵手

作者头像
用户8289326
发布2022-07-27 21:54:20
5640
发布2022-07-27 21:54:20
举报

让我们小结一下基于docker引擎的容器网络:

每个docker容器需要连接到网络上,才能对外提供服务,否则其存在没有任何意义。因此,默认在每个宿主机上,有一个docker0网桥,所有的容器默认连接到这个网桥,如下图所示:

如图,172.17.0.2这个容器运行的是ubuntu实例,而172.17.0.3这个容器运行的是nginx实例,二者可以通过docker0互通。

对于访问宿主机以外的网络,需要通过NAT:

当然,对外访问宿主机内部的容器,也需要经过NAT。

对于两台宿主机之间互访的情况,可以利用swarm实现基于VXLAN隧道的互通:

有了这些基础的容器网络机制,我们是可以构建一个基于容器的对外服务系统的。

然而,仅仅有docker引擎,还不够……

-----------------------分割线-----------------------

我们知道,正是中国的几亿劳动者,紧密团结起来,才打败了三座大山、联合国军、血吸虫病和新型冠状病毒。

我们也知道,在linux + docker的体系中,创建容器、销毁容器、将容器连入网络、监控容器性能等操作,都需要手工进行。

如果单一容器无法满足性能或功能的需求,也无法通过自动化的手段自动扩容,或将多个不同功能的容器进行耦合关联。

只有让容器团结起来,才能发挥更大的作用!

DOCKERS OF THE WORLD, UNITE!

一个幽灵,云原生的幽灵,在生产力最发达的中美互联网领域悄悄游荡——

工程师们创立了容器编排平台:Kubernetes。

Kubernetes的字面意义是“舵手”。

Kubernetes可以自动化地调度容器资源,进行容器的创建、入网、扩容和销毁,结合Harbor镜像仓库、Istio API网关、Prometheus性能监控、Jenkins构建流水线等组件,能够实现从代码提交到自动部署的CI/CD(持续集成/持续开发),使得容器真正地驶入蓝海——

大海航行靠舵手!

“舵手” kubernetes 的架构如下:

在如此复杂的架构中,目前我们只需要掌握:

  1. Kubernetes的容器资源分配单位是pod,一个pod中可以有多个容器,但对pod之外呈现为一个整体(一个IP地址);
  2. Kubernetes的容器运行载体是node,一个node可以运行多个Pod。node有自己的操作系统(一般为Linux)。

我们可以将node类比为虚拟机世界中的宿主机,pod类比为虚拟机世界中的VM。

下面的讨论均以此为依据。

敬请期待下期——

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-01,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com