问题标签 [kubernetes-networkpolicy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - 监控或记录 Kubernetes NetworkPolicy 丢弃的网络流量
我对使用 Kubernetes NetworkPolicy 来控制网络策略很感兴趣。我想知道 NetworkPolicy 是否阻止流量,以便我可以修复策略或修复/停止任何违规行为。
我们使用 Calico,他们认为这是一项付费功能。https://github.com/projectcalico/calico/issues/1035
如果我们开始使用 Cilium, Ciliumcilium monitor
听起来会起作用。
http://docs.cilium.io/en/latest/troubleshooting/
是否有一种通用的、供应商中立的方法来监控违反 Kuberenetes NetworkPolicy 的网络流量?
kubernetes - /, Kind=NetworkPolicy 没有匹配项
我想在命名空间上设置拒绝所有出口策略
这是yaml文件
这给了我以下错误
我在服务器的 1.7 版上
kubernetes - 如何配置 Kubernetes Ingress 控制器以支持两种服务?
我有两个服务,web-service 在端口 80 上运行,admin-service 在端口 8000 上运行。我希望所有 http /admin 请求都被代理到 admin-service:8000 和所有其他请求去 web-服务:80。我已经尝试了下面的配置,但它似乎不起作用。我也在使用 Google Kubernetes Engine。
知道我可能做错了什么吗?
networking - 防止 Kubernetes 中的命名空间间通信
我是 Kubernetes 网络的新手。
我们已将 Kubernetes 集群分成一组命名空间(例如namespace-a
, namespace-b
)。每个命名空间都有一组 Kubernetes pod。每个 pod 都有一个可用的服务my-svc.namespace-x.svc.cluster.local
。
现在,我们要防止命名空间namespace-a
的 pod 与属于其一部分的服务或 pod 通信namespace-b
,反之亦然。命名空间内的通信应该不受限制。
这是我在网络策略文档中找到的示例: https ://kubernetes.io/docs/concepts/services-networking/network-policies/#the-networkpolicy-resource
据我了解,对于跨命名空间的所有 Pod,这完全阻止了网络通信。
- 如何允许所有网络流量,但只允许在特定命名空间内?
- 我是否需要网络插件,例如 Calico、Flannel 或 Weave?我应该选择哪一个?
kubernetes - Kubernetes 集群上的节点能否拥有动态 IP 的 OIC Classic
我正在将 K8s 部署到 Oracle 云基础设施,在那里我可以确保面向公共互联网的 IP 即使在重新启动实例时也保持静态。但是由于某种原因,实例的私有 IP 总是会发生变化。这让我想到了一个问题——Kubernetes 可以与重启后 IP 更改的节点一起工作吗?
这可能是一个相当菜鸟的问题,但我确实尝试在网上阅读,但找不到确凿的答案。
kubernetes - 多个网络策略规则在逻辑上被处理为“和”规则还是“或”?
在声明网络策略的文档的基本示例中: https ://kubernetes.io/docs/concepts/services-networking/network-policies/#the-networkpolicy-resource
因此,根据文档,这设置了几条规则:
这是否意味着“role=db”标签的 pod 可以从以下位置接收连接:
- 其他标签为“role=frontend”和命名空间标签为“project=myproject”的pod;或者
- 其他标签为“role=frontend”或命名空间标签为“project=myproject”的pod。
谢谢!
kubernetes - Kubernetes 中的冲突网络策略
假设我有 2 个网络策略,用于匹配标签“app=database”的节点。认为:
- 第一个策略具有阻止所有入口流量的规则。
- 第二个策略有一个规则,允许端口 5660 上的入口流量。
尽管这是一个简单的示例,但 Kubernetes 是如何决定哪条规则胜出的呢?在具有多个重叠规则的更复杂的场景中,可能会覆盖相似的 pod,这将如何管理?例如:我们可以在网络策略中定义优先级吗?
谢谢。
azure - 强制执行 NetworkPolicies 以控制对 Azure ACS 集群中 pod 的访问
我正在尝试设置 NetworkPolicy 来控制对在 acs 集群中运行的 pod 的访问。集群是使用 acs-engine 和 networkPolicy=azure 创建的。
用于创建集群的 json 文件的内容:
我正在应用的网络策略是拒绝所有进入我的命名空间中的 Pod 的流量:
所需的限制不受此 NetworkPolicy 的影响。
如果这甚至可能与“networkPolicy”:“azure”?
有人可以指出正确的方向来实现这一目标吗?
kubernetes - 如何使用出口网络策略允许访问 kubernetes api?
使用命令初始化容器kubectl get pod
用于获取其他 pod 的就绪状态。
开启 Egress NetworkPolicy 后,init container can't access Kubernetes API: Unable to connect to the server: dial tcp 10.96.0.1:443: i/o timeout
. CNI 是印花布。
尝试了几个规则,但没有一个有效(服务和主主机 IP,不同的 CIDR 掩码):
或使用命名空间(默认和 kube-system 命名空间):
看起来ipBlock
规则不起作用,命名空间规则不起作用,因为 kubernetes api 是非标准 pod。
可以配置吗?Kubernetes 是 1.9.5,Calico 是 3.1.1。
GKE 1.13.7-gke.8 和 calico 3.2.7 仍然存在问题
kubernetes - 使用 NetworkPolicy 将“kube-system”命名空间列入白名单
我有一个多租户集群,其中多租户是通过命名空间实现的。每个租户都有自己的命名空间。一个租户的 Pod 不能与其他租户的 Pod 通信。但是,每个租户中的一些 pod 必须使用 Ingress 向 Internet 公开服务。
这我走了多远(我正在使用 Calico):
为每个命名空间 ( tenant1
, tenant2
, ... ) 部署,这限制了其命名空间内 pod 之间的通信。但是,这会阻止kube-system
命名空间中的 pod 与此命名空间中的 pod 通信。
但是,kube-system
默认情况下,命名空间没有任何标签,因此我不能专门将该命名空间列入白名单。
我通过手动给它一个标签找到了一个(肮脏的)解决方法:
并将白名单规则添加到网络策略中:
有没有更好的解决方案,无需手动给出kube-system
标签?
编辑:我尝试另外添加一个“OR”规则,以专门允许来自具有标签“app=nginx-ingress”的 pod 的通信,但没有运气: