# 内网访问
#### 概述
使用Service访问创建LoadBalancer类型的Service，配置ELB（私网），通过ELB私网IP访问负载。该方式适合CCI中同一个命名空间中的负载相互访问，云服务内部资源（云容器实例以外的资源，如ECS等）且与负载在同一个VPC内互相访问，以及在同一个VPC不同命名空间的负载也可以选择此种方式。通过ELB的"IP:Port"为内网提供服务。
负载中最小的资源单位就是Pod，访问负载就是访问负载中的Pod。
#### 约束与限制
- 此处创建的ELB需要与负载所在命名空间在同一个VPC内。
- CCI暂时不支持共享型负载均衡，建议您创建独享型ELB实例。
 
#### 配置内网访问-工作负载创建完成后设置
在工作负载创建完成后对Service进行配置，此配置对工作负载状态无影响，且实时生效。具体操作如下：
1. 登录[云容器实例 CCI 2.0](https://console.huaweicloud.com/cci2.0/?#/cci/cluster/list)控制台。
2. 左侧导航栏中选择"服务管理"，在右侧页面单击"YAML创建"。
3. 导入或者添加Service yaml。 
   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。
     spec:
       selector:
         app: kubectl-test #关联的负载label。
       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。
     }
     },
     "spec": {
     "selector": {
     "app": "kubectl-test" #关联的负载label。
     },
     "type": "LoadBalancer"
                     "ports": [
     {
     "name": "service-0",
     "targetPort": 80,     #容器开放的端口。
     "port": 12222,        #访问端口。
     "protocol": "TCP",    #访问负载的协议。
     }
     ]
     }
     }
     ```
     
   
   
   
   
4. 单击"确定"，创建Service。查看服务管理页面，根据访问地址私网IP和端口映射中的访问端口\[私网IP:访问端口\]，即可通过内网访问负载。
 
#### 更新Service
您可以在添加完Service后，更新此Service的访问端口，操作步骤如下：
1. 登录[云容器实例 CCI 2.0](https://console.huaweicloud.com/cci2.0/?#/cci/cluster/list)控制台。
2. 左侧导航栏中选择"服务管理 "，在服务管理页面中，选择对应的命名空间，单击需要更新端口配置的Service后的"YAML编辑"。
3. 仅支持更新Service内访问端口参数修改。 
   **端口配置：** spec.ports\[i\].port：访问端口，端口范围为1-65535，可任意指定。
   ![](https://support.huaweicloud.com/usermanual-cci2/public_sys-resources/note_3.0-zh-cn.png)
   Service创建完成后，不支持修改监听器协议（例如将TCP修改为UDP，或将HTTP修改为HTTPS）。如需修改协议，请删除原Service后重新创建。
   
   
4. 单击"确定"，工作负载已更新Service。
