You can remove an interface from one or more nodes in the cluster by editing the NodeNetworkConfigurationPolicy object and setting the state of the interface to absent.
Removing an interface from a node does not automatically restore the node network configuration to a previous state. If you want to restore the previous state, you will need to define that node network configuration in the policy.
If you remove a bridge or bonding interface, any node NICs in the cluster that were previously attached or subordinate to that bridge or bonding interface are placed in a down state and become unreachable. To avoid losing connectivity, configure the node NIC in the same policy so that it has a status of up and either DHCP or a static IP address.
|
|
Deleting the node network policy that added an interface does not change the configuration of the policy on the node.
Although a NodeNetworkConfigurationPolicy is an object in the cluster, it only represents the requested configuration.
Similarly, removing an interface does not delete the policy.
|
Procedure
-
Update the NodeNetworkConfigurationPolicy manifest used to create the interface. The following example removes a Linux bridge and configures the eth1 NIC with DHCP to avoid losing connectivity:
apiVersion: nmstate.io/v1
kind: NodeNetworkConfigurationPolicy
metadata:
name: <br1-eth1-policy> (1)
spec:
nodeSelector: (2)
node-role.kubernetes.io/worker: "" (3)
desiredState:
interfaces:
- name: br1
type: linux-bridge
state: absent (4)
- name: eth1 (5)
type: ethernet (6)
state: up (7)
ipv4:
dhcp: true (8)
enabled: true (9)
| 1 |
Name of the policy. |
| 2 |
Optional: If you do not include the nodeSelector parameter, the policy applies to all nodes in the cluster. |
| 3 |
This example uses the node-role.kubernetes.io/worker: "" node selector to select all worker nodes in the cluster. |
| 4 |
Changing the state to absent removes the interface. |
| 5 |
The name of the interface that is to be unattached from the bridge interface. |
| 6 |
The type of interface. This example creates an Ethernet networking interface. |
| 7 |
The requested state for the interface. |
| 8 |
Optional: If you do not use dhcp, you can either set a static IP or leave the interface without an IP address. |
| 9 |
Enables ipv4 in this example. |
-
Update the policy on the node and remove the interface:
$ oc apply -f <br1-eth1-policy.yaml> (1)
| 1 |
File name of the policy manifest. |