Updated on 2024-09-19 GMT+08:00

LoadBalancer

A workload can be accessed from a public network through a load balancer. This access type is applicable to Services that need to be exposed to a public network in the system. The access address is in the format of <IP address of public network load balancer>:<access port>, for example, 10.117.117.117:80.

Prerequisites

A workload is available. If no workload is available, create one by following the procedure described in Workloads.

Creating a Service

  1. Log in to the UCS console. In the navigation pane, choose Fleets.
  2. On the Fleets tab, click the name of the federation-enabled fleet to access its details page.
  3. In the navigation pane, choose Services & Ingresses.
  4. On the Services tab, select the namespace that the Service will belong to and click Create Service in the upper right corner. For details about how to create a namespace, see Creating a Namespace.
  5. On the Services tab, click Create Service. Then, configure the parameters.

    Figure 1 Creating a Service

    • Name: Enter a Service name consisting of 1 to 50 characters.
    • Type: Select LoadBalancer.
    • Affinity
      • Cluster-level: The IP addresses and access ports of all nodes in a cluster can be used to access the workloads associated with the Service. However, performance loss is introduced due to hops, and source IP addresses cannot be obtained.
      • Node-level: Only the IP address and access port of the node where the workload is located can be used to access the workload associated with the Service. Service access will not cause performance loss due to route redirection, and the source IP address of the client can be obtained.
    • Port
      • Protocol: Select TCP or UDP.
      • Service Port: Specify a port to map a container port to the load balancer. The port range is 1–65535. The port will be used when the application is accessed through the load balancer.
      • Container Port: Port on which the workload listens, defined in the container image. For example, the Nginx application listens on port 80 (container port).
    • Cluster: Add a cluster where load balancers are to be deployed and complete differentiated load balancer settings.
      Figure 2 Adding a cluster
      • CCE cluster:
        • Load Balancer: Only load balancers in the VPC where the cluster resides are supported.
        • Algorithm

          Weighted round robin: Distributes requests to backend servers based on weights.

          Weighted least connections: Distributes requests to backend servers with the smallest ratio (current connections divided by weight).

          Source IP hash: Allocates requests from the client IP address to a fixed server, allowing the entire session to be processed by the same server.

        • Sticky Session: This function is disabled by default. You can select Source IP. Listeners ensure session stickiness based on IP addresses. Requests from the same IP address will be routed to the same backend server.
        • Health Check: This function is disabled by default. You can select either HTTP or TCP to enable health checks for your load balancer. For details about the parameters, see Table 1.
          Table 1 Health check parameters

          Parameter

          Description

          Example

          Check Path

          This parameter is available if you have selected HTTP for Health Check. Specify the URL for health checks. The check path must start with a slash (/) and contain 1 to 80 characters.

          /

          Port

          Health check port. The port number ranges from 1 to 65535.

          By default, the Service ports (node port and container port of the NodePort Service) are used.

          80

          Check Interval (s)

          Maximum time between health checks, in seconds.

          The value ranges from 1 to 50.

          5

          Timeout (s)

          Maximum time required for waiting for a response from the health check, in seconds.

          The value ranges from 1 to 50.

          10

          Max. Retries

          Maximum number of health check retries. The value ranges from 1 to 10.

          5

      • Other clouds: Enter annotations in the key-value pair format based on your service and vendor requirements.
    • Namespace: namespace to which the Service belongs.
    • Selector: Services are associated with workloads (labels) through selectors. Click Reference Workload Label to reference the labels of an existing workload.
      • Type: Select the desired workload type.
      • Workload: Select an existing workload. If your workload is not displayed in the list, click to refresh it.
      • Label: After a workload is selected, its labels are displayed and cannot be modified.
      Figure 3 Referencing a workload label

  6. Click OK.
  7. Obtain the access address.

    1. In the navigation pane, choose Services & Ingresses.
    2. On the Services tab, click the name of the added Service to go to its details page. Then, obtain the access address of the cluster. You can access a backend pod using the EIP and port number of the load balancer.

Related Operations

You can also perform operations described in Table 2.
Table 2 Related operations

Operation

Description

Creating a Service from a YAML file

Click Create from YAML in the upper right corner to create a Service from an existing YAML file.

Viewing details

  1. Select the namespace to which the Service belongs.
  2. (Optional) Search for a Service by its name.
  3. Click the Service name to view its details, including the basic information and cluster deployment information.
  4. On the Service Details page, click View YAML in the Cluster area to view or download YAML files of Service instances deployed in each cluster.

Editing a YAML file

Click Edit YAML in the row where the target Service resides to view and edit the YAML file of the Service.

Updating a Service

  1. Choose More > Update in the row where the target Service resides.
  2. Modify the information by referring to 5.
  3. Click OK to submit the modified information.

Deleting a Service

Choose More > Delete in the row where the target Service resides, and click Yes.

Deleting Services in batches

  1. Select the Services to be deleted.
  2. Click Delete in the upper left corner.
  3. Click Yes.