我的编程空间,编程开发者的网络收藏夹
学习永远不晚

kubernetes中NetworkPolicy有什么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

kubernetes中NetworkPolicy有什么用

小编给大家分享一下kubernetes中NetworkPolicy有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

一: 简介
 1.Kubernetes的一个重要特性就是要把不同node节点的pod连接起来,无视物理节点的限制。但是在某些应用环境中,比如公有云,不同租户的pod不应该互通,这个时候就需要网络隔离。幸好,Kubernetes提供了NetworkPolicy,支持按Namespace级别的网络隔离。Network Policy提供了基于策略的网络控制,用于隔离应用并减少攻击面。它使用标签选择器模拟传统的分段网络,并通过策略控制它们之间的流量以及来自外部的流量。

 2.Kubernetes提供了NetworkPolicy,支持按Namespace和按Pod级别的网络访问控制。它利用label指定namespaces或pod,底层用iptables实现。不是所有的 Kubernetes 网络方案都支持 Network Policy。比如 Flannel 就不支持,Calico 是支持的。


3.
kubernetes中NetworkPolicy有什么用
 a.通过kubectl client创建network policy资源;
 b.calico的policy-controller监听network policy资源,获取到后写入calico的etcd数据库;
 c.node上calico-felix从etcd数据库中获取policy资源,调用iptables做相应配置。

二: NetworkPolicy 资源配置

  1. apiVersion: networking.k8s.io/v1

  2. kind: NetworkPolicy

  3. metadata:

  4.   name: test-network-policy

  5.   namespace: default

  6. spec:

  7.   podSelector:

  8.     matchLabels:

  9.       role: db

  10.   ingress:

  11.   - from:

  12.     - namespaceSelector:

  13.         matchLabels:

  14.           project: myproject

  15.     - podSelector:

  16.         matchLabels:

  17.           role: frontend

  18.     ports:

  19.     - protocol: TCP

  20.       port: 6379

podSelector:每个 NetworkPolicy 包含一个 podSelector,它可以选择一组应用了网络策略的 Pod。由于 NetworkPolicy 当前只支持定义 ingress 规则,这个 podSelector 实际上为该策略定义了一组 “目标Pod”。示例中的策略选择了标签为 “role=db” 的 Pod。一个空的 podSelector 选择了该 Namespace 中的所有 Pod。

2.ingress:每个NetworkPolicy 包含了一个白名单 ingress 规则列表。每个规则只允许能够匹配上 from 和 ports配置段的流量。示例策略包含了单个规则,它从这两个源中匹配在单个端口上的流量,第一个是通过namespaceSelector 指定的,第二个是通过 podSelector 指定的。

3. 在 “default” Namespace中 隔离了标签 “role=db” 的 Pod(如果他们还没有被隔离); 在 “default” Namespace中,允许任何具有 “role=frontend” 的 Pod,连接到标签为 “role=db” 的 Pod 的 TCP 端口 6379;允许在 Namespace 中任何具有标签 “project=myproject” 的 Pod,连接到 “default” Namespace 中标签为 “role=db” 的 Pod 的 TCP 端口 6379。

三:默认策略
1.通过创建一个可以选择所有 Pod 但不允许任何流量的 NetworkPolicy,你可以为一个 Namespace 创建一个 “默认的” 隔离策略。

  1. apiVersion: networking.k8s.io/v1

  2. kind: NetworkPolicy

  3. metadata:

  4.   name: default-deny

  5. spec:

  6.   podSelector:

在 Namespace 中,如果你想允许所有的流量进入到所有的 Pod(即使已经添加了某些策略,使一些 Pod 被处理为 “隔离的”),你可以通过创建一个策略来显式地指定允许所有流量。

  1. apiVersion: networking.k8s.io/v1

  2. kind: NetworkPolicy

  3. metadata:

  4.   name: allow-all

  5. spec:

  6.   podSelector:

  7.   ingress:

  8.   - {}

看完了这篇文章,相信你对“kubernetes中NetworkPolicy有什么用”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

kubernetes中NetworkPolicy有什么用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

kubernetes中NetworkPolicy有什么用

小编给大家分享一下kubernetes中NetworkPolicy有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一: 简介 1.Kubernetes的一个重要特性就是要把不同node节点的pod连接起来,无视物理节
2023-06-04

kubernetes中Harbor有什么用

这篇文章主要介绍了kubernetes中Harbor有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一:简介Harbor是一个用于存储和分发Docker镜像的企业级Re
2023-06-04

kubernetes中TLS bootstrapping有什么用

这篇文章主要介绍了kubernetes中TLS bootstrapping有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一: 前言当集群开启了 TLS 认证后,每个节
2023-06-04

Kubernetes中yaml文件有什么用

小编给大家分享一下Kubernetes中yaml文件有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!YAML 基础YAML(Yet Another Mark
2023-06-19

Kubernetes Scheduler有什么用

这篇文章给大家分享的是有关Kubernetes Scheduler有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。先来过一下KubernetesScheduler的基本功能KubernetesSchedul
2023-06-03

docker和kubernetes有什么区别

Docker和Kubernetes都是用于容器化应用程序的工具,但是它们有不同的功能和用途。Docker是一种容器化引擎,用于创建、打包和运行容器化应用程序。它提供了一种轻量级、快速部署的方式,使开发人员可以更容易地构建和部署应用程序。
docker和kubernetes有什么区别
2024-04-08

kubernetes中Pod是什么

这篇文章主要介绍kubernetes中Pod是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一:Pod 是什么Pod是Kubernetes的最重要最基本的概念。它是能够被创建,调度和管理的最小部署单元。一个Pod
2023-06-04

kubernetes中Service是什么

这篇文章主要为大家展示了“kubernetes中Service是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“kubernetes中Service是什么”这篇文章吧。一:Service概念K
2023-06-04

kubernetes中API是什么

这篇文章给大家分享的是有关kubernetes中API是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一:体系结构二:说明Kubernetes API是集群系统中的重要组成部分,Kubernetes中各种资源
2023-06-04

kubernetes中什么是Service Mesh

这篇文章主要为大家展示了“kubernetes中什么是Service Mesh”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“kubernetes中什么是Service Mesh”这篇文章吧。一:
2023-06-04

kubernetes中kube-dns是什么

这篇文章将为大家详细讲解有关kubernetes中kube-dns是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一:前言kube-dns是Kubernetes中的一个内置插件,目前作为一个独立的开源
2023-06-04

Kubernetes pod里的pause-amd64容器有什么用

这篇文章主要介绍“Kubernetes pod里的pause-amd64容器有什么用”,在日常操作中,相信很多人在Kubernetes pod里的pause-amd64容器有什么用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法
2023-06-04

Kubernetes中EFK怎么用

这篇文章给大家分享的是有关Kubernetes中EFK怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一:前言1.在安装Kubernetes集群的时候我们有下载过压缩包https://dl.k8s.io/v1
2023-06-04

kubernetes中实现Istio流量管理有什么好处

小编给大家分享一下kubernetes中实现Istio流量管理有什么好处,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一:简介Istio流量管理的核心组件是Pil
2023-06-04

kubernetes中Label和Label Selector是什么

小编给大家分享一下kubernetes中Label和Label Selector是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一:什么是LabelLabel
2023-06-04

Kubernetes特别属性的标签Label有什么作用

今天小编给大家分享一下Kubernetes特别属性的标签Label有什么作用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前
2023-06-29

kubernetes中的Scheduler原理是什么

本篇文章为大家展示了kubernetes中的Scheduler原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一: 简介1.Kubernetes scheduler在整个系统中承担了“承上
2023-06-04

GlusterFS在Kubernetes中怎么应用

这篇文章主要介绍“GlusterFS在Kubernetes中怎么应用”,在日常操作中,相信很多人在GlusterFS在Kubernetes中怎么应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Gluster
2023-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录