摘要:创建类型对象的文件。 第 9 行指定通过执行的过滤将其应用于什么。 输入正确的用户名和密码即可成功连接到提供的数据库服务。 我希望你能通过一个例子来理解它是如何工作的。
为 NetworkPolicy 类型的 Kubernetes 对象创建 yaml 文件。
第 9 行的 podSelector 指定了此 NetworkPolicy 应用的 pod,并按标签过滤 pod。
从第 16 行开始的 Ingress 定义表明,只有带有标签 component=ads、module=app 的 pod 才能连接到带有 component=ads、module=db 的 pod。做。
首先创建一个临时 pod 并使用正确的标签(component=ads、module=app)访问数据库 pod:
kubectl run -[k4 ]restart=Never [ k4]it --rm --image=postgres:9.6 --labels=“组件=广告,模块=应用程序”--env=“PGCONNECT_TIMEOUT= 5” " helper --命令-- /bin/bash
执行后,会显示提示root@helper:/#。 这显示了我们创建的临时 Pod。 以上命令成功。 连接到 postgreSQL pod。
输入正确的用户名和密码即可成功连接postgreSQL pod提供的数据库服务。
现在重新创建临时 Pod,而不指定标签。 因此,它不满足 NetworkPolicy 中定义的约束,因此您将看到预期的结果。 PostgreSQL 连接连接失败。
我们希望这个示例可以帮助您了解 NetworkPolicy 在 Kubernetes 中的工作原理。
获取更多Jerry原创文章,请关注公众号“王子熙”:
评论前必须登录!
注册