kubernetes - Kubernetes 中的网络策略在不同的命名空间中不起作用
问题描述
我按照这篇文章检查了网络策略的功能
https://medium.com/better-programming/how-to-secure-kubernetes-using-network-policies-bbb940909364
创建了 3 个命名空间 web、中间件和数据库,为 web 和中间件创建了与文章中提到的完全相同的网络策略。
而不是以下命令来创建部署
$ kubectl 创建部署 nginx --image=ewoutp/docker-nginx-curl -n web
$ kubectl 创建部署 nginx --image=ewoutp/docker-nginx-curl -n 中间件
$ kubectl 创建部署 nginx --image=ewoutp/docker-nginx-curl -n 数据库
我使用了这个 yaml 内容
enter code here
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
spec:
replicas: 1
selector:
matchLabels:
tier: web
template:
metadata:
labels:
tier: web
spec:
containers:
- name: nginx
image: ewoutp/docker-nginx-curl
command:
- "/bin/sh"
- "-c"
- while true; do echo $(date) >> /mnt/blob/outfile; sleep 1; done
strategy:
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
type: RollingUpdate
根据网络策略,我的中间件应该从我的网络命名空间获取连接,但它不起作用。
我收到如下错误
curl:(7)无法连接到端口 80:连接被拒绝命令以退出代码 7 终止
我怀疑网络策略没有正确应用,如果我在这里犯了任何错误,有人可以告诉我。请查看文章以获取更多详细信息。
提前致谢 :)
解决方案
推荐阅读
- javascript - 在列表元素 Javascript 上设置随机背景
- vuex - NUXT 将数据传递给动态端点中的道具
- java - 如何检查互联网是否在 Android 中实际可用?
- apache-zookeeper - Zookeper 中的法定人数与多数人
- c# - 如何在 WPF MVVM 的视图模型中访问代码隐藏中分配的属性?
- django - Django中index_together字段的慢查询
- sql - Python 脚本中 SQL 语法中的未知列
- c - 如果哈希映射是键和值的列表,那么什么是唯一键的列表(无值)?
- python-3.x - 将 os.path 转换为 pathlib 模块没有按预期工作
- c# - 如何在 C# 中从一种形式导航到另一种形式?