更新时间:2025-06-16 GMT+08:00
为Service配置黑名单/白名单访问策略
概述
使用Service服务时,您可以通过添加白名单和黑名单的方式控制访问负载均衡监听器的IP。
- 白名单:指定的IP允许访问,而其它IP拒绝访问。
- 黑名单:指定的IP拒绝访问,而其它IP允许访问。
前置条件
已在ELB控制台创建IP地址组,详情请参见创建IP地址组。
配置黑名单/白名单访问策略
- 登录云容器实例 CCI2.0控制台。
- 左侧导航栏中选择“服务管理”,在右侧页面单击“YAML创建”。
- 导入或者添加Service yaml,配置参数见表1。
Service文件格式说明
- Service.yaml资源描述
apiVersion: cci/v2 kind: Service metadata: name: kubectl-test namespace: kubectl annotations: kubernetes.io/elb.class: elb kubernetes.io/elb.id: 1234567890 #关联的elb id,只支持独享型elb,不支持共享型elb。 kubernetes.io/elb.acl-id: <your_acl_id> # ELB的IP地址组ID kubernetes.io/elb.acl-type: 'white' # 白名单控制 spec: selector: app: kubectl-test ports: - name: service-0 targetPort: 80 #容器开放的端口。 port: 12222 #访问端口。 protocol: TCP #访问负载的协议。 type: LoadBalancer
- Service.json资源描述
{ "apiVersion": "cci/v2", "kind": "Service", "metadata": { "name": "kubectl-test", "namespace": "kubectl", "annotations": { "kubernetes.io/elb.class": "elb" "kubernetes.io/elb.id": "1234567890" #关联的elb id,只支持独享型elb,不支持共享型elb。 "kubernetes.io/elb.acl-id": "<your_acl_id>" # ELB的IP地址组ID "kubernetes.io/elb.acl-type": "white" # 白名单控制 } }, "spec": { "selector": { "app": "kubectl-test" }, "ports": [ { "name": "service-0", "targetPort": 80, #容器开放的端口。 "port": 12222, #访问端口。 "protocol": "TCP", #访问负载的协议。 "type": "LoadBalancer" } ] } }
- Service.yaml资源描述
- 单击“确定”,创建Service。查看服务管理页面,根据访问地址IP和端口映射中的访问端口[IP地址:访问端口],即可访问负载。
- 如果配置策略为白名单,仅白名单中IP地址可以访问,其余IP地址拒绝访问。
- 如果配置策略为黑名单,则黑名单中IP地址拒绝访问,其余IP地址均可访问。
参数 |
类型 |
描述 |
---|---|---|
kubernetes.io/elb.acl-id |
String |
|
kubernetes.io/elb.acl-type |
String |
为ELB设置IP地址黑名单或白名单时需填写,取值如下:
如果填写了kubernetes.io/elb.acl-id,且kubernetes.io/elb.acl-type字段没有填写时,默认策略为白名单访问。 |
父主题: 服务(Service)