Kubernetes 使用ConfigMap指定白名单CIDR块的列表 我想做什么
我想应用ConfigMap中定义的IP白名单。我希望将列表保持在外部,因为将它放在一个文件中比将块内联更容易。白名单将由不同名称空间中的许多服务使用 我所拥有的 从以下规范文件中删除了很多内容,但希望保留的内容足够多 我将ConfigMap中的白名单定义为: apiVersion:v1 种类:配置地图 数据: 白名单: #范例 - 127.0.0.1/32 #等等。 元数据: 姓名:白名单 在本例中,我的服务是: apiVersion:v1 种类:服务 元数据: 名称:示例 标签: 标签:示例 注意,服务类型是默认的,因为我依赖入口来公开它。这不能改变 该服务位于入口定义之后:Kubernetes 使用ConfigMap指定白名单CIDR块的列表 我想做什么,kubernetes,whitelist,kubernetes-ingress,kubernetes-networkpolicy,Kubernetes,Whitelist,Kubernetes Ingress,Kubernetes Networkpolicy,我想应用ConfigMap中定义的IP白名单。我希望将列表保持在外部,因为将它放在一个文件中比将块内联更容易。白名单将由不同名称空间中的许多服务使用 我所拥有的 从以下规范文件中删除了很多内容,但希望保留的内容足够多 我将ConfigMap中的白名单定义为: apiVersion:v1 种类:配置地图 数据: 白名单: #范例 - 127.0.0.1/32 #等等。 元数据: 姓名:白名单 在本例中,我的服务是: apiVersion:v1 种类:服务 元数据: 名称:示例 标签: 标签:示例
apiVersion:extensions/v1beta1
种类:入口
元数据:
名称:示例
规则:
-主持人:example.com
#... 港口等
我试过的
改变服务类型
将服务定义为类型:LoadBalancer
。这正是我想要的,因为很容易使用ConfigMap,然后我意识到我无法出于业务原因更改服务类型
使用入口注释
apiVersion:extensions/v1beta1
种类:入口
# ...
元数据:
姓名:白名单
注释:
nginx.ingres.kubernetes.io/whitelist-source-range:“块A”、“块B”
这有点有效,但我不知道如何使用ConfigMap而不是逗号分隔的列表。这里我应该注意到,任何允许我使用外部定义列表的解决方案都是可以接受的,并且它不必是ConfigMap
使用网络策略
apiVersion:networking.k8s.io/v1
种类:网络策略
元数据:
名称:示例网络策略
规格:
保单类型:
-入口
进入:
-发件人:
-ipBlock:
苹果酒:嗯。。。我可以在这里添加ConfigMap吗?
-名称空间选择器:
#…等等
到目前为止,这看起来是最有希望的,但选择器似乎只接受一个块
使用入口注释
批注中不支持ConfigMaps
使用网络策略
入口
和出口
是阵列结构,因此您可以尝试此方法,但不确定是否适合您:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: example-network-policy
spec:
policyTypes:
- Ingress
ingress:
- from:
- ipBlock:
cidr: <cidr1>
- namespaceSelector:
# ...etc
- from:
- ipBlock:
cidr: <cidr2>
- namespaceSelector:
# ...etc
- from:
- ipBlock:
cidr: <cidr3>
- namespaceSelector:
# ...etc
apiVersion:networking.k8s.io/v1
种类:网络策略
元数据:
名称:示例网络策略
规格:
保单类型:
-入口
进入:
-发件人:
-ipBlock:
苹果酒:
-名称空间选择器:
#…等等
-发件人:
-ipBlock:
苹果酒:
-名称空间选择器:
#…等等
-发件人:
-ipBlock:
苹果酒:
-名称空间选择器:
#…等等
使用入口注释
批注中不支持ConfigMaps
使用网络策略
入口
和出口
是阵列结构,因此您可以尝试此方法,但不确定是否适合您:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: example-network-policy
spec:
policyTypes:
- Ingress
ingress:
- from:
- ipBlock:
cidr: <cidr1>
- namespaceSelector:
# ...etc
- from:
- ipBlock:
cidr: <cidr2>
- namespaceSelector:
# ...etc
- from:
- ipBlock:
cidr: <cidr3>
- namespaceSelector:
# ...etc
apiVersion:networking.k8s.io/v1
种类:网络策略
元数据:
名称:示例网络策略
规格:
保单类型:
-入口
进入:
-发件人:
-ipBlock:
苹果酒:
-名称空间选择器:
#…等等
-发件人:
-ipBlock:
苹果酒:
-名称空间选择器:
#…等等
-发件人:
-ipBlock:
苹果酒:
-名称空间选择器:
#…等等