kubernetes CKS 1.8 网络访问控制

k8s-kubernetes--网络策略、flannel网络插件和calico网络插件 网络策略通过网络插件来实现。要使用网络策略,你必须使用支持 NetworkPolicy 的网络解决方案。 创建一个 NetworkPolicy 资源对象而没有控制器来使它生效的话,是没有任何作用的。(Flannel不支持 NetworkPolicy,所以使用Flannei网络插件是不会隔离pod的) 阅读详情

• 网络策略应用场景
• 网络策略概述
• 网络访问控制5个案例

1.8.1 应用场景

默认情况下,Kubernetes 集群网络没任何网络限制,Pod 可以与任何其他 Pod 通信,在某些场景下就需要进行网络控制, 减少网络攻击面,提高安全性,这就会用到网络策略。 网络策略(Network Policy):是一个K8s资源,用于限制Pod出入流量,提供Pod级别和Namespace级别网络访问控制。 网络策略的应用场景:
• 应用程序间的访问控制,例如项目A不能访问项目B的Pod
• 开发环境命名空间不能访问测试环境命名空间Pod
• 当Pod暴露到外部时,需要做Pod白名单
• 多租户网络环境隔离

1.8.2 网络策略概述

1.8.2.1 基本配置

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: test-network-policy
  namespace: default
spec:
  podSelector:
    matchLabels:
      role: db
  policyTypes:
    - Ingress
    - Egress
  ingress:
    - from:
        - ipBlock:
            cidr: 172.17.0.0/16
            except:
              - 172.17.1.0/24
        - namespaceSelector:
            matchLabels:
              project: myproject
        - podSelector:
            matchLabels:
              role: frontend
      ports:
        - protocol: TCP
          port: 6379
  egress:
    - to:
        - ipBlock:
            cidr: 10.0.0.0/24
      ports:
        - protocol: TCP
          port: 5978

podSelector:目标Pod,根据标签选择。
policyTypes:策略类型,指定策略用于入站、出站流量。
Ingress:from是可以访问的白名单,可以来自于IP段、命名空间、 Pod标签等,ports是可以访问的端口。 Egress:这个Pod组可以访问外部的IP段和端口。

1.8.2.2 网络策略工作流程

网络策略工作流程:
1、创建Network Policy资源
2、Policy Controller监控网络策略,同步并通知节点上程序
3、节点上DaemonSet运行的程序从etcd中获取Policy,调用本 地Iptables创建防火墙规则

在这里插入图片描述

1.8.3 网络访问控制案例

1.8.3.1 案例1:拒绝命名空间下所有Pod出入站流量

需求:拒绝test命名空间下所有Pod入、出站流量

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all
  namespace: test
spec:
  podSelector: {} # 匹配本命名空间所有pod
  policyTypes: 
  - Ingress
  - Egress
# ingress和egress没有指定规则,则不允许任何流量进出pod

1.8.3.2 案例2:拒绝其他命名空间Pod访问

需求:test命名空间下所有pod可以互相访问,也可以访问其他
命名空间Pod,但其他命名空间不能访问test命名空间Pod。

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all-namespaces 
  namespace: test
spec:
  podSelector: {} 
  policyTypes:
  - Ingress
  ingress:
  - from:
    - podSelector: {} # 匹配本命名空间所有pod

1.8.3.3 案例3:允许其他命名空间Pod访问指定应用

需求:允许其他命名空间访问test命名空间指定Pod

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-all-namespaces 
  namespace: test
spec:
  podSelector: 
    matchLabels:
      app: web
  policyTypes:
  - Ingress
  ingress:
  - from:
    - namespaceSelector: {} # 匹配所有命名空间的pod

1.8.3.4 案例4:同一个命名空间下应用之间限制访问

需求:将test命名空间中标签为run=web的pod隔离, 只允许标签为run=client1的pod访问80端口

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: app-to-app
  namespace: test
spec:
  podSelector:
    matchLabels:
      run: web
  policyTypes:
  - Ingress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          run: client1
    ports:
    - protocol: TCP
      port: 80

以上是允许在test这个命名空间,假如不限制命名空间,如下:

]# cat test0719.yaml                                  
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: app-to-app
  namespace: test
spec:
  podSelector:
    matchLabels:
      run: web
  policyTypes:
  - Ingress
  ingress:
  - from:
    - namespaceSelector: {}
      podSelector:
        matchLabels:
          run: client1
    ports:
    - protocol: TCP
      port: 80

1.8.4 CKS考题分析

1.8.4.1 考题一

解读:在 testing 命名空间创建一个名为 denypolicy 的网络策略。拒绝所有 Ingress 和
Egress 流量。将网络策略应用到 testing 命名空间中的所有 pod。

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: denypolicy
  namespace: testing
spec:
  podSelector: {}
  policyTypes:
  - Ingress
  - Egress

1.8.4.2 考题二

解读:创建一个名为 pod-restriction 的网络策略,以限制命名空间 dev-team 中 products
service Pod。
只允许以下 Pod 连接 products-service Pod:

  • qa 命名空间中的 Pod
  • Pod 标签为 environment:testing,在所有命名空间
kubectl get pod -n dev-team --show-labels # 查看 pod 标签(environment: staging)
kubectl get ns --show-labels # 查看 qa 命名空间标签(name: qa)

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: pod-restriction
  namespace: dev-team
spec:
  podSelector:
  matchLabels:
    environment: staging
  policyTypes:
  - Ingress
  ingress:
  - from:
    - namespaceSelector:
        matchLabels:
          name: qa
  - from:
    - namespaceSelector: {}
      podSelector:
        matchLabels:
          environment: testing
Kubernetes 安全专家(CKS)必过心得 Kubernetes 认证安全专家 (CKS) 计划由云原生计算基金会 (CNCF) 与 Linux 基金会合作创建,旨在帮助开发 Kubernetes 生态系统。本分分享了CKS认证考试的通过新的,包括了注意事项以、备考方法、练习和一些真题分析。祝各位考试顺利通过!...... 阅读详情

相关推荐

Kubernetes双证攻略:CKA与CKS认证的实战备考指南

本文详细解析Kubernetes双证CKA与CKS的备考策略与实战技巧,涵盖核心考点、高效学习路线及常见陷阱。通过权威认证提升云原生技能,助力工程师实现职业跃迁,特别适合金融、政务等安全敏感行业的专业人士。

tequila的博客 716

K8S NetworkPolicy网络策略介绍与实战

网络策略介绍 默认情况下,Kubernetes 集群网络没任何网络限制,Pod 可以与任何其他 Pod 通信,在某 些场景下就需要进行网络控制,减少网络攻击面,提高安全性,这就会用到网络策略。 网络策略(Network Policy):是一个K8s资源,用于限制Pod出入流量,提供Pod级别和 Namespace级别网络访问控制。 网络策略的应用场景: • 应用程序间的访问控制,例如项目A不能访问项目B的Pod • 开发环境命名空间不能访问测试环境命名空间Pod • 当P

小楼一夜听春雨,深巷明朝卖杏花 1895

云原生Kubernetes | CKS认证总结

【代码】云原生Kubernetes | CKS认证总结

weixin_50471413的博客 1318

kubernetes网络隔离(Networkpolicy)

可以看到,这幅示意图中,IP 包“一进一出”的两条路径上,有几个关键的“检查点”,它们正是 Netfilter 设置“防火墙”的地方。其中,这个允许流入的“白名单”里,我指定了三种并列的情况,分别是:ipBlock、namespaceSelector 和 podSelector。例如,在我们上面这个例子里,我在 policyTypes 字段,定义了这个 NetworkPolicy 的类型是 ingress 和 egress,即:它既会影响流入(ingress)请求,也会影响流出(egress)请求。

kjkdd的博客 998

K8S CKS v1.25 模拟环境 根据原题搭建

在参加CKS v1.25考试之前,考生必须已经通过Kubernetes管理员认证考试(CKA),在获得CKA认证之后才可以预约CKS考试。6、yaml文件里的空格是有严格要求的,不要多,不要少,否则创建时会报错。2、有些题需要ssh到其他机器,或者sudo -i切换到root下,操作完成后,记得exit退回到原candidate@node-1这个终端下。4、根据模拟环境试题《CKS 标准解题答案 和 模拟环境试题 2022-xx-xx.htm》,结合模拟环境,开始上机实操练习。切记exit不要执行多了!

Vic的博客 3747

ipblock:按国家/地区地址块阻止或允许连接-开源

ipblock允许您选择允许或禁止与之建立连接的国家。

Kubernetes网络原理及方案

首先明确一点,CNM和CNI并不是网络实现,他们是网络规范和网络体系,从研发的角度他们就是一堆接口,你底层是用Flannel也好、用Calico也好,他们并不关心,CNM和CNI关心的是网络管理的问题。Kube-proxy是一个简单的网络代理和负载均衡器,它的作用主要是负责Service的实现,具体来说,就是实现了内部从Pod到Service和外部的从NodePort向Service的访问。主干网自治网络的路由协议,今天有了互联网,互联网由很多小的自治网络构成的,自治网络之间的三层路由是由BGP实现的。

justlpf的专栏 729

快衰落、慢衰落,平坦衰落、频率选择性衰落

目录一、大尺度衰落和小尺度衰落二、平坦衰落和频率选择性衰落1.反射墙、固定天线模型2.相干带宽和时延扩展三、快衰落和慢衰落1.反射墙、运动天线模型2.相干时间和多普勒扩展四、联系总结 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、大尺度衰落和小尺度衰落 移动无线信道的主要特征是信道强度关于时间和频率的变化,大致分两种: 大尺度衰落: .

weixin_45662974的博客 3万+

Kubernetes网络解决方案技术原理深入剖析-Kubernetes商业环境实战

本套技术专栏是作者(秦凯新)平时工作的总结和升华,通过从真实商业环境抽取案例进行总结和分享,并给出商业应用的调优建议和集群环境容量规划等内容,请持续关注本套博客。QQ邮箱地址:1120746959@qq.com,如有任何学术交流,可随时联系。 1 Dokcer网络模型 2 Kubernetes网络模型 2.1 Flannel如何控制同一水平网络 Flannel是如何做到为不同Node上的Po...

weixin_34221332的博客 266

摄像头读取出现VIDIOC_STREAMON: No space left on device 错误

先说下原因,linux中为usb camera提供了一个标准的V4L2的驱动以方便使用,只要符合驱动规范就可以实现即插即用usb camera设备,即免驱动安装。 但市面上的USB 摄像头都是2.0的。usb bus的 bandwidth是有限的,而V4L2驱动采用的是贪心原则,即camera会要求获取最大带宽;因此将两个camera接入一路usb bus,打开第二个camera(尤其是采用YUV...

houge101的博客 9290

如何加载交易策略EA到MT4/MT5

1、打开MT4/MT5软件 2、首先,必须有一个EA,而且必须是mq4/ex4为扩展名。点击左上角“文件”—“打开数据文件夹”,找到安装路径 3、将EA的ex4或mq4文件放到MT4目录\MQL4\Experts里面(本文以名为Demo的EA为例) 4、如果有DLL库文件,复制到experts目录下的libraries子目录中 5、如果有tpl模板文件,复制到templates目录中 6、添加完成后重启MT4,点击允许EA运行图标 7、在导航中找到刚才安装的EA,拖拽到...

weixin_41364817的博客 7362

[CKS] K8S NetworkPolicy Set Up

最近准备花一周的时间准备CKS考试,在准备考试中发现有一个题目关于不安全项目修复的题目。

agjllxchjy的博客 2056

别再手动算电阻了!手把手教你从ITF/IRCX文件自动生成EMX工艺文件(附脚本思路)

本文详细介绍了如何从ITF/IRCX文件自动生成EMX工艺文件,提升芯片设计效率。通过解析厚度变化多项式和电阻率查表,实现工艺文件的高效转换,避免手动处理带来的错误。文章还提供了脚本思路和验证方法,确保数据精确度,特别适用于电感仿真等关键环节。

didui8202的博客 456

KubernetesK8S CKS安全专家认证实践:掌握Kubernetes安全核心知识

KubernetesK8S CKS安全专家认证实践:掌握Kubernetes安全核心知识 去发现同类优质开源项目:https://gitcode.com/ KubernetesK8S CKS安全专家认证实践,助您顺利通过CKS认证,深入了解Kubernetes安全领域。 项目介绍 随着云计算和容器技术的普及,Kubernetes已成为企业级容器编排领域的首选技术。然而,Kubernetes的安全问...

gitblog_06784的博客 1156

从ADC校准到精准测量:避开PY32F030小信号采样的那些坑

本文深入探讨了PY32F030微控制器进行ADC小信号采样时面临的挑战与解决方案。从硬件设计、软件滤波算法到系统级校准策略,详细分析了如何避开常见陷阱,实现精准测量,特别是在25mV以下小信号场景中的应用实践。

ujm567890的博客 759

告别第三方应用!用Android原生API搭建Miracast投屏接收器

本文深入探讨如何利用Android原生API开发Miracast接收器,绕过第三方依赖,实现高效的屏幕共享。通过Wi-Fi P2P直连、反射调用隐藏API和RTSP会话协商等核心技术,为开发者提供了一套完整的Miracast接收端解决方案,适用于多屏协同场景。

weixin_29174141的博客 395

2022年2月kubernetes cks备考记录

前言 CKA 和 CKS 是 LINUX 基金会联合 CNCF社区组织的云原生技术领域权威得技术水平认证考试,考试采用实操方式进行。CKS全称是Kubernetes安全专家认证,它在一个模拟真实的环境中测试考生对Kubernetes和云安全的知识。在参加CKS考试之前,必须已经通过CKA(Kubernetes管理员认证),在获得CKA认证之后才可以预约CKS考试。CKS 的考试难度相对于 CKA 提高了很多,2个小时的考试时间很紧张,因为考试是在外网上进行,这两个考试又是实操考试,网络条件不好,很影响效率,

scwang18的博客 1932

00 — Intel xe SVM 内核实现精读系列专栏导读

本文系统介绍了Intel Xe GPU的共享虚拟内存(SVM)实现机制。第一部分通过概念地图阐述SVM的六个核心概念及其关系;第二部分通过三个测试用例解析SVM关键功能:fault生命周期验证、madvise与VRAM迁移、跨GPU一致性;第三部分深入内核实现,包括初始化/销毁流程、Page Fault处理、MMU Notifier失效路径、异步垃圾回收、VRAM迁移机制、madvise实现原理,以及与ROCm SVM的对比。文章建议按功能模块顺序学习,从基本概念到测试用例,再深入内核实现细节,最后对比不同

图形/计算GPU的驱动与虚拟化技术分享园地 1675

【Kubernetes】CKS Simulator Kubernetes 1.31

最近为了准备 CKS 认证,整理了模拟题,期望能帮助到需要的小伙伴们!

mm1234556的博客 1474

YOLOv8的特征蒸馏代码应用讲解(CWD/MGD/mimic/在线蒸馏/逻辑蒸馏)

基于YOLOv8的逻辑蒸馏、特征蒸馏、在线蒸馏等方法代码介绍。

qq_41920323的博客 2583

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

K8s认证(CKA/CKAD/CKS)哪家强?主流证书对比

使用临时Pod调试网络(kubectl run debug --image=busybox --rm -it --restart=Never -- sh)记住:考试时--dry-run和--export是你的救命符!刷完官方文档“Tasks”章节(重点看Pod/Deployment/Service)海外Freelancer平台(Upwork/Toptal)时薪$60-150。CKA持证者:18-30K/月(运维/DevOps岗)CKAD+CKS双持:25-40K/月(云原生架构师)

IT99_的博客 5841

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Kubernetes 认证安全专家(CKS)学习指南(一)

CKS 考试验证你在 Kubernetes 中与安全相关的实际操作知识。你需要理解核心 Kubernetes 基元和概念,以满足安全需求,如 RBAC、网络策略和 Ingress。考试还涉及有用的第三方安全工具。你需要展示如何有效地使用这些工具。通过 CKA 考试是 CKS 考试的必要条件。如果你还没有通过 CKA 考试,请确保先通过 CKA。以下章节与考试大纲一致,这样你可以将内容映射到学习目标上。每章结束时,你会找到一些示例练习来巩固你的知识。每个领域的讨论以对最重要的学习要点的简短总结结束。

龙哥盟 2967

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

CKS认证考试视频教程2023k8s1.26版本介绍:掌握Kubernetes安全核心知识,助力认证考试

CKS认证考试视频教程2023k8s1.26版本介绍:掌握Kubernetes安全核心知识,助力认证考试 去发现同类优质开源项目:https://gitcode.com/ 随着云计算技术的普及,Kubernetes已成为容器编排领域的事实标准。而CKS认证考试视频教程2023k8s1.26版本,正是为了满足广大开发者对Kubernetes安全领域知识的需求。以下是对该项目的核心功能和场景的简要介绍...

gitblog_06770的博客 1207

K8S认证|CKS题库+答案| 3. 默认网络策略

指定网络策略

Dances with Cloud Native 1263

k8s学习-CKS考试必过宝典

使用用户工作负载的静态分析(例如kubernetes资源,Docker文件)在主机和容器级别执行系统调用进程和文件活动的行为分析,以检测恶意活动。保护您的供应链:将允许的注册表列入白名单,对镜像进行签名和验证。检测物理基础架构,应用程序,网络,数据,用户和工作负载中的威胁。设置适当的OS级安全域,例如使用PSP, OPA,安全上下文。谨慎使用服务帐户,例如禁用默认设置,减少新创建帐户的权限。检测攻击的所有阶段,无论它发生在哪里,如何扩散。考后24小时会收到结果,祝大家考试成功!

关注网络安全、云原生安全 1785

Kubernetes认证怎么选?CCNA、CKA、CKS哪个最值得考?

Kubernetes认证如何选择?本文提供云原生技能认证推荐,对比CCNA、CKA、CKS适用场景与含金量,帮助开发者精准定位职业路径。涵盖考试难度、学习资源与就业优势,助力技术进阶,值得收藏。

PoliVein的博客 931
上一篇: kubernetes CKS 4.3 Pod安全策略(PSP)
下一篇: kubeadm部署k8s直接证书100年
cloud_engineer
博客等级 码龄5年 9390粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值