问题标签 [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 可以连接两个集群 IP 服务吗?
情况是我想连接一个租户内的两个集群 IP 服务,这些服务已经将 Traefik 作为 NodePort,以便这两个服务中的任何一个都可以成为 LoadBalancer,因为 NodePort 被 Traefik 使用。
我尝试连接的两个服务如下工作。第一个,我称为“Master”,将收到来自客户端的带有文本的帖子,并将调用另一个名为“slave”的服务,该服务将在发送的文本中添加一些文本(“Hola Patri”)客户。这两个服务是 Docker 镜像中的 app.py 定义的烧瓶服务。您可以在下面的两个图像中看到 app.py:
主/app.py
奴隶/app.py
部署和服务的配置在两个 yaml 中定义:master_src.yaml 和 slave_src.yaml。
master_src.yaml
slave_src.yaml
我还创建了一个网络策略来允许两个服务之间的流量。用于定义网络策略的 yaml 如下。
networkpolicy_src.yaml
主服务和从服务之间的连接不工作。我可以独立访问主从。然而,当我尝试向主服务器(使用 curl)进行 POST 并且它应该连接到从服务器时,我收到以下错误:
提前谢谢你的帮助!
对于我关于使用 traefik 的连接的新问题。这是 trafik 入口的 yaml:
我还更正了 networkpolicy yaml,现在是:
再次感谢你的帮助!
kubernetes - Kubernetes:Prometheus 上下文期限超过错误
我有几个运行 dev 命名空间的 nodejs 微服务,我公开指标并能够通过http://localhost:9187/metrics访问。
但是,当我部署运行监视命名空间的 prometheus 服务器时,我在 Targets 页面中收到以下错误。
获取http://1.../metrics:超出上下文期限。
我假设这些都不允许从命名空间监视访问,因此需要在命名空间 dev 中添加一个额外的,以允许命名空间监视中的 prometheus pod 抓取下面的 pod,或者这个错误的原因可能是什么?
将 netpol 添加到我的应用程序以允许 prometheus 进行命名空间监控的最佳方法是什么?
kubectl 获取 netpol -n dev
kubectl 获取 pods -n 监控
firewall - 网络策略文件,仅允许来自特定 IP 地址的流量
如何编写网络策略文件以允许流量仅从少数 IP 地址(例如:127.18.12.1、127.19.12.3)访问应用程序。我已经参考了文件https://github.com/ahmetb/kubernetes-network-policy-recipes但没有找到满意的答案。如果有人帮助我编写网络策略文件,那就太好了。我还参考了 Kubernetes 官方文档的网络策略。
我的示例代码
kubernetes - 在 Kubernetes 中使用 traefik 作为负载均衡器的问题
情况是我有两个 k8s 服务连接在它们之间。两者都是烧瓶服务器。它们之间的联系如下,如果有人对第一个进行 POST,这将获取文本输入并将其 POST 到第二个服务器,第二个服务器在用户发布的原始文本中添加更多文本,最后,两个文本一起返回到第一个服务器,并将最终文本返回给用户。
为了允许我的 k8s 服务(称为 master 和 slave,匹配标签 app-master 和 app-slave)之间的这种连接,我有以下 networkPolicy:
要从租户外部进行卷曲,我必须使用 traefik,因为我在一个已经将 traefik 作为 NodePort 的租户中工作,所以我不能将我的主服务公开为 nodePort 或将其转换为类 LoadBalancer。我有这个应用程序的入口是下一个
我还有一个 DNS,它允许我向地址 ( https://name_in_the_DNS ) 发出请求,而不是向我的租户的 IP 发出请求。问题是当我尝试执行以下请求时:
给我一个错误(网关超时)。如果我使用“kubectl port-forward”,则应用程序按预期工作。知道如何解决这个问题吗?我想这与 networkPolicy 有关,因为我在租户中有其他应用程序,并且 curl 请求适用于它们。
提前致谢!
查看服务和部署 yamls:在 Kubernetes 中可以连接两个集群 IP 服务吗?
kubernetes - 底层 Kubernetes 中的网络策略
我根据https://github.com/ahmetb/kubernetes-network-policy-recipes及其工作 fidn 创建和实施了网络策略,但是我想了解这到底是如何在后端实现的,如何网络策略允许或拒绝流量,通过修改 iptables ?哪些 kubernetes 组件参与实现此功能?
kubernetes - 如何将 VLAN 附加到 kubernetes pod?
我有一个环境,我们有一个裸机服务器(服务器 1),其 NIC 配置为通过 VLAN 5 流量。
CentOS 部署在这台服务器上。现在我有一个 kubernetes pod,运行 DHCP 服务。
现在我在同一个 VLAN 5 上有另一台服务器(服务器 2),它必须从我上面提到的 DHCP 服务获取 IP。
当 DHCP 请求来自服务器 2 时,它将到达服务器 1,因为服务器 1 配置为通过 VLAN 5。
但是如何让这个请求到达我在 CentOS 上运行的 DHCP 服务 pod?我应该如何配置这个 pod 的网络?
amazon-web-services - Kubernetes NetworkPolicy,只允许来自相同命名空间和 ALB 入口的流量
我正在尝试在 AWS EKS 下工作的 Kubernetes 上编写网络策略。我想要实现的是允许来自同一命名空间的 pod/pod 的流量,并允许从 AWS ALB Ingress 转发的外部流量。
AWS ALB Ingress 是在同一个 NameSpace 下创建的,所以我认为只使用DENY 来自其他命名空间的所有流量就足够了,但是当我使用来自 ALB Ingress 负载均衡器的流量时(其内部 IP 地址与 pod/豆荚)是不允许的。然后,如果我添加来自外部客户端的 ALLOW 流量,它允许进入,但也允许其他命名空间。
所以我的例子是这样的:(这不能按预期工作)
当使用第一个策略 ALB 入口被阻止时,添加第二个其他命名空间也被允许,这是我不想要的。我只能允许 AWS ALB Ingress 的内部 IP 地址,但它会随着时间的推移而变化,并且是动态创建的。
kubernetes - matchExpressions 如何在 NetWorkPolicy 中工作
我有两个 pod,即 payroll 和 mysql,分别标记为name=payroll
和name=mysql
。还有另一个名为 internal 的 pod 带有 label name=internal
。我试图允许从内部到其他两个 pod 的出口流量,同时允许所有入口流量。我的NetworkPoliy
样子是这样的:
这与两个 pod payroll 和 mysql 不匹配。我究竟做错了什么?
以下作品:
写 a 的最佳方法是什么NetWorkPolicy
,为什么第一个不正确?
我也想知道为什么该to
字段是一个数组,而podSelector
它也是一个数组?我的意思是他们是一样的吗?多个podSelector
或多个to
字段。使用其中之一有效。
kubernetes - 如何在 Kubernetes 中阻止来自特定命名空间的流量
我的 k8 集群中有多个命名空间。我想要的是开发命名空间中的 pod 可以与其他命名空间中的所有其他 pod 通信,但不应该能够与生产命名空间中的资源通信。
我无法找到这种情况的文档。有这样的拒绝所有政策
但它适用于同一命名空间中的 pod 级别。我怎样才能修改它以满足我的要求?
kubernetes - kubernetes网络策略,允许访问特定ip
我有以下任务要执行
创建一个命名空间取证
取证命名空间内的所有 pod 都不能与外界通信(出口隔离)
在默认命名空间中创建一个名为调查员的 pod。
取证命名空间中的 Pod 应该只允许来自调查者 pod 的 IP 的连接。
我创建了以下 Yaml 来做同样的事情。
我可以看到如图所示的描述政策
但我无法从调查员舱 ping 取证舱。
Ping 结果
我究竟做错了什么?