Skip to content

Commit 2854138

Browse files
authored
Merge pull request #95759 from ShaunaDiaz/OSDOCS-14578
OSDOCS-14578: adds ingress control options to MicroShift
2 parents 311d5ac + bd13f54 commit 2854138

File tree

5 files changed

+201
-44
lines changed

5 files changed

+201
-44
lines changed

microshift_configuring/microshift-ingress-controller.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@ include::modules/microshift-ingress-controller-tls-config.adoc[leveloffset=+2]
2222

2323
* xref:../microshift_configuring/microshift-using-config-yaml.adoc#microshift-config-snippets_microshift-configuring[Using configuration snippets]
2424

25-
* link:https://docs.redhat.com/container-platform/latest/networking/networking_operators/ingress-operator.html#nw-http2-haproxy_configuring-ingress[Enabling HTTP/2 Ingress connectivity] (OpenShift Container Platform documentation)
25+
* link:https://docs.redhat.com/container-platform/latest/networking/networking_operators/ingress-operator.html#nw-http2-haproxy_configuring-ingress[Enabling HTTP/2 Ingress connectivity] ({OCP} documentation)

modules/microshift-config-yaml-custom.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
:_mod-docs-content-type: CONCEPT
66
[id="microshift-yaml-custom_{context}"]
77
= Using custom settings
8+
89
To create custom configurations, make a copy of the `config.yaml.default` file that is provided in the `/etc/microshift/` directory, renaming it `config.yaml`. Keep this file in the `/etc/microshift/` directory, and then you can change supported settings that are expected to override the defaults before starting or restarting {microshift-short}.
910

1011
[IMPORTANT]

modules/microshift-default-settings.adoc

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ apiServer:
3333
subjectAltNames: []
3434
tls:
3535
cipherSuites:
36-
- ""
3736
minVersion: VersionTLS12
3837
debugging:
3938
logLevel: "Normal"
@@ -42,6 +41,31 @@ dns:
4241
etcd:
4342
memoryLimitMB: 0
4443
ingress:
44+
accessLogging:
45+
destination:
46+
type:
47+
container:
48+
maxLength: 1024
49+
syslog:
50+
address: ""
51+
facility: ""
52+
maxLength: 1024
53+
port: 0
54+
type: ""
55+
httpCaptureCookies:
56+
- matchType: ""
57+
maxLength: 0
58+
name: ""
59+
namePrefix: ""
60+
httpCaptureHeaders:
61+
request:
62+
- maxLength: 0
63+
name: ""
64+
response:
65+
- maxLength: 0
66+
name: ""
67+
httpLogFormat: ""
68+
status: Disabled
4569
certificateSecret: router-certs-default
4670
clientTLS:
4771
allowedSubjectPatterns:
@@ -54,8 +78,9 @@ ingress:
5478
mimeTypes:
5579
- ""
5680
httpEmptyRequestsPolicy: Respond
57-
listenAddress:
58-
- ""
81+
httpErrorCodePages:
82+
name: ""
83+
listenAddress: []
5984
logEmptyRequests: Log
6085
ports:
6186
http: 80
@@ -65,14 +90,7 @@ ingress:
6590
wildcardPolicy: WildcardPolicyAllowed
6691
status: Managed
6792
tlsSecurityProfile:
68-
type: Custom
69-
custom:
70-
ciphers:
71-
- ECDHE-ECDSA-CHACHA20-POLY1305
72-
- ECDHE-RSA-CHACHA20-POLY1305
73-
- ECDHE-RSA-AES128-GCM-SHA256
74-
- ECDHE-ECDSA-AES128-GCM-SHA256
75-
minTLSVersion: VersionTLS12
93+
type: Intermediate
7694
tuningOptions:
7795
clientFinTimeout: "1s"
7896
clientTimeout: "30s"

modules/microshift-ingress-controller-conc.adoc

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,30 @@
66
[id="microshift-ingress-control-concept_{context}"]
77
= Using ingress control in {microshift-short}
88

9-
When you create your {microshift-short} cluster, each pod and service running on the cluster is allocated an IP address. These IP addresses are accessible to other pods and services running nearby by default, but are not accessible to external clients. {microshift-short} uses a minimal implementation of the {ocp} `IngressController` API to enable external access to cluster services.
9+
When you create your {microshift-short} cluster, each pod and service running on the cluster is allocated an IP address. These IP addresses are accessible to other pods and services running nearby by default, but are not accessible to external clients. {microshift-short} uses a minimal implementation of the {OCP} `IngressController` API to enable external access to cluster services.
1010

11-
With more configuration options, you can fine-tune ingress to meet your specific needs. To use enhanced ingress control, update the parameters in the {microshift-short} configuration file and restart the service. Ingress configuration is useful in a variety of ways, for example:
11+
With more configuration options, you can fine-tune ingress to meet your specific needs. To use enhanced ingress control, update the parameters in the {microshift-short} configuration file and restart the service.
1212

13-
* If your application starts processing requests from clients but the connection is
14-
closed before it can respond, you can set the `ingress.tuningOptions.serverTimeout` parameter in the configuration file to a higher value to accommodate the speed of the response from the server.
13+
Ingress configuration is useful in a variety of ways, for example:
1514

15+
Accommodate server response speed::
16+
* If your application starts processing requests from clients but the connection closes before it can respond, you can set the `ingress.tuningOptions.serverTimeout` parameter in the configuration file to a higher value to accommodate the speed of the response from the server.
17+
18+
Closing router connections::
1619
* If the router has many connections open because an application running on the cluster does not close connections properly, you can set the `ingress.tuningOptions.serverTimeout` and `spec.tuningOptions.serverFinTimeout` parameters to a lower value, forcing those connections to close sooner.
1720

18-
* If you need to configure the ingress controller to verify client certificates, you can use the `ingress.clientTLS` parameter to set a clientCA value, which is a reference to a config map. The config map contains the PEM-encoded CA certificate bundle that is used to verify a client's certificate. Optionally, you can also configure a list of certificate subject filters.
21+
Verify client certificates::
22+
* If you need to configure the ingress controller to verify client certificates, you can use the `ingress.clientTLS` parameter to set a clientCA value, which is a reference to a config map. The config map contains the PEM-encoded CA certificate bundle that is used to verify a client's certificate. Optionally, you can also configure a list of certificate subject filters.
1923

24+
Configure a TLS security profile::
2025
* If you need to configure a TLS security profile for an ingress controller, you can use the `ingress.tlsSecurityProfile` parameter to specify a default or custom individual TLS security profiles. The TLS security profile defines the minimum TLS version and the TLS ciphers for TLS connections for the ingress controllers.
2126
If a TLS security profile is not configured, the default value is based on the TLS security profile set for the API server.
2227

23-
* If you need to define a policy for handling new route claims, you can use the `routeAdmission` parameter to allow or deny claims across namespaces. You set the `routeAdmission` parameter to describe how hostname claims across namespaces should be handled and to describe how routes with wildcard policies are handled by the ingress controller.
28+
Create policies for new route claims::
29+
* If you need to define a policy for handling new route claims, you can use the `routeAdmission` parameter to allow or deny claims across namespaces. Set the `routeAdmission` parameter to describe how hostname claims across namespaces should be handled and to describe how the ingress controller handles routes with wildcard policies.
30+
31+
Customize error pages::
32+
* If you want more than the default error pages, which are usually empty and only return the HTTP status code, configure custom error pages.
33+
34+
Capture HTTP headers or cookies::
35+
* If you want to include the capture of HTTP headers or cookies, configure them in the access logging.

0 commit comments

Comments
 (0)