Skip to content

Commit 6d2a081

Browse files
committed
OSDOCS-16491: adds feature gates MicroShift
1 parent 45f9a90 commit 6d2a081

9 files changed

+108
-1
lines changed

_topic_maps/_topic_map_ms.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,8 @@ Topics:
135135
File: microshift-node-access-kubeconfig
136136
- Name: About the Generic Device Plugin
137137
File: microshift-gdp
138+
- Name: Using feature gates to develop solutions
139+
File: microshift-feature-gates
138140
- Name: Configuring MicroShift authentication and security
139141
Dir: microshift_auth_security
140142
Topics:
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
:_mod-docs-content-type: ASSEMBLY
2+
[id="microshift-feature-gates"]
3+
= Using feature gates to develop solutions for your applications
4+
include::_attributes/attributes-microshift.adoc[]
5+
:context: microshift-feature-gates
6+
7+
toc::[]
8+
9+
[role="_abstract"]
10+
Use feature gates to test new Kubernetes features for potential use in your {microshift-short} deployments.
11+
12+
include::modules/microshift-feature-gates-con.adoc[leveloffset=+1]
13+
14+
include::modules/microshift-feature-gates-using.adoc[leveloffset=+1]

microshift_configuring/microshift-using-config-yaml.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ include::_attributes/attributes-microshift.adoc[]
66

77
toc::[]
88

9+
[role="_abstract"]
910
Use the {microshift-short} YAML file to customize your preferences, settings, and parameters.
1011

1112
:FeatureName: The Generic Device Plugin for {microshift-short}

modules/microshift-config-nodeport-limits.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="microshift-nodeport-range-limits_{context}"]
77
= Extending the port range for NodePort services
88

9+
[role="_abstract"]
910
The `serviceNodePortRange` setting extends the port range available to NodePort services. This option is useful when specific standard ports under the `30000-32767` range need to be exposed. For example, if your device needs to expose the `1883/tcp` MQ Telemetry Transport (MQTT) port on the network because client devices cannot use a different port.
1011

1112
[IMPORTANT]

modules/microshift-config-parameters-table.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="microshift-config-parameters-table_{context}"]
77
= Parameters and values for the {microshift-short} config.yaml file
88

9+
[role="_abstract"]
910
The following table explains {microshift-short} configuration YAML parameters and valid values for each:
1011

1112
.{microshift-short} `config.yaml` parameters

modules/microshift-config-yaml-custom.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="microshift-yaml-custom_{context}"]
77
= Using custom settings
88

9+
[role="_abstract"]
910
To create custom configurations, make a copy of the `config.yaml.default` file that is given 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 override the defaults before starting or restarting {microshift-short}.
1011

1112
If you have just a few changes to make to the default settings, consider using configuration drop-in snippets as an alternative method.
@@ -22,4 +23,4 @@ Applications and other optional services used with your {microshift-short} node
2223
[TIP]
2324
====
2425
If you add all of the configurations you need at the same time, you can minimize system restarts.
25-
====
26+
====
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Module included in the following assemblies:
2+
//
3+
// microshift_configuring/microshift-feature-gates.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="microshift-feature-gates-con_{context}"]
7+
= Understanding feature gates for {microshift-short}
8+
9+
[role="_abstract"]
10+
As an application developer for edge computing environments, you can now experiment with upcoming Kubernetes features to evaluate their potential benefits for specific use cases. By using feature gates, you can test various enhancements that might improve performance in your resource-constrained edge environments. For example, you can try advanced CPU management, enhanced scheduling features, or experimental storage options.
11+
12+
[WARNING]
13+
====
14+
When you trial new features using feature gates, your {microshift-short} can become unstable or lose data. Enable feature gates only in non-production environments.
15+
====
16+
17+
When planning to use feature gates for development, consider the following details:
18+
19+
* After you specify feature gates, you cannot update {microshift-short}.
20+
* If you are configuration is not valid, {microshift-short} can fail to start.
21+
* The Kubernetes components you enable handle feature gate validation.
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
// Module included in the following assemblies:
2+
//
3+
// microshift_configuring/microshift-feature-gates.adoc
4+
5+
:_mod-docs-content-type: CONCEPT
6+
[id="microshift-feature-gates-using_{context}"]
7+
= Using feature gates for {microshift-short}
8+
9+
[role="_abstract"]
10+
To use feature gates in your development environment, you must specify them in the `config.yaml` file or create a configuration snippet file. You must also configure the feature set you want to work with. Feature gates are disabled by default in {microshift-short}. After you enable feature gates, you cannot disable them.
11+
12+
[IMPORTANT]
13+
====
14+
* A `config.yaml` configuration file takes precedence over built-in settings. The `config.yaml` file is read every time the {microshift-short} service starts.
15+
* Configuration snippet YAMLs take precedence over both built-in settings and the `config.yaml` configuration file.
16+
====
17+
18+
.Prerequisites
19+
20+
* You installed {microshift-short}.
21+
* You installed the `oc-first`.
22+
* You have `sudo` privileges on the {microshift-short} host.
23+
24+
.Procedure
25+
26+
. Apply features gates in one of the two following ways:
27+
28+
.. Update the {microshift-short} `config.yaml` configuration file by making a copy of the provided `config.yaml.default` file in the `/etc/microshift/` directory. Name it `config.yaml` and keep it in the source directory.
29+
30+
.. Use a configuration snippet to apply the ingress control settings you want. To do this, create a configuration snippet YAML file and put it in the `/etc/microshift/config.d/` configuration directory. For example, `/etc/microshift/config.d/10-fg.yaml`.
31+
32+
. Replace the default values in the `xyz` section of the {microshift-short} YAML with your valid values, or create a configuration snippet file with the sections you need.
33+
+
34+
.Feature gates configuration with example values
35+
[source,yaml]
36+
----
37+
apiServer:
38+
# ...
39+
featureGates:
40+
featureSet: TechPreviewNoUpgrade
41+
# ...
42+
featureGates:
43+
featureSet: CustomNoUpgrade
44+
customNoUpgrade:
45+
enabled:
46+
- "CPUManagerPolicyAlphaOptions"
47+
- "MemoryQoS"
48+
disabled:
49+
- "SomeDefaultEnabledFeature"
50+
# ...
51+
----
52+
53+
. Use the following configuration rules:
54+
.. The `featureSet` field is required when configuring feature gates.
55+
.. When you use `customNoUpgrade`, the `featureSet` must be set to `CustomNoUpgrade`.
56+
.. The `customNoUpgrade` field is only valid when `featureSet: CustomNoUpgrade`.
57+
58+
. Configure any settings required for the feature set you want to work with.
59+
60+
. Restart {microshift-short} to apply the configuration changes by running the following command:
61+
+
62+
[source,terminal]
63+
----
64+
$ sudo systemctl restart microshift
65+
----

modules/microshift-nw-advertise-address.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
[id="microshift-yaml-advertiseAddress_{context}"]
77
= Configuring the advertise address network flag
88

9+
[role="_abstract"]
910
The `apiserver.advertiseAddress` flag specifies the IP address on which to advertise the API server to members of the node. This address must be reachable by the node. You can set a custom IP address here, but you must also add the IP address to a host interface. Customizing this parameter preempts {microshift-short} from adding a default IP address to the `br-ex` network interface.
1011

1112
[IMPORTANT]

0 commit comments

Comments
 (0)