kubernetes - 使用网络策略将命名空间中的 pod 与其他命名空间隔离
问题描述
有没有办法将一个命名空间与访问其他命名空间隔离,但仍然能够离开集群我有 10 个命名空间,我希望这 1 个命名空间内的 pod 不能与其他命名空间通信,但仍然能够出去集群到外部资源,而这仅应用于 1 个命名空间,其他 9 个命名空间可以相互通信
解决方案
试试这个
kind: NetworkPolicy
apiVersion: networking.k8s.io/v1
metadata:
namespace: default //your 1 namespaces on which you want to deny all traffic.
name: deny-from-other-namespaces
spec:
podSelector:
matchLabels:
ingress:
- from:
- podSelector: {}
请注意有关此清单的一些事项:
- 命名空间:默认将其部署到默认命名空间。请根据您的需要进行更改。
- 它将策略应用于默认命名空间中的所有 pod,因为
spec.podSelector.matchLabels 为空,因此会选择所有 pod。 - 它允许来自默认命名空间中所有 pod 的流量,因为
spec.ingress.from.podSelector 为空,因此会选择所有 pod。这是一个很棒的关于网络策略的 github repo,我从中取了这个例子。
推荐阅读
- javascript - jQuery记住列表中的toggleClass状态
- python-3.x - 将 pandas 数据帧写入 Azure Blob - Python sdk
- php - Codeigniter 文件夹结构中的错误...您的应用程序文件夹路径似乎设置不正确
- macos - macOS 11.4 Beta 阻止网站在明显有效的证书上显示无效证书
- dataset - 如何减去SPSS中相同变量列中的值?
- elasticsearch - 有没有办法在弹性搜索中找出传入http请求的总数?
- c# - ProgressBar Marquee 没有动画
- python - C# 中是否有 .isConnected 功能的 python 等效项
- web - Google 网站和 DNS 设置
- javascript - 使按钮对元素执行多项操作的 Javascript