Skip to content

Latest commit

 

History

History
31 lines (17 loc) · 2.67 KB

File metadata and controls

31 lines (17 loc) · 2.67 KB

精通Kubernetes

吉吉·塞凡

10.1 理解Kubernetes网络模型

桥接将多个网络段连接到一个聚合网络,这样的话,所有的节点都可以相互通信。桥接是在OSI网络模型的L1(物理)和L2(数据链路)层上进行的。

路由通常基于路由表连接独立的网络,该路由表指导网络设备将分组转发到其目的地。路由包括各种网络设备,如路由器、网桥、网关、交换机和防火墙,此外还有常规的Linux盒子。

最大传输单元(Maximum Transmission Unit, MTU)可以决定网络包的大小。例如,在以太网中,默认是1 500字节。MTU越大,负载和头部的比率就越大,这是好事。但不好的方面是,这将导致最小延迟的减少,因为要等待完整的数据包到达,此外,为避免失败,需要重传整个数据包。

另一个例子是IPSEC,由于IPSEC封装的额外开销,需要降低MTU,但是Kubenet网络插件没有考虑这一点。解决方案是避免依赖MTU的自动计算,而只是通过提供给所有网络插件的--network-plugin-mtu命令行切换告诉Kubelet网络插件应该使用什么MTU。

容器网络接口(Container Networking Interface,CNI)既是一个规范也是一组标准库,它用于编写网络插件以在Linux容器(不仅仅是Docker)中配置网络接口。

11.1 理解集群联邦

Kubernetes联邦仍是正在进行中的项目,在Kubernetes 1.5版本中,只有一些标准化的资源可以组成联邦,本章中会涵盖到这一部分。为建立联邦资源,需使用如下Kubectl命令参数:--context=federation-cluster,当执行该命令时,命令会传递到联邦API服务器,它负责将该命令发送给所有集群中的部分。

12.1 使用Kubernetes API

kubectl proxy --port 8080 现在,可以在http://localhost:8080上访问API服务器,它将到达Kubectl配置的、相同的Kubernetes API服务器。

14.2 面临的挑战

Docker希望在容器编排领域分一杯羹,因而发布了Docker Swarm产品。Docker Swarm的主要好处是它在Docker安装时作为其中的一部分,并且使用标准的Docker API,因而它很容易入门。

Docker自身也意识到了这个问题,正在积极采取相应的改进方案,它发布了一个企业专供版,并通过Moby项目将Docker的内部构件作为一组独立的组件。

一大批组织和开发人员涌向公共云平台,以避免由基础设施的低层管理带来的麻烦。这些公司的主要动机往往是快速行动,专注于自己的核心竞争力。因此,他们经常使用云提供商提供的默认部署解决方案,因为集成是无缝的和流线型的。