Ingresses
An Ingress uses load balancers as the entry for external traffic. Compared with load balancers at Layer 4, load balancers at Layer 7 support URI configurations and distribute traffic to the corresponding Services based on the corresponding URIs. You can customize forwarding rules based on domain names and URLs to implement fine-grained distribution of access traffic. The access address is in the format of <IP address of public network load balancer>:<access port><defined URI>, for example, 10.117.117.117:80/helloworld.
Prerequisites
A workload is available. If no workload is available, create one by following the procedure described in Workloads.
Creating an Ingress
- Log in to the UCS console. In the navigation pane, choose Fleets.
- On the Fleets tab, click the name of the federation-enabled fleet to access its details page.
- In the navigation pane, choose Services & Ingresses. Then, click the Ingresses tab.
- Select the namespace that the Ingress will belong to and click Create Ingress in the upper right corner. For details about how to create a namespace, see Creating a Namespace.
Figure 1 Selecting a namespace
- Configure Ingress parameters.
Figure 2 Creating a route
- Ingress Name: name of the Ingress to be created.
- Namespace: namespace that the Ingress belongs to.
- Interconnect with Nginx: There are ELB Ingress Controller and Nginx Ingress Controller. Both of them are supported in UCS. ELB Ingress Controller forwards traffic through ELB. Nginx Ingress Controller uses the templates and images maintained by the Kubernetes community to forward traffic through the Nginx component.
- ELB Ingress: Do not enable Interconnect with Nginx.
- Nginx Ingress: Click to enable Interconnect with Nginx.
Before creating an Nginx Ingress, install the Nginx Ingress Controller add-on for the corresponding cluster.
- For details about how to install the add-on for the CCE cluster, see Creating Nginx Ingress Controller on the Console.
- For details about how to install the add-on for the on-premises cluster, see Ingress-NGINX for Layer 7 Load Balancing.
- For details about how to install add-ons for other types of clusters, see Nginx Ingress Controller.
- Listener: Select an external protocol. HTTP and HTTPS are supported. If you select HTTPS, select an IngressTLS server certificate. If no desired certificate is available, click Create IngressTLS Secret to create an IngressTLS secret. For details, see Secrets.
- SNI: Server Name Indication (SNI) is an extended protocol of TLS. It allows multiple TLS-based access domain names to be provided for external systems using the same IP address and port number. Different domain names can use different security certificates.
- Forwarding Policy: When the access address of a request matches the forwarding policy (a forwarding policy consists of a domain name and URL, for example, 10.117.117.117:80/helloworld), the request is forwarded to the corresponding target Service for processing. You can add multiple forwarding policies.
- Domain Name: (Optional) actual domain name. Ensure that the domain name has been registered and licensed. Once a forwarding policy is configured with a domain name specified, you must use the domain name for access.
- URL: access path to be registered, for example, /healthz. The access path must be the same as the URL exposed by the backend application. Otherwise, a 404 error will be returned.
- Backend Service: Select a Service name. You need to create the NodePort Service first. For details, see NodePort.
- Backend Service Port: After you select the backend Service, the corresponding container port is automatically filled in.
- Cluster: Select the cluster where the Ingress is to be deployed.
Figure 3 Adding a cluster
- CCE cluster:
- Exposed Port: port opened on the load balancer, which can be specified randomly.
- Load Balancer: Only load balancers in the VPC where the cluster resides are supported. If no load balancer is available, click Create Load Balancer. After the load balancer is created, click the refresh button.
When creating an Nginx Ingress, you do not need to manually select a load balancer because a load balancer has been associated during add-on installation.
- Other clouds
Figure 4 Adding a cluster
- Ingress Class: You can select an existing Ingress class or manually enter an Ingress class name.
- Annotation: Enter an annotation in a key-value pair based on your service and vendor requirements.
- To create an internal load balancer, add the annotation based on the cloud service provider of your cluster. For details, see Internal load balancer.
- CCE cluster:
- Click OK. After the Ingress is created, you can view it in the list on the Ingresses tab.
- Obtain the access address.
- In the navigation pane, choose Services & Ingresses. Then, click the Ingresses tab.
- Click the name of the created Ingress. On the Ingress Details page displayed, view the load balancer and listener port configurations. You can access a backend pod using the EIP of the load balancer, listener port, and URL, for example, 10.117.117.117:8088/helloworld.
Related Operations
Operation |
Description |
---|---|
Creating an Ingress from a YAML file |
Click Create from YAML in the upper right corner to create an Ingress from an existing YAML file. |
Viewing details |
|
Editing a YAML file |
Click Edit YAML in the row where the target Ingress resides to view and edit the YAML file of the Ingress. |
Updating an Ingress |
|
Deleting an ingress |
Choose More > Delete in the row where the target Ingress resides. Then, click Yes. |
Deleting Ingresses in batches |
|
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot