云原生之深入解析Kubernetes的网络模型

一、前言

  • Kubernetes 是为运行分布式集群而建立的,分布式系统的本质使得网络成为 Kubernetes 的核心和必要组成部分,了解 Kubernetes 网络模型可以使你能够正确运行、监控和排查应用程序故障。
  • 网络所涉及的内容很多,拥有许多成熟的技术。对于不熟悉的人来说可能会非常痛苦,因为大多数人对网络都有先入为主的观念,并且有很多新旧概念需要理解并组合成一个连贯的整体,因此的网络可能包括网络命名空间、虚拟接口、IP 转发和网络地址转换等技术。本文旨在通过讨论每种 Kubernetes 相关技术以及如何使用这些技术来启用 Kubernetes 网络模型的描述来揭开 Kubernetes 网络的神秘面纱。

二、Kubernetes 基础知识

① Kubernetes API server

  • 在 Kubernetes 中,一切都是由 Kubernetes API 服务器(kube-apiserver)提供的 API 调用。API 服务器是 etcd 数据存储的网关,它维护应用程序集群的所需状态。
  • 要更新 Kubernetes 集群的状态,可以对描述所需状态的 API 服务器进行 API 调用。

② Controllers

  • 控制器是用于构建 Kubernetes 的核心抽象,一旦使用 API 服务器声明了集群的所需状态,控制器就会通过持续观察 API 服务器的状态并对任何更改做出反应来确保集群的当前状态与所需状态相匹配。控制器内部实现了一个循环,该循环不断检查集群的当前状态与集群的期望状态。如果有任何差异,控制器将执行任务以使当前状态与所需状态匹配。

你可能感兴趣的:(人工智能与云原生,Kubernetes网络模型,容器和容器之间网络通信,Pod和Pod之间网络通信,Pod和Service网络通信,Internet和服务网络通信)