Skip to content

Commit 2d7d721

Browse files
authored
Merge pull request #748 from oracle/rmarano2
minor edits
2 parents caa7c93 + 6639f3a commit 2d7d721

File tree

1 file changed

+41
-39
lines changed

1 file changed

+41
-39
lines changed

site/ingress.md

Lines changed: 41 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,66 @@
1-
# Load balancing with Ingress
2-
Ingresses are one approach provided by Kubernetes to configure load balancers.
1+
# Load balancing with an Ingress
2+
Ingresses are one approach provided by Kubernetes to configure load balancers.
33
Depending on the version of Kubernetes you are using, and your cloud provider, you may need to use Ingresses.
4-
Please refer to [the Ingress documentation](https://kubernetes.io/docs/concepts/services-networking/ingress/)
4+
Please refer to [the Ingress documentation](https://kubernetes.io/docs/concepts/services-networking/ingress/)
55
for more information about Ingresses.
66

7-
## WebLogic clusters as backends of Ingress
7+
## WebLogic clusters as backends of an Ingress
88

9-
In an Ingress object, a list of backends are provided for each target that will be load balanced. Each backend is typically
10-
[a Kubernetes service](https://kubernetes.io/docs/concepts/services-networking/service/), more specifically, a combination of a `serviceName` and a `servicePort`.
9+
In an Ingress object, a list of backends are provided for each target that will be load balanced. Each backend is typically
10+
[a Kubernetes service](https://kubernetes.io/docs/concepts/services-networking/service/), more specifically, a combination of a `serviceName` and a `servicePort`.
1111

12-
When the WebLogic operator creates a WebLogic domain, it also creates a service for each WebLogic cluster in the domain.
12+
When the WebLogic operator creates a WebLogic domain, it also creates a service for each WebLogic cluster in the domain.
1313
The operator defines the service such that its selector will match all WebLogic server pods within the WebLogic cluster
1414
which are in the "ready" state.
1515

16-
The name of the service created for a WebLogic cluster follows the pattern `<domainUID>-cluster-<clusterName>`.
17-
For example, if the `domainUID` is `domain1` and the cluster name is `cluster-1`, the corresponding service
18-
will be named `domain1-cluster-cluster-1`.
16+
The name of the service created for a WebLogic cluster follows the pattern `<domainUID>-cluster-<clusterName>`.
17+
For example, if the `domainUID` is `domain1` and the cluster name is `cluster-1`, the corresponding service
18+
will be named `domain1-cluster-cluster-1`.
1919

20-
The service name must comply with standard Kubernetes rules for naming of object and in particular with DNS-1035:
20+
The service name must comply with standard Kubernetes rules for naming of objects and in particular with DNS-1035:
2121
> A DNS-1035 label must consist of lower case alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character (e.g. 'my-name', or 'abc-123', regex used for validation is '[a-z]([-a-z0-9]*[a-z0-9])?').
2222
23-
To comply with these requirements, if the `domainUID` or the cluster name contains some upper-case characters or underscores, then
24-
in the service name the upper-case characters will be converted to lower-case and underscores will be converted to hyphens.
23+
To comply with these requirements, if the `domainUID` or the cluster name contains some upper-case characters or underscores, then
24+
in the service name the upper-case characters will be converted to lower-case and underscores will be converted to hyphens.
2525
For example, if the `domainUID` is `myDomain_1` and the cluster name is `myCluster_1`, the corresponding service will be named
26-
`mydomain-1-cluster-mycluster-1`.
26+
`mydomain-1-cluster-mycluster-1`.
2727

28-
The service, `serviceName` and `servicePort`, of a WebLogic cluster will be used in the routing rules defined in the Ingress
29-
object and the load balancer will route traffic to the WebLogic servers within the cluster based on the rules.
28+
The service, `serviceName` and `servicePort`, of a WebLogic cluster will be used in the routing rules defined in the Ingress
29+
object and the load balancer will route traffic to the WebLogic servers within the cluster based on the rules.
3030

31-
**Note** Most common ingress controllers, for example Traefik, Voyager and nginx,
32-
understand that there are zero or more actual pods behind the service, and they actually
33-
build their backend list and route requests to those backends directly, not through the service. This means that
34-
requests are properly balanced across the pods, according to the load balancing algorithm
35-
in use. Most ingress controllers also
36-
subscribe to updates on the service and adjust their internal backend sets when
31+
**Note**: Most common Ingress controllers, for example Traefik, Voyager, and nginx,
32+
understand that there are zero or more actual pods behind the service, and they actually
33+
build their backend list and route requests to those backends directly, not through the service. This means that
34+
requests are properly balanced across the pods, according to the load balancing algorithm
35+
in use. Most Ingress controllers also
36+
subscribe to updates on the service and adjust their internal backend sets when
3737
additional pods become ready, or pods enter a non-ready state.
3838

39-
## Steps to setup an Ingress load balancer
39+
## Steps to set up an Ingress load balancer
4040

41-
1. Install the Ingress controller.
42-
After the Ingress controller is running, it monitors Ingress resources in given namespace(s) and acts accordingly.
41+
1. Install the Ingress controller.
4342

44-
1. Create Ingress Resource(s)
45-
Ingress resources contain routing rules to one or more backends. An Ingress controller is responsible to apply the rules to the underlying load balancer.
46-
There are two approaches to create the Ingress resource:
47-
1. Use the helm chart [ingress-per-domain](../kubernetes/samples/charts/ingress-per-domain).
48-
Each Ingress provider supports a number of annotations in Ingress resources. This helm chart allows you to define the routing rules without dealing with the detailed provider-specific annotations. Currently we support two Ingress providers: Traefik and Voyager.
49-
50-
1. Create the Ingress resource manually from a YAML file.
51-
Manually create an Ingress YAML file and then apply it to the Kubernetes cluster.
43+
After the Ingress controller is running, it monitors Ingress resources in a given namespace(s) and acts accordingly.
44+
45+
2. Create Ingress resource(s).
46+
47+
Ingress resources contain routing rules to one or more backends. An Ingress controller is responsible to apply the rules to the underlying load balancer.
48+
There are two approaches to create the Ingress resource:
49+
50+
a. Use the Helm chart [ingress-per-domain](../kubernetes/samples/charts/ingress-per-domain).
51+
52+
Each Ingress provider supports a number of annotations in Ingress resources. This Helm chart allows you to define the routing rules without dealing with the detailed provider-specific annotations. Currently we support two Ingress providers: Traefik and Voyager.
53+
54+
b. Create the Ingress resource manually from a YAML file.
55+
56+
Manually create an Ingress YAML file and then apply it to the Kubernetes cluster.
5257

5358
## Guide and samples for Traefik and Voyager/HAProxy
54-
Traefik and Voyager/HAProxy are both popular Ingress controllers.
59+
Traefik and Voyager/HAProxy are both popular Ingress controllers.
5560
Information about how to install and configure these to load balance WebLogic clusters is provided here:
56-
- [Treafik guide](../kubernetes/samples/charts/traefik/README.md)
61+
- [Traefik guide](../kubernetes/samples/charts/traefik/README.md)
5762
- [Voyager guide](../kubernetes/samples/charts/voyager/README.md)
5863

5964
Samples are also provided for these two Ingress controllers, showing how to manage multiple WebLogic clusters as the backends, using different routing rules, host-routing and path-routing; and TLS termination:
60-
- [Treafik samples](../kubernetes/samples/charts/traefik/samples)
65+
- [Traefik samples](../kubernetes/samples/charts/traefik/samples)
6166
- [Voyager samples](../kubernetes/samples/charts/voyager/samples)
62-
63-
64-

0 commit comments

Comments
 (0)