1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/networking/networking_operators/k8s-nmstate-about-the-k8s-nmstate-operator.adoc

75 lines
5.1 KiB
Plaintext

:_mod-docs-content-type: ASSEMBLY
[id="k8s-nmstate-about-the-k8s-nmstate-operator"]
= Kubernetes NMState Operator
include::_attributes/common-attributes.adoc[]
:FeatureName: Kubernetes NMState Operator
:context: k8s-nmstate-operator
toc::[]
[role="_abstract"]
The Kubernetes NMState Operator provides a Kubernetes API for performing state-driven network configuration across the {product-title} cluster's nodes with NMState. The Kubernetes NMState Operator provides users with functionality to configure various network interface types, DNS, and routing on cluster nodes. Additionally, the daemons on the cluster nodes periodically report on the state of each node's network interfaces to the API server.
[IMPORTANT]
====
Red{nbsp}Hat supports the Kubernetes NMState Operator in production environments on bare-metal, {ibm-power-name}, {ibm-z-name}, {ibm-linuxone-name}, {vmw-first}, and {rh-openstack-first} installations.
Red{nbsp}Hat support exists for using the Kubernetes NMState Operator on {azure-first} but in a limited capacity. Support is limited to configuring DNS servers on your system as a postinstallation task.
====
Before you can use NMState with {product-title}, you must install the Kubernetes NMState Operator. After you install the Kubernetes NMState Operator, you can complete the following tasks:
* Observing and updating the node network state and configuration
* Creating a manifest object that includes a customized `br-ex` bridge
For more information on these tasks, see the _Additional resources_ section.
[NOTE]
====
The Kubernetes NMState Operator updates the network configuration of a secondary NIC. The Operator cannot update the network configuration of the primary NIC, or update the `br-ex` bridge on most on-premise networks.
On a bare-metal platform, using the Kubernetes NMState Operator to update the `br-ex` bridge network configuration is only supported if you set the `br-ex` bridge as the interface in a machine config manifest file. To update the `br-ex` bridge as a postinstallation task, you must set the `br-ex` bridge as the interface in the NMState configuration of the `NodeNetworkConfigurationPolicy` custom resource (CR) for your cluster. For more information, see xref:../../installing/installing_bare_metal/bare-metal-postinstallation-configuration.adoc#creating-manifest-file-customized-br-ex-bridge_bare-metal-postinstallation-configuration[Creating a manifest object that includes a customized br-ex bridge] in _Postinstallation configuration_.
====
{product-title} uses link:https://nmstate.github.io/[`nmstate`] to report on and configure the state of the node network. This makes it possible to modify the network policy configuration, such as by creating a Linux bridge on all nodes, by applying a single configuration manifest to the cluster.
Node networking is monitored and updated by the following objects:
`NodeNetworkState`:: Reports the state of the network on that node.
`NodeNetworkConfigurationPolicy`:: Describes the requested network configuration on nodes. You update the node network configuration, including adding and removing interfaces, by applying a `NodeNetworkConfigurationPolicy` CR to the cluster.
`NodeNetworkConfigurationEnactment`:: Reports the network policies enacted upon each node.
[NOTE]
====
Do not make configuration changes to the `br-ex` bridge or its underlying interfaces as a postinstallation task.
====
[id="installing-the-kubernetes-nmstate-operator-cli"]
== Installing the Kubernetes NMState Operator
You can install the Kubernetes NMState Operator by using the web console or the CLI.
// Installing the Kubernetes NMState Operator by using the web console
include::modules/k8s-nmstate-installing-the-kubernetes-nmstate-operator.adoc[leveloffset=+2]
// Installing the Kubernetes NMState Operator by using the CLI
include::modules/k8s-nmstate-deploying-nmstate-CLI.adoc[leveloffset=+2]
// Viewing statistics collected by the Kubernetes NMState Operator
include::modules/viewing-stats-collected-kubernetes-nmtate-op.adoc[leveloffset=+2]
// Uninstalling the Kubernetes NMState Operator
include::modules/k8s-nmstate-uninstall-operator.adoc[leveloffset=+1]
[role="_additional-resources"]
[id="additional-resources_k8s-nmstate-view-stats_{context}"]
== Additional resources
* xref:../../networking/k8s_nmstate/k8s-nmstate-updating-node-network-config.adoc#virt-creating-interface-on-nodes_k8s-nmstate-updating-node-network-config[Creating an interface on nodes]
* xref:../../networking/k8s_nmstate/k8s-nmstate-updating-node-network-config.adoc#k8s-nmstate-updating-node-network-config[Observing and updating the node network state and configuration]
* xref:../../installing/installing_bare_metal/ipi/ipi-install-installation-workflow.adoc#creating-manifest-file-customized-br-ex-bridge_ipi-install-installation-workflow[Creating a manifest object that includes a customized br-ex bridge (Installer-provisioned infrastructure)]
* xref:../../installing/installing_bare_metal/upi/installing-bare-metal.adoc#creating-manifest-file-customized-br-ex-bridge_installing-bare-metal[Creating a manifest object that includes a customized br-ex bridge (User-provisioned infrastructure)]