
# 服务
服务（Service）为集群中的工作负载提供了固定的访问方式，集群控制台支持创建以下服务：
- [**集群内访问（ClusterIP）**]
  表示工作负载暴露给同一集群内其他工作负载访问的方式，可以通过"集群内部域名"访问。集群内部域名格式为"\<自定义的访问方式名称\>.\<工作负载所在命名空间\>.svc.cluster.local"，例如"nginx.default.svc.cluster.local"。
  
- [**节点访问（NodePort）**]
  表示工作负载可以从集群外部访问。节点访问 ( NodePort )是指在每个节点的IP上开放一个静态端口，通过静态端口对外暴露服务。当集群中的节点绑定了EIP时，通过请求\<EIP\>:\<NodePort\>，也可实现从公网访问工作负载。
  
- [**负载均衡（LoadBalancer）**]
  通过弹性负载均衡从公网访问工作负载，一般用于系统中需要暴露到公网的服务。访问方式由公网弹性负载均衡ELB服务地址以及设置的访问端口组成，例如"10.117.117.117:80"。
  
 #### 集群内访问（ClusterIP）
1. 登录[UCS控制台](https://console.huaweicloud.com/ucs/?#/aether/dashboard)，进入集群页面。
2. 在左侧导航栏中选择"服务"，选择"服务"页签，并选择服务所在命名空间。如需新建命名空间，请参见[创建命名空间](https://support.huaweicloud.com/usermanual-ucs/ucs_01_0117.html#ucs_01_0117__zh-cn_topic_0167389656_section31143617514)。
3. 单击右上角"创建服务"，设置集群内访问参数。 
   - **Service名称：**自定义服务名称，可与工作负载名称保持一致。
   
   - **访问类型**：选择"集群内访问 ClusterIP"。
   
   - **命名空间：**工作负载所在命名空间。
   
   - **选择器：**添加标签，Service根据标签选择Pod，填写后单击"添加"。也可以引用已有工作负载的标签，单击"引用负载标签"，在弹出的窗口中选择负载，然后单击"确定"。
   
   - **端口配置：**
     - 协议：请根据业务的协议类型选择。
     
     - 服务端口：容器端口映射到集群虚拟IP上的端口，用虚拟IP访问工作负载时使用，端口范围为1-65535，可任意指定。
     
     - 容器端口：工作负载程序实际监听的端口，需用户确定。例如nginx程序实际监听的端口为80。
      
   
   
   
   
4. 单击"确定"，创建Service。
 
 #### 节点访问（NodePort）
1. 登录[UCS控制台](https://console.huaweicloud.com/ucs/?#/aether/dashboard)，进入集群页面。
2. 在左侧导航栏中选择"服务"，选择"服务"页签，并选择服务所在命名空间。如需新建命名空间，请参见[创建命名空间](https://support.huaweicloud.com/usermanual-ucs/ucs_01_0117.html#ucs_01_0117__zh-cn_topic_0167389656_section31143617514)。
3. 单击右上角"创建服务"，设置集群内访问参数。 
   - **Service名称：**自定义服务名称，可与工作负载名称保持一致。
   
   - **访问类型**：选择"节点访问 NodePort"。
   
   - **服务亲和：**
     - 集群级别：集群下所有节点的IP+访问端口均可以访问到此服务关联的负载，服务访问会因路由跳转导致一定性能损失，且无法获取到客户端源IP。
     
     - 节点级别：只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载，服务访问没有因路由跳转导致的性能损失，且可以获取到客户端源IP。
      
   
   - **命名空间：**工作负载所在命名空间。
   
   - **选择器：**添加标签，Service根据标签选择Pod，填写后单击"添加"。也可以引用已有工作负载的标签，单击"引用负载标签"，在弹出的窗口中选择负载，然后单击"确定"。
   
   - **端口配置：**
     - 协议：请根据业务的协议类型选择。
     
     - 服务端口：容器端口映射到集群虚拟IP上的端口，用虚拟IP访问应用时使用，端口范围为1-65535，可任意指定。
     
     - 容器端口：容器镜像中应用程序实际监听的端口，需用户确定。例如：nginx程序实际监听的端口为80。
     
     - 节点端口：容器端口映射到节点私有IP上的端口，用私有IP访问应用时使用，端口范围为30000-32767，建议选择"自动生成"。
       - 自动生成：系统会自动分配端口号。
       
       - 指定端口：指定固定的节点端口，默认取值范围为30000-32767。若指定端口时，请确保同个集群内的端口唯一性。
        
      
   
   
   
   
4. 单击"确定"，创建Service。
 
 #### 负载均衡（LoadBalancer）
1. 登录[UCS控制台](https://console.huaweicloud.com/ucs/?#/aether/dashboard)，进入集群页面。
2. 在左侧导航栏中选择"服务"，选择"服务"页签，并选择服务所在命名空间。如需新建命名空间，请参见[创建命名空间](https://support.huaweicloud.com/usermanual-ucs/ucs_01_0117.html#ucs_01_0117__zh-cn_topic_0167389656_section31143617514)。
3. 单击右上角"创建服务"，设置集群内访问参数。 
   - **Service名称：**自定义服务名称，可与工作负载名称保持一致。
   
   - **访问类型**：选择"负载均衡 LoadBalancer"。
   
   - **服务亲和：**
     - 集群级别：集群下所有节点的IP+访问端口均可以访问到此服务关联的负载，服务访问会因路由跳转导致一定性能损失，且无法获取到客户端源IP。
     
     - 节点级别：只有通过负载所在节点的IP+访问端口才可以访问此服务关联的负载，服务访问没有因路由跳转导致的性能损失，且可以获取到客户端源IP。
      
   
   - **命名空间：**工作负载所在命名空间。
   
   - **选择器：**添加标签，Service根据标签选择Pod，填写后单击"添加"。也可以引用已有工作负载的标签，单击"引用负载标签"，在弹出的窗口中选择负载，然后单击"确定"。
   
   - **端口配置：**
     - 协议：请根据业务的协议类型选择。
     
     - 服务端口：容器端口映射到集群虚拟IP上的端口，用虚拟IP访问应用时使用，端口范围为1-65535，可任意指定。
     
     - 容器端口：容器镜像中应用程序实际监听的端口，需用户确定。例如：nginx程序实际监听的端口为80。
      
   
   - **注解：**支持key/value对格式，请您根据自身业务以及厂家要求进行注解配置，填写完成后单击"添加"。
   
   
   
   
4. 单击"确定"，创建Service。
 
