You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create a Kubernetes namespace for the NGINX deployment by running the following command:
76
+
77
+
```
78
+
kubectl create namespace <namespace>
79
+
```
80
+
81
+
For example:
82
+
83
+
```
84
+
kubectl create namespace mynginxns
85
+
```
86
+
87
+
The output will look similar to the following:
88
+
89
+
```
90
+
namespace/mynginxns created
91
+
```
92
+
73
93
74
94
### Generate a SSL Certificate
75
95
76
96
This section should only be followed if you want to configure your ingress for SSL.
77
97
78
-
1. Generate a private key and certificate signing request (CSR) using a tool of your choice. Send the CSR to your certificate authority (CA) to generate the certificate.
98
+
For production environments it is recommended to use a commercially available certificate, traceable to a trusted Certificate Authority.
99
+
100
+
For sandbox environments, you can generate your own self-signed certificates.
101
+
102
+
**Note**: Using self-signed certificates you will get certificate errors when accessing the ingress controller via a browser.
103
+
104
+
#### Using a Third Party CA for Generating Certificates
105
+
106
+
If you are configuring the ingress controller to use SSL, you must use a wildcard certificate to prevent issues with the Common Name (CN) in the certificate. A wildcard certificate is a certificate that protects the primary domain and it's sub-domains. It uses a wildcard character (*) in the CN, for example `*.yourdomain.com`.
107
+
108
+
How you generate the key and certificate signing request for a wildcard certificate will depend on your Certificate Authority. Contact your Certificate Authority vendor for details.
109
+
110
+
In order to configure the ingress controller for SSL you require the following files:
111
+
112
+
+ The private key for your certificate, for example `oam.key`.
113
+
+ The certificate, for example oam.crt in PEM format.
114
+
+ The trusted certificate authority (CA) certificate, for example `rootca.crt` in PEM format.
115
+
+ If there are multiple trusted CA certificates in the chain, you need all the certificates in the chain, for example `rootca1.crt`, `rootca2.crt` etc.
116
+
117
+
Once you have received the files, perform the following steps:
118
+
119
+
1. On the administrative host, create a `$WORKDIR>/ssl` directory and navigate to the folder:
120
+
121
+
```
122
+
mkdir $WORKDIR>/ssl
123
+
cd $WORKDIR>/ssl
124
+
```
125
+
126
+
1. Copy the files listed above to the `$WORKDIR>/ssl` directory.
79
127
80
-
If you want to use a certificate for testing purposes you can generate a self signed certificate using openssl:
128
+
1. If your CA has multiple certificates in a chain, create a `bundle.pem` that contains all the CA certificates:
@@ -124,11 +190,11 @@ This section should only be followed if you want to configure your ingress for S
124
190
```
125
191
126
192
127
-
### Create an ingress controller
193
+
### Install the ingress controller
128
194
129
-
In this section you create an ingress controller.
195
+
In this section you install the ingress controller.
130
196
131
-
If you can connect directly to the master node IP address from a browser, then install NGINX with the `--set controller.service.type=NodePort` parameter.
197
+
If you can connect directly to a worker node IP address from a browser, then install NGINX with the `--set controller.service.type=NodePort` parameter.
132
198
133
199
If you are using a Managed Service for your Kubernetes cluster, for example Oracle Kubernetes Engine (OKE) on Oracle Cloud Infrastructure (OCI), and connect from a browser to the Load Balancer IP address, then use the `--set controller.service.type=LoadBalancer` parameter. This instructs the Managed Service to setup a Load Balancer to direct traffic to the NGINX ingress.
134
200
@@ -142,12 +208,22 @@ The following sections show how to install the ingress with SSL or without SSL.
142
208
1. To configure the ingress controller to use SSL, run the following command:
+ `<domain_namespace>` is your namespace, for example `oamns`.
226
+
+ `<domain_namespace>` is your namespace, for example `mynginxns`.
151
227
+ `<http_port>` is the HTTP port that you want the controller to listen on, for example `30777`.
152
228
+ `<https_port>` is the HTTPS port that you want the controller to listen on, for example `30443`.
153
229
+ `<type>` is the controller type. If using NodePort set to `NodePort`. If using a managed service set to `LoadBalancer`. If using `LoadBalancer` remove `--set controller.service.nodePorts.http=<http_port>` and `--set controller.service.nodePorts.https=<https_port>`.
@@ -157,7 +233,16 @@ The following sections show how to install the ingress with SSL or without SSL.
+ `<domain_namespace>` is your namespace, for example `oamns`.
329
+
+ `<domain_namespace>` is your namespace, for example `mynginxns`.
237
330
+ `<http_port>` is the HTTP port that you want the controller to listen on, for example `30777`.
238
331
+ `<type>` is the controller type. If using NodePort set to `NodePort`. If using a managed service set to `LoadBalancer`. If using `LoadBalancer` remove `--set controller.service.nodePorts.http=<http_port>`.
1. Run the following command to check the ingress:
489
590
@@ -631,7 +732,7 @@ The following sections show how to install the ingress with SSL or without SSL.
631
732
$ curl -v http://${HOSTNAME}:${PORT}/oamconsole
632
733
```
633
734
634
-
The `${HOSTNAME}:${PORT}` to use depends on the value set for `hostName.enabled`. If `hostName.enabled: false` use the hostname and port where the ingress controller is installed, for example `http://masternode.example.com:30777`.
735
+
The `${HOSTNAME}:${PORT}` to use depends on the value set for `hostName.enabled`. If `hostName.enabled: false` use the hostname and port where the ingress controller is installed, for example `http://oam.example.com:30777`.
635
736
636
737
If using `hostName.enabled: true` then you can only access via the admin hostname, for example `https://admin.example.com/oamconsole`. **Note**: You can only access via the admin URL if it is currently accessible and routing correctly to the ingress host and port.
637
738
@@ -640,14 +741,14 @@ The following sections show how to install the ingress with SSL or without SSL.
0 commit comments