|NO.Z.00419|——————————|CloudNative|——|KuberNetes&NetworkPolicy.V11|——|Ingress.v02|服务发布限制.v02|
一、服务发布限制于Ingress网络策略配置
### --- 创建服务发布限制于Ingress网络策略配置文件
~~~ 创建网络策略配置文件
[root@k8s-master01 ~]# vim frontend-nw.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: nginx-np
namespace: nw-demo
spec:
podSelector:
matchLabels:
app: nginx
policyTypes:
- Ingress
ingress:
- from:
- namespaceSelector:
matchLabels:
app.kubernetes.io/name: ingress-nginx
podSelector:
matchLabels:
"app.kubernetes.io/name": ingress-nginx
- podSelector: {}
ports:
- protocol: TCP
port: 80
二、配置文件说明
### --- 配置文件说明
~~~ 该条策略对具有app=nginx标签的Pod生效,
~~~ 只让具有app.kubernetes.io/name=ingress-nginx标签的Namespace下的
~~~ 具有app.kubernetes.io/name=ingress-nginx标签的Pod访问,
~~~ 同时还有一个允许当前Namespace下的Pod访问的策略- podSelector: {}。
~~~ 需要注意的是,读者的集群中已经安装了相关Ingress,
~~~ 并且需要根据实际的标签进行更改,
~~~ 如果读者集群目前并未安装Ingress,可以完成Ingress的学习后,再来测试该实验。
三、为nw-demo命名空间和ingress-nginxpod打上label
### --- 为nw-demo命名空间打上label
[root@k8s-master01 ~]# kubectl label namespace ingress-nginx app.kubernetes.io/name=ingress-nginx
namespace/ingress-nginx labeled
### --- 查看ingress-nginx.pod的label
~~~ 可以看到命名空间是有这个label的
~~~ 可以看到ingress-demo是有这个label的
[root@k8s-master01 ~]# kubectl get po -n ingress-nginx --show-labels
NAME READY STATUS RESTARTS AGE LABELS
ingress-nginx-controller-df4fz 1/1 Running 21 63d app.kubernetes.io/component=controller,app.kubernetes.io/instance=ingress-nginx,app.kubernetes.io/name=ingress-nginx,controller-revision-hash=dbd9d75d5,pod-template-generation=1
四、创建网络策略pod
### --- 创建网络策略pod
[root@k8s-master01 ~]# kubectl create -f frontend-nw.yaml
networkpolicy.networking.k8s.io/nginx-np created
五、查看创建的pod的资源
### --- 查看创建的pod的资源
[root@k8s-master01 ~]# kubectl get networkpolicy -n nw-demo -owide
NAME POD-SELECTOR AGE
nginx-np app=nginx 106s
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」