• 课程概览
  • 课程目录

课程概览

一、课程简介:

本门课程将全面的介绍容器网络相关的知识。因为其轻量化,隔离性的优势,并伴随着容器编排工具Kubernetes的出现,容器现在是最热门的虚拟化技术之一。任何从事IT相关的工作或者学习,都或多或少的可以听到或者接触到容器。容器本身也在改变企业中应用程序的开发部署,以及这些程序接入网络的方式。了解容器网络的构成与实现,对了解容器整体是如何工作,并且是如何提供应用程序的平台,进而优化性能是至关重要的。因此特别邀请到OpenStacker肖宏辉来向大家来介绍一些容器网络相关的知识。

第一部分:容器以及Docker的网络方案

首先从容器的组成技术开始,讲解了容器网络实现的最底层元素。之后介绍了最流行的容器管理软件Docker,以及它的网络实现Libnetwork。在这之后,会介绍Libnetwork的不同网络底层,bridge模式,macvlan模式,none模式和host模式。在第一部分的最后会讲述Docker中的DNS实现。

第二部分:最流行的容器编排工具Kubernetes

正是因为Kubernetes强大的编排能力,使得通过容器构建大型,大量的应用变得轻而易举。在这部分将首先介绍Kubernetes的架构,以及Kubernetes中最基本的组成元素,Pod,Deployment,Service。之后将讲述基于Kubernetes自带的网络方案kubenet来介绍Pod网络,Service网络,以及4种kubernetes Service的实现原理。最后再简单的介绍下Kubernetes的hostPort和hostNetwork网络模式。

第三部分:Flannel

一个与Kubernetes密切相关的网络方案。这一部分将介绍Flannel如何与Kubernetes集成,分析并演示Flannel的三种网络模式,也就是host-gw,VxLAN,UDP的实现。

第四部分:一个强大的网络方案,Calico

Calico是经过验证的可以为大规模Kubernetes集群提供网络的方案。在这一部分,我将首先介绍Calico的架构,以及Calico的核心协议,BGP。之后我将介绍Calico的两种网络模式,也就是Pure BGP和IP in IP的具体实现。在这之后,我将介绍Kubernetes的NetworkPolicy,以及Calico对于NetworkPolicy的实现。在Kubernetes的众多网络方案中,并非所有都实现了NetworkPolicy,所以Kubernetes的这部分内容放到了第四部分。最后简单介绍了Calico为Kubernetes的容器提供的外网访问服务。

第五部分:如何用OpenStack Neutron为Kubernetes提供网络方案

实际上是通过OpenStack的一个子项目kuryr-kubernetes实现的OpenStack和Kubernetes的连接。这部分将从OpenStack Neutron的介绍开始,之后介绍kuryr-kubernetes的实现方案,OpenStack Neutron与Kubernetes资源模型的对应,以及整个方案的工作流程。

课程内容不仅有理论相关的知识,课程中的绝大部分内容都有视频演示,并且课程本身也带了一个实验环境。前两部分的内容,都可以在这个实验环境上动手操作。对于3-5部分的内容,将在课程中演示如何在一个ubuntu16.04的环境上,手动安装实验环境,所以如果你有条件的话,完全可以在自己的环境上进行实验。

你将收获:

  • 了解容器的网络实现以及Docker Libnetwork提供的几种网络模型
  • 了解Kubernetes的网络实现,其中包括了Pod和Service网络
  • 了解几种常见的Kubernetes的网络方案,Flannel,Calico以及OpenStack neutron

适用人群:

  • 各大院校的IT相关专业学生
  • 深度学习爱好者
  • 网络技术从业人员

报名咨询

联系人:胡老师,电话/微信:17366169452,邮箱:hubing@sdnlab.com,QQ:341254763

课程目录