Updated on 2024-06-17 GMT+08:00

ClusterIP

A ClusterIP Service allows workloads in the same cluster to use their cluster-internal domain names to access each other. A cluster-internal domain name is in the format of <User-defined Service name>.<Namespace of the workload>.svc.cluster.local, for example, nginx.default.svc.cluster.local.

Creating a Service

You can create a Service in either of the following ways:

During Workload Creation

The procedure of creating a Service is the same for different types of workloads, such as Deployments, StatefulSets, and DaemonSets.

  1. In the Service Settings step of Creating a Deployment, Creating a StatefulSet, or Creating a DaemonSet, click to configure the Service.

    • Name: name of the Service to be created.
    • Type: Select ClusterIP.
    • Port
      • Protocol: Select TCP or UDP.
      • Service Port: Port mapped to the container port at the cluster-internal IP address. The application can be accessed at <cluster-internal IP address>:<access port>. The port number range is 1–65535.
      • Container Port: Port on which the workload listens, defined in the container image. For example, the Nginx application listens on port 80 (container port).
    Figure 1 Workload Service settings

  2. Click OK.
  3. Click Next: Set Scheduling and Differentiation to configure the scheduling and differentiated settings for the selected clusters. After completing the settings, click Create Workload.
  4. Obtain the access address.

    1. In the navigation pane on the left, choose Services & Ingresses. The Services tab is displayed by default.
    2. Click the name of the added Service to go to its details page and obtain the access address of the deployment cluster.

After Workload Creation

  1. Log in to the UCS console. In the navigation pane on the left, 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 on the left, choose Services & Ingresses. The Services tab is displayed by default.
  4. 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. Set access parameters.

    Figure 2 Creating a Service

    • Name: Can be the same as the workload name.
    • Type: Select ClusterIP.
    • Port
      • Protocol: Select TCP or UDP.
      • Service Port: Port mapped to the container port at the cluster-internal IP address. The application can be accessed at <cluster-internal IP address>:<access port>. The port number range is 1–65535.
      • Container Port: Port on which the workload listens, defined in the container image. For example, the Nginx application listens on port 80 (container port).
    • 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. After the Service is created, you can view it in the list on the Services tab page.

Related Operations

You can also perform operations described in Table 1.
Table 1 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.