Kubernetes网络基本内容有哪些

67次阅读
没有评论

共计 1916 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章主要讲解了“Kubernetes 网络基本内容有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“Kubernetes 网络基本内容有哪些”吧!

Kubernetes 网络基本的部署调度单元:Pod

Kubernetes 中的基本管理单元并非是一个容器,而是一个叫做 pod 的东西。我们认为部署了一个或多个容器的环境是一个 pod 单元。通常情况下,它们代表了提供部分服务的单个功能端点。

举两个有效的 pods 单元为例:

数据库 pod — 一个单一 MySQL 容器

Web pod — 包含一个 python 实例的容器及包含 Redis 数据库的容器

pods 具有以下常用的特性:

它们共享资源 — 包括了网络栈和命名空间

pod 包含了一个 IP 地址,用于客户端连接

pod 的配置定义了任意公共端口以及哪个容器占用该端口

pod 中的全部容器可以通过网络中的任意端口进行交互(这些容器都会被本地引用,因此需要确保 pod 中的服务都有唯一的端口)

Kubernetes 服务(Kubernetes Services)

Kubernetes 服务位于负载均衡器之后,负责管理多个相同的 pods。客户端无需连接到每个 pod 的 IP,而是直接连接负载均衡器的 IP 地址。Kubernetes 服务会将你的应用程序定义为一个服务,使得 Kubernetes 可以根据定义的规则和实际可用资源动态扩展 pod 数量。

若想要应用程序被 Kubernetes 基础设施外部的客户端访问到,唯一的方法是将应用程序定义为服务的一部分。无论你是否扩展节点,都需要 Kubernetes 服务分配外部 IP 地址。

标签(Labels)

标签是 Kubernetes 中一组作用于对象(如 pods)的键值对,需要具有实际意义且有相关性。

在 Kubernetes 的标准配置中,标签并不直接影响与 Kubernetes 相关的核心操作,而是主要用于对对象的分组和识别。

网络安全(Network Security)

下面我们将介绍一些 Kubernetes 推荐使用的网络插件,这些插件用到了我们上一节提到的标签。利用标签,它们可以在容器运行时改变某些功能。在 Kubernetes 中,大多数使用的网络插件都是基于容器网络接口(Container Networking Interface,CNI)规范,这项规范由 Cloud Native Computing Foundation(CNCF)制定。CNI 允许在多个容器平台中使用相同的网络插件。现在我们使用一种调整网络安全策略的方法,该方法并不像传统的网络或者安全团队模型那样预先设置好一切,而是在容器运行时,利用标签来调整正确的网络策略(容器的动态变化太过频繁,很难进行手动干预),目前该方法已经成为了 Kubernetes Network Special Internet Group(Network SIG) 的一部分。如今,我们已经有多个可供使用的网络插件能够将网络策略应用于命名空间和 pods 中,这其中包括 OpenContrail 和 Project Calico。

通过这种新方法,Kubernetes 管理员可以导入所有预先准备的策略,开发者负责调整并根据需求自主选择策略,而所有这一切都会定义到 pod 中执行。

网络策略示例:

POST /apis/net.alpha.kubernetes.io/v1alpha1/namespaces/tenant-a/networkpolicys/
  kind :  NetworkPolicy ,
  metadata : {
  name :  pol1 
 },
  spec : {
  allowIncoming : {
  from : [ {  pods : {  segment :  frontend  } }
 ],
  toPorts : [ {  port : 80,  protocol :  TCP  }
 ]
 },
  podSelector : {  segment :  backend  }
 }
}

有网络策略定义的 pod 配置示例:

apiVersion: v1
kind: Pod
metadata:
 name: nginx
 labels:
 app: nginx
 segment: frontend
spec:
 containers:
 - name: nginx
 image: nginx
 ports:
 - containerPort: 80

感谢各位的阅读,以上就是“Kubernetes 网络基本内容有哪些”的内容了,经过本文的学习后,相信大家对 Kubernetes 网络基本内容有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计1916字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)