我有三个豆荚(部署)命名空间app01
,app02
和db
。db
通过ClusterIP
名称为的服务在集群中公开dbsvc
。我通过app01
并app02
使用群集DNS连接到服务,例如dbsvc.namespace.svc.cluster.local
。但是,我不希望任何人dbsvc
从我的名称空间外部访问。(由于它是ClusterIP,因此无论如何都无法在群集外部访问它)。
换句话说,我只想限制dbsvc.namespace.svc.cluster.local
从app01
和访问app02
。
我该如何实现?
可以使用支持网络插件的网络插件(CNI)来通过群集上的网络策略限制网络通信,例如calico。
策略选择器特定于部署,因此以下是一些示例值:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: app-network-policy
namespace: namespace
spec:
podSelector:
matchLabels:
role: db
policyTypes:
- Ingress
ingress:
- from:
- namespaceSelector:
matchLabels:
project: myproject
- podSelector:
matchLabels:
role: app
ports:
- protocol: TCP
port: 3306
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句