首页 > 其他分享 >Cilium系列-14-Cilium NetworkPolicy 简介

Cilium系列-14-Cilium NetworkPolicy 简介

时间:2023-08-06 09:46:37浏览次数:42  
标签:Ingress 策略 Kubernetes NetworkPolicy io Cilium 14

系列文章

前言

今天我们进入 Cilium 安全相关主题, 介绍 Kubernetes 网络策略以及 CiliumNetworkPolicies 额外支持的内容。

网络策略(NetworkPolicy)的类型

默认情况下,Kubernetes 集群中的所有 pod 都可被其他 pod 和网络端点访问。

网络策略允许用户定义 Kubernetes 集群允许哪些流量, 禁止哪些流量。传统的防火墙是根据源或目标 IP 地址和端口来配置允许或拒绝流量的(五元组),而 Cilium 则使用 Kubernetes 的身份信息(如标签选择器、命名空间名称,甚至是完全限定的域名)来定义允许和不允许的流量规则。这样,网络策略就能在 Kubernetes 这样的动态环境中运行,因为在这种环境中,IP 地址会随着不同 pod 的创建和销毁而不断被使用和重复使用。

在 Kubernetes 上运行 Cilium 时,可以使用 Kubernetes 资源定义网络策略(networking.k8s.io/v1 NetworkPolicy)。Cilium Agent 将观察 Kubernetes API 服务器是否有网络策略更新,并加载必要的 eBPF 程序和 map,以确保实施所需的网络策略。启用 Cilium 的 Kubernetes 提供三种网络策略格式:

  • 支持第 3 层和第 4 层策略的标准 Kubernetes NetworkPolicy 资源(标准的 Kubernetes NetworkPolicy, Kubernetes 开箱自带, 其他 CNI 如 Calico 也支持)
  • 支持第 3、4 和 7 层(应用层)策略的 CiliumNetworkPolicy 资源(Cilium 专有的 CRD: CiliumNetworkPolicy)
  • CiliumClusterwideNetworkPolicy 资源,用于指定适用于整个集群而非指定命名空间的策略(Cilium 专有的 CRD: CiliumClusterwideNetworkPolicy, 字面意思, 集群范围的网络策略, 甚至可以进行 Node 级别的网络策略限制.)

Cilium 支持同时使用所有这些策略类型。不过,在使用多种策略类型时应小心谨慎,因为在多种策略类型中理解所允许流量的完整集合可能会造成混乱。如果不密切注意,可能会导致意外的策略行为。因此, 推荐在 Cilium 中, 使用后两种资源.

这次我们主要关注 CiliumNetworkPolicy 资源,因为它代表了标准 Kubernetes NetworkPolicy 功能的超集。

NetworkPolicy 资源

NetworkPolicy 资源是 Kubernetes 的标准资源(networking.k8s.io/v1 NetworkPolicy),可让您在 IP 地址或端口级别(OSI模型第 3 层或第 4 层)控制流量。NetworkPolicy 的功能包括:

  • 使用标签(label)匹配的 L3/L4 Ingress 和 Egress 策略
  • 集群外部端点使用 IP/CIDR 的 L3 IP/CIDR Ingress 和 Egress 策略
  • L4 TCP 和 ICMP 端口 Ingress 和 Egress 策略

标签:Ingress,策略,Kubernetes,NetworkPolicy,io,Cilium,14
From: https://www.cnblogs.com/east4ming/p/17609075.html

相关文章

  • Cilium系列-13-启用XDP加速及Cilium性能调优总结
    系列文章Cilium系列文章前言将Kubernetes的CNI从其他组件切换为Cilium,已经可以有效地提升网络的性能.但是通过对Cilium不同模式的切换/功能的启用,可以进一步提升Cilium的网络性能.具体调优项包括不限于:启用本地路由(NativeRouting)完全替换KubeProxyI......
  • Python 潮流周刊第 14 期(内容摘要)
    你好,我是猫哥。这里每周分享优质的Python、AI及通用技术内容,本期分享的全部是英文材料。本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进Python技术,并增长职业和......
  • LGR-147-Div.3】洛谷网校 7 月普及组月赛 & yLOI2022 总结
    Upd:2023/8/5补T1普及组的题,而且T1,而且叫签到题。所以非常简单,入门难度。没什么好说的。就是统计大写,小写和字母个数。#include<bits/stdc++.h>#definelllonglongusingnamespacestd;constintN=100+5;strings;intmain(){ cin>>s; intx=0,y=0,z=0; for(inti=......
  • 【LuoGU 1462】通往奥格瑞玛的道路——最短路+二分
    通往奥格瑞玛的道路题目背景在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量。有一天他醒来后发现自己居然到了联盟的主城暴风城。在被众多联盟的士兵攻击后,他决定逃回自己的家乡奥格瑞玛。题目描述在艾泽拉斯,有\(n\)个城市。编号为\(1,2,3,\ldots,n\)。......
  • [刷题笔记] Luogu P2014 [CTSC1997] 选课
    ProblemSolution我们发现本题中有好多主从关系,即要想取用一个儿子必须先取用她的父亲。构成了一个森林,处理不便。有个小技巧,就是将0号节点参与建树,最后所求节点数就变成了\(m+1\),且把森林变成了一棵树。然后如何处理呢?再次理解题意,我们发现,我们每次的决策是是否取用儿子,取用......
  • UVA114 Simulation Wizardry
    UVA114SimulationWizardry题目传送门此题为模拟类型,必须认真读题,绝不能漏掉任何一个细节。分析解释代码中的主要部分:结构体定义:structPOINT用于表示二维坐标,structBUMPER用于表示弹板的信息,包括分值和消耗。pTable数组:用于记录所有弹板的信息。数组的索引对应表......
  • ARC149
    ARC149A直接记录\(1111..\)然后\(check\)一下即可#include<bits/stdc++.h>usingnamespacestd;constintMAXN=1e5+5;intn;intm;intMtl[MAXN];signedmain(){//freopen("date.in","r",stdin);//freopen("date.out",&......
  • CF1491B Minimal Cost 题解
    调了两个多小时终于过了,交一发题解。题目分析如果你认真读题就会发现,这道题看似有很多种情况,但障碍的移动方式其实只有几种。如果当所有障碍物都在一列时,可以将某一个障碍水平移动一格,再垂直移动一格或者水平移动两格,那么答案就是v+min(u,v)。当有通路时,则无需移动,答案就是......
  • 学习Java第14天
    条件运算符packageoperator;//**三元运算符publicclassDemo08{publicstaticvoidmain(String[]args){//x?y:x**//**如果x==true,则结果为y,否则结果为z*intscore=80;Stringtype=score<60?"不及格":"及格";//**必须掌握**//ifSystem.out*.print......
  • #轮廓线dp#HDU 1400 Mondriaan's Dream
    题目传送门分析状压dp会TLE,考虑用轮廓线dp,设\(dp[i][j][S]\)表示现在处理到\((i,j)\)这个位置轮廓线上状态为\(S\)的情况二进制位为1表示左边或者上方有骨牌跨过轮廓线,然后分类讨论转移一下即可代码#include<cstdio>#include<cstring>usingnamespacestd;con......