k8s使用calico网络插件时,Nodeport 仅在指定节点暴露端口+防火墙策略配置方法

前言

我们在内网使用k8s时,对外暴露的服务通常是通过Nodport出去的,但是,Nodeport存在下面几个问题:

  1. Nodeport会在集群所有节点都暴露端口,有时候我们只希望在其中一两台暴露端口
  2. Nodeport暴露的端口无法通过firewall管理,无法限制端口访问来源,有时会存在安全问题。

k8s默认支持一些网络策略的设置,可以参考 k8s NetworkPolicy 介绍,但是,这些策略仅能对k8s里面的pod,对于Nodeport这种无法设置。
幸运的是,如果我们使用k8s的网络插件是calico,可以通过calico的扩展功能来完成 Nodeport 仅在指定节点暴露端口以及针对整个k8s集群内节点的防火墙设置。

关于集群防火墙设置的基础操作,请参考 k8s使用calico网络插件时,集群内节点防火墙策略配置方法,默认禁用全部访问的操作请参考该文档。
在全部禁用以后,我们可以选择几个心仪的节点开放端口了,下面以开放端口32050为例:

首先选择要开放的节点,编辑之前声明好的HostEndpointkubectl edit HostEndpoint xxx ,编辑里面的labels,打上一个特定的标签,比如 open-node。(忘记了之前的HostEndpoint叫什么可以先查看: kubectl get HostEndpoint

然后新建一个网络策略,优先级设置的比之前创建的拒绝全部访问的策略高(order越小小优先级越高),前面博客中创建的默认order为20,这里可以随便设置一个order小于20的,加入我们要开放32050端口,参考的配置如下:

apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
  name: allow-my-service
spec:
# 生效顺序从小到大排序,这里设置的较小,优先生效
  order: 10
  preDNAT: true
  applyOnForward: true
  ingress:
  # 接受目标端口为32050的所有请求
    - action: Allow
      destination:
      # 配置方法可以参考  https://docs.tigera.io/calico/latest/reference/resources/networkpolicy#entityrule
        ports:
          - 32050
  selector: has(open-node)   # 选择器。选择了包含open-node标签的所有HostEndpoint

这里还可以设置只允许指定来源的ip,排除指定来源的ip,排除指定端口,选择指定端口。具体规则设置方法请参考: calico官方文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/596491.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

记一次动态规划的采坑之旅, 741摘樱桃 https://leetcode.cn/problems/cherry-pickup/description/

首次看题目时,发现是困难。立马想到了,动态规划。 再看题目, 摘樱桃,还要返回摘两次,求摘最多的樱桃。 大脑第一反应就是: 先使用动态规划,找到 0 0 到 n-1 n-1处走过的最大樱桃, 并…

【码银送书第十九期】《图算法:行业应用与实践》

作者:嬴图团队 01 前言 在当今工业领域,图思维方式与图数据技术的应用日益广泛,成为图数据探索、挖掘与应用的坚实基础。本文旨在分享嬴图团队在算法实践应用中的宝贵经验与深刻思考,不仅促进业界爱好者之间的交流,…

AI不只是技术,更是一种思维方式

一、AI思维 1.个人:提升自己的综合能力,成为一名懂技术、懂设计、懂硬件、懂市场运营等知识的综合型人才 2.数据:从全局视角看数据流向,挖掘数据价值 3.产品:运用新技术,发掘新需求点,探索产…

AI智体的分级:从基于规则到基于LLM

摘要: AI智体被定义为感知环境、做出决策和采取行动的人工实体。受SAE(汽车工程师学会)自动驾驶6个级别的启发,AI智体也根据效用和强度进行分类,分为以下几个级别:L0——无AI,有工具&#xff0…

马常旭新歌《如愿》:音乐界的“旭日”再现

在这个春暖花开的季节,音乐界又迎来了一股清新的“旭日”气息。是的,就在2024年4月17日,马常旭的新歌《如愿》(旭日版)在网易云音乐上线了!一年的等待,终于迎来了他的音乐回归,给我们…

C语言知识点补充——ASCLL码表

1、ASCLL码表 ASCII码表(American Standard Code for Information Interchange)是一种用于将字符编码为数字的标准。它定义了128个字符的编码方式,包括数字、字母、标点符号和控制字符等。每个字符都对应一个唯一的7位或8位二进制数 2、Ascl…

贪吃蛇项目(小白保姆级教程)

游戏介绍 游戏背景: 贪吃蛇游戏是经典的游戏项目之一,也是很简单的小游戏 实现背景: 这里我们是基于32位的Win32_API进行实现的 需要的知识点: C语言函数、枚举、结构体、动态内存管理、预处理指令、链表、Win32_API等 适合人群&a…

java中的字符串(String)常量池理解

下面创建String对象的方式一样吗? 上述程序创建对象类似,为什么s1和s2引用对象一样,但是s3和s4不一样呢? 在java程序中,许多基本类型的字面常量会经常用到,例如2,3.11,“hyy”等。为了提升程序…

C语言动态内存管理malloc、calloc、realloc、free函数、内存泄漏、动态内存开辟的位置等的介绍

文章目录 前言一、为什么存在动态内存管理二、动态内存函数的介绍1. malloc函数2. 内存泄漏3. 动态内存开辟位置4. free函数5. calloc 函数6. realloc 函数7. realloc 传空指针 总结 前言 C语言动态内存管理malloc、calloc、realloc、free函数、内存泄漏、动态内存开辟的位置等…

25.哀家要长脑子了---哈希表

1.525. 连续数组 - 力扣(LeetCode) 在我对通义千问的一番折磨下,终于弄清楚一点点了。哈希表存储前缀和数组值 用一个counter来记录nums中0、1数量差值的变化。 哈希表map存储某个特定的counter值首次出现的位置。counter的计算:…

【LeetCode 121】买卖股票的最佳时机

思路 思路: 所谓代码的复杂性来源于业务的复杂性,如果能够想清楚业务实现逻辑,就能够轻松写出代码; 假设当前是第i天,如何在第i天赚到最多的钱?需要在第i天之前以最低价买入股票; 所以需要求…

13 【PS作图】人物绘画理论-脸型

三庭五眼 三庭:脸的长度比例 (1)发际线到眉毛 (2)眉毛到鼻底 (3)鼻底到下巴 三个部分大致为三等分 五眼:脸的宽度比例 以眼睛长度为单位,把脸的宽度分成五等分&#x…

[极客大挑战 2019]PHP

1.通过目录扫描找到它的备份文件,这里的备份文件是它的源码。 2.源码当中涉及到的关键点就是魔术函数以及序列化与反序列化。 我们提交的select参数会被进行反序列化,我们要构造符合输出flag条件的序列化数据。 但是,这里要注意的就是我们提…

求解亲和数

【问题描述】 古希腊数学家毕达哥拉斯在自然数研究中发现,220的所有真约数(即不是自身 的约数)之和为: 1245101120224455110284。而284的所有真约数为1、2、4、71、142,加起来恰好为220。人 们对这样的数感到很惊奇&am…

五种主流数据库:窗口函数

SQL 窗口函数为在线分析系统(OLAP)和商业智能(BI)提供了复杂分析和报表统计的功能,例如产品的累计销量统计、分类排名、同比/环比分析等。这些功能通常很难通过聚合函数和分组操作来实现。 本文比较了五种主流数据库实…

嵌入式学习67-C++(多线程,自定义信号合槽,串口通信)

知识零碎: QmessageBox 报错提示框 GPS传感器获取到的 经纬度信息并不是真实的物理坐标,还需要转换 signals: …

【JAVA入门】Day03 - 数组

【JAVA入门】Day03 - 数组 文章目录 【JAVA入门】Day03 - 数组一、数组的概念二、数组的定义2.1 数组的静态初始化2.2 数组的地址值2.3 数组元素的访问2.4 数组遍历2.5 数组的动态初始化2.6 数组的常见操作2.7 数组的内存分配2.7.1 Java内存分配2.7.2 数组的内存图 一、数组的概…

234234235

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

周刊是聪明人筛选优质知识的聪明手段!

这是一个信息过载的时代,也是一个信息匮乏的时代。 这种矛盾的现象在 Python 编程语言上的表现非常明显。 它是常年高居编程语言排行榜的最流行语言之一,在国外发展得如火如荼,开发者、项目、文章、播客、会议活动等相关信息如海如潮。 但…

对XYctf的一些总结

对XYctf的一些总结 WEB 1.http请求头字段 此次比赛中出现的: X-Forwarded-For/Client-ip:修改来源ip via:修改代理服务器 还有一些常见的字段: GET:此方法用于请求指定的资源。GET请求应该安全且幂等&#xff0c…
最新文章