如何禁止从 Kubernetes 中的 pod ip 访问容器端口
How to disallow access to a container port from the pod ip in Kubernetes
默认情况下,Kubernetes 允许 pods 使用 pod IP 访问其他 pods。
我有 2 个 pods。 Pod1 和 Pod2。 Pod1 有一个 mysql 服务器和一个 PHP 应用程序。 Pod2 有一个 php 应用程序。 Pod1 的 ip 是 174.17.0.4,在 Pod2 中,php 应用程序可以从地址 174.17.0.4:3306
.
访问 mysql 服务器
Pod1 和 Pod2 是 2 个不同的应用程序。 Pod2 与 Pod1 没有任何关系。所以我担心的是,如果 Pod2 被黑,黑客可以扫描网络并暴力攻击 Pod1 mysql 服务器。
如何禁止从 pod1 外部访问 mysql 端口 3306
?
如果您的集群设置支持 NetworkPolicy
资源,您可以查看 network policy。有了它,您可以将特定的入口和出口策略设置为特定的 pods.
声明 Network Policy
的第一步是安装具有网络策略支持的 network provider
。有关更多信息,请按照 link. As I was using Minikube
, I installed Cilium
. Follow this link 了解如何安装它。并确保你的硬盘上有足够的 space 否则你的 Cilium pods
将处于 pending
状态并在事件 1 node had taints that the pod didn't tolerate
.
中出现此错误
默认情况下,Kubernetes 允许 pods 使用 pod IP 访问其他 pods。
我有 2 个 pods。 Pod1 和 Pod2。 Pod1 有一个 mysql 服务器和一个 PHP 应用程序。 Pod2 有一个 php 应用程序。 Pod1 的 ip 是 174.17.0.4,在 Pod2 中,php 应用程序可以从地址 174.17.0.4:3306
.
Pod1 和 Pod2 是 2 个不同的应用程序。 Pod2 与 Pod1 没有任何关系。所以我担心的是,如果 Pod2 被黑,黑客可以扫描网络并暴力攻击 Pod1 mysql 服务器。
如何禁止从 pod1 外部访问 mysql 端口 3306
?
如果您的集群设置支持 NetworkPolicy
资源,您可以查看 network policy。有了它,您可以将特定的入口和出口策略设置为特定的 pods.
声明 Network Policy
的第一步是安装具有网络策略支持的 network provider
。有关更多信息,请按照 link. As I was using Minikube
, I installed Cilium
. Follow this link 了解如何安装它。并确保你的硬盘上有足够的 space 否则你的 Cilium pods
将处于 pending
状态并在事件 1 node had taints that the pod didn't tolerate
.