Skip to content

Commit ba24b33

Browse files
committed
OSDOCS-14578: adds ingress control options to MicroShift
1 parent ffec83d commit ba24b33

File tree

5 files changed

+203
-29
lines changed

5 files changed

+203
-29
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: 38 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,15 @@ apiServer:
3333
subjectAltNames: []
3434
tls:
3535
cipherSuites:
36-
- ""
36+
- TLS_AES_128_GCM_SHA256
37+
- TLS_AES_256_GCM_SHA384
38+
- TLS_CHACHA20_POLY1305_SHA256
39+
- TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
40+
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
41+
- TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
42+
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
43+
- TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
44+
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
3745
minVersion: VersionTLS12
3846
debugging:
3947
logLevel: "Normal"
@@ -42,6 +50,31 @@ dns:
4250
etcd:
4351
memoryLimitMB: 0
4452
ingress:
53+
accessLogging:
54+
destination:
55+
type:
56+
container:
57+
maxLength: 1024
58+
syslog:
59+
address: ""
60+
facility: ""
61+
maxLength: 1024
62+
port: 0
63+
type: ""
64+
httpCaptureCookies:
65+
- matchType: ""
66+
maxLength: 0
67+
name: ""
68+
namePrefix: ""
69+
httpCaptureHeaders:
70+
request:
71+
- maxLength: 0
72+
name: ""
73+
response:
74+
- maxLength: 0
75+
name: ""
76+
httpLogFormat: ""
77+
status: Disabled
4578
certificateSecret: router-certs-default
4679
clientTLS:
4780
allowedSubjectPatterns:
@@ -54,8 +87,9 @@ ingress:
5487
mimeTypes:
5588
- ""
5689
httpEmptyRequestsPolicy: Respond
57-
listenAddress:
58-
- ""
90+
httpErrorCodePages:
91+
name: ""
92+
listenAddress: []
5993
logEmptyRequests: Log
6094
ports:
6195
http: 80
@@ -65,14 +99,7 @@ ingress:
6599
wildcardPolicy: WildcardPolicyAllowed
66100
status: Managed
67101
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
102+
type: Intermediate
76103
tuningOptions:
77104
clientFinTimeout: "1s"
78105
clientTimeout: "30s"

modules/microshift-ingress-controller-conc.adoc

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,31 @@
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+
Ingress configuration is useful in a variety of ways, for example:
14+
15+
Accommodate server response speed::
1316
* If your application starts processing requests from clients but the connection is
1417
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.
1518

19+
Closing router connections::
1620
* 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.
1721

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.
22+
Verify client certificates::
23+
* 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.
1924

25+
Configure a TLS security profile::
2026
* 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.
2127
If a TLS security profile is not configured, the default value is based on the TLS security profile set for the API server.
2228

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.
29+
Create policies for new route claims::
30+
* 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.
31+
32+
Customize error pages::
33+
* If you want more than the default error pages, which are usually empty and only return the http status code, configure custom error pages.
34+
35+
Capture HTTP headers or cookies::
36+
* If you want to include the capture of HTTP headers or cookies, configure access logging.

0 commit comments

Comments
 (0)