问题标签 [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.

0 投票
1 回答
1025 浏览

kubernetes - 如何使用 Kubernetes 在 Docker for Mac 中启用网络策略

有没有一种简单的方法可以启用Network PoliciesDocker Desktop for Macsingle-node k8s cluster管理?

0 投票
1 回答
103 浏览

networking - 允许 from-pod label 等于 to-pod label 的流量

我正在尝试在 kubernetes 中设置一个网络策略,其中允许具有相同键标签值的一组通用 pod 在一个端口上进行流量。

说有:

以及更多具有相同标签的 pod meshId=d5ea1b48。网格表示一个网格网络,其中所有包含的 pod 都被允许在一个端口上进行通信。

我的目标用 yaml 解释:

因此,如果我没记错的话,这个配置说:我想拒绝那些没有相同meshId.

有没有办法为所有可能meshId的 s 创建一个 kubernetes NetworkPolicy ?这种解决方案在 yaml 中的外观如何?

我不想为每个新的 NetworkPolicy 创建一个新的 NetworkPolicy,meshId因为它们会很多,而且我还认为如果有 50.000 多个 NetworkPolicy,这会损害集群网络的性能。

0 投票
2 回答
571 浏览

kubernetes - 如何允许/拒绝来自同一集群的其他命名空间的 http 请求?

在具有 2 个命名空间 (ns1ns2) 的集群中,我部署了相同的应用程序 ( deployment) 并使用服务公开它。

我认为单独的命名空间会阻止从curl http://deployment.ns1pod 中执行ns2,但显然,这是可能的。

所以我的问题是,如何允许/拒绝这样的跨命名空间操作?例如:

  • 中的 podns1应该接受来自任何命名空间的请求
  • 中的 pod(或服务?)ns2应该拒绝来自其他命名空间的所有请求
0 投票
1 回答
952 浏览

kubernetes - NetworkPolicy 不允许 HTTP/HTTPS 端口上的出口

我正在使用下面的 NetworkPolicy 来允许 HTTP 和 HTTPS 端口上的出口,但是wget https://google.com在应用网络策略时运行不起作用。域名已解析(DNS 出口规则有效)但连接到外部主机超时。

我已经尝试过使用 cilium 的 minikube 和使用 azure-npm 的 Azure,以防网络策略控制器出现问题,但两者的行为相同。我很困惑,因为我对 DNS 出口使用相同的方法(有效),但对于其他端口却失败了。

是什么阻止了 HTTP/HTTPS 端口的出口?

Kubernetes 版本 1.11.5

(是的,UDP 规则可能是不必要的,但在这里尝试一切)

(我也在wget私人服务器上尝试过,以防谷歌/等阻止 Azure IP,同样的结果)

(我也尝试过匹配入口规则,因为“为什么不”,结果相同)


kubectl describe关于网络策略:


最小的可重现示例:

然后:

0 投票
3 回答
14002 浏览

kubernetes - 如何检查网络策略是否已应用于 Pod?

我试图限制我的 openvpn 以允许访问内部基础设施并仅通过“开发”命名空间来限制它,所以我从拒绝所有出口流量的简单策略开始,并且看不到应用它的集群的任何效果或任何反馈,我已经阅读了所有官方文档和非官方文档,但没有找到解决方案,这是我的政策:

我已经使用kubectl apply -f policy.yaml命令应用了上面的网络策略,但我没有看到这个策略的任何效果,我仍然能够从我的 openvpn pod 连接到任何东西,如何调试它并查看我的策略有什么问题?

对我来说这似乎是一个黑匣子,只能做的是尝试错误方法,这似乎不是它应该如何工作的。

如何验证它是否找到了 pod 并将策略应用于它们?

我正在使用 GKE 提供的最新 kubernetes 集群

我注意到我没有在谷歌云设置中检查“使用网络策略”,在我检查了我的 vpn 之后就停止了工作,但我不知道如何检查它,或者为什么 vpn 只允许我连接并阻止所有网络请求,很奇怪,有没有办法调试而不是随机改变东西?

0 投票
0 回答
279 浏览

kubernetes - 启用 Calico 后 OpenVPN 停止工作(GKE 中节点的网络策略选项)

我为节点启用了网络策略以管理集群内的流量,并注意到,在我应用此选项后 OpenVPN 停止工作,其他一切正常,就像我登录到 openvpn pod 并尝试访问外部网络一样,应用 networkpolicy 没有'没有帮助,我该如何解决?为什么会这样?

0 投票
1 回答
301 浏览

kubernetes - 如何验证 networkpolicy 是否应用于特定的 pod?

每个文档/教程仅说明如何应用网络策略,但没有一个实际上说明如何验证您的策略是否已应用,如何做到这一点?网络策略管理的任何有用工具?

0 投票
1 回答
2620 浏览

nginx - Kubernetes Networkpolicy 没有按预期工作

我对 Calico 的网络策略相当陌生。我在集群上创建了以下 NetworkPolicy:

这就是我的阅读方式:所有具有选择器run=nginxnp的 pod 只能在端口 80 上从每个具有选择器的 pod 访问access=frontend

这是我的 nginx pod(其中有一个正在运行的 nginx):

我创建了一个这样的busybox容器:

我可以看到它与选择器匹配access=frontend

但是,当我执行进入busybox pod并尝试获取nginx pod时,连接仍然被拒绝。

我还尝试设置一个允许流量反过来的出口规则,但这也没有做任何事情。据我了解网络策略:没有设置规则时,没有任何内容被阻止。因此,当我没有设置出口规则时,出口不应该被阻止。

如果我删除网络策略,它会起作用。任何指针都受到高度赞赏。

0 投票
1 回答
1017 浏览

kubernetes - 允许出口流量到单个 IP 地址

我正在编写 Kubernetes 集群的网络策略。如何在出口策略中指定要授权的单个 IP 地址,而不是授权整个 IP 地址范围?

0 投票
2 回答
214 浏览

kubernetes - 如何在请求来自 kubernetes 内的 pod 的外部服务中限制源 IP

假设我有一个 mysql 服务,在这个 vm 上,我想通过 iptables 限制源 ip,但是源来自 kubernetes pod,有没有办法实现这个目标?让一些 pod 可以访问 mysql,其他 pod 不能。

顺便说一句,我在 kubernetes 集群中的所有服务类型都是 clusterIP

我知道我可以在 kubernetes 集群中做一些网络策略,但是在 DBA 视图中,

这是你的事,我不敢相信你,我会通过 iptables 执行我的规则。

  • Kubernetes 版本:1.13.4
  • kube 代理模式:ipvs
  • 覆盖网络:印花布
  • 入口控制器:nginx