主页

[转]第26章 理解cni和cni插件

本文将主要分享以下几方面的内容: CNI 是什么? Kubernetes 中如何使用 CNI? 哪个 CNI 插件适合我? 如何开发自己的 CNI 插件? CNI 是什么 首先我们介绍一下什么是 CNI,它的全称是 Container Network Interface,即容器网络的 API 接口。 它是 K8s 中标准的一个调用网络实现的接口。Kubelet 通过这个标准的 API 来调用不同的网络插件以实现不同的网络配置方式。实现了这个接口的就是 CNI 插件,它实现了一系列的 CNI API 接口。常见的 CNI 插件包括 Calico、flannel、Terway、Weave Net 以及 Contiv。 Kubernetes 中如何使用 CNI ...

阅读更多

[转]第25章 Kubernetes网络模型进阶

本文将主要分享以下五个方面的内容: Kubernetes 网络模型来龙去脉 Pod 究竟如何上网? Service 究竟怎么工作? 啥?负载均衡还分内部外部? 思考时间 Kubernetes 网络模型来龙去脉 容器网络发端于 Docker 的网络。Docker 使用了一个比较简单的网络模型,即内部的网桥加内部的保留 IP。这种设计的好处在于容器的网络和外部世界是解耦的,无需占用宿主机的 IP 或者宿主机的资源,完全是虚拟的。 它的设计初衷是:当需要访问外部世界时,会采用 SNAT 这种方法来借用 Node 的 IP 去访问外面的服务。比如容器需要对外提供服务的时候,所用的是 DNAT 技术,也就是在 Node 上开一个端口,然后通过 iptable ...

阅读更多

[转]第24章 Kubernetesapi编程利器 Operator和operatorframework

本节课程主要分享以下三方面的内容: operator 概述 operator framework 实战 工作流程 operator 概述 基本概念 首先介绍一下本节所涉及到的基本概念。 CRD (Custom Resource Definition):允许用户自定义 Kubernetes 资源,是一个类型; CR (Custom Resourse):CRD 的一个具体实例; webhook:它本质上是一种 HTTP 回调,会注册到 apiserver 上。在 apiserver 特定事件发生时,会查询已注册的 webhook,并把相应的消息转发过去。 按照处理类型的不同,一般可以将其分为两类:一类可能会修改传入对象,称为 mutating w...

阅读更多

[转]第23章 Kubernetes Api编程范式

本文将主要分享以下四个方面的内容: 需求来源 用例解读 操作演示 架构设计 需求来源 首先我们先来看一下 API 编程范式的需求来源。 在 Kubernetes 里面, API 编程范式也就是 Custom Resources Definition(CRD)。我们常讲的 CRD,其实指的就是用户自定义资源。 为什么会有用户自定义资源问题呢? 随着 Kubernetes 使用的越来越多,用户自定义资源的需求也会越来越多。而 Kubernetes 提供的聚合各个子资源的功能,已经不能满足日益增长的广泛需求了。用户希望提供一种用户自定义的资源,把各个子资源全部聚合起来。但 Kubernetes 原生资源的扩展和使用比较复杂,因此诞生了用户自定义资源这么一个功能...

阅读更多