DELL APEX Cloud Platform for Red Hat OpenShift : Modifier les paramètres DNS du cluster
Résumé: Reportez-vous à ce document pour mettre à jour les paramètres DNS dans un cluster OpenShift.
Instructions
Configuration requise
- Vous devez accéder au cluster en tant qu’utilisateur doté du rôle cluster-admin.
- Vous devez disposer d’un compte Red Hat Customer Portal.
- Version de l’outil OpenShift CLI (OC) identique à la version OCP.
- Un ordinateur portable ou le serveur jump pour installer l’outil OC.
- Accédez à Red Hat OpenShift Container Platform Product Software
.
- Connectez-vous avec votre compte Portal.
- Sélectionnez la version OC appropriée en fonction de la version OCP.
- Faites défiler vers le bas, puis cliquez sur Télécharger maintenant en fonction de votre système d’exploitation client.
- Accédez à Red Hat OpenShift Container Platform Product Software
- Kubernetes NMState Operator 4.16.0 doit être installé.
- Lancez la console Web de votre solution Dell APEX Cloud Platform for Red Hat OpenShift.
- Sélectionnez Opérateurs → Opérateurs installés, puis recherchez les opérateurs « nmstate » pour vérifier si l’opérateur NMState est installé.
3. Si l’opérateur NMState n’est pas installé et que votre cluster dispose d’un accès à Internet, suivez Chapter 8: Configure OperatorHub on an Internet-Connected System dans l' Deployment Guide pour configurer OperatorHub. Ensuite, passez à l’étape 5.
4. Si l’opérateur NMState n’est pas installé et que votre cluster se trouve sur un réseau restreint, suivez Chapter 8: Configure OperatorHub on a Restricted Network dans l' Deployment Guide Pour préparer Kubernetes-NMSTATE-operator. Utilisez kubevirt-hyperconverged comme nom d’opérateur pour configurer les opérateurs NMState et Virtualization dans OperatorHub. Ensuite, passez à l’étape 5.
5. Suivez la solution de la base de connaissances OpenShift « Comment installer l’opérateur Kubernetes NMState » pour obtenir des instructions d’installation.
Étapes
1. Connectez-vous au cluster.
Exécutez la commande suivante pour vous connecter au cluster à l’aide de l’outil CLI (OC) OpenShift à partir de votre ordinateur portable ou du serveur jump. Assurer <cluster_admin_username> a le rôle cluster-admin et saisissez le mot de passe lorsque vous y êtes invité.
oc login https://api.<cluster_name>.<top_level_domain>:6443 -u=<cluster_admin_username>
2. Vérifiez les objets NodeNetworkState actuels dans le cluster.
2.1 Exécutez la commande suivante pour répertorier les objets NodeNetworkState actuels dans le cluster.
oc get nns
Exemple de résultat :
mystic@mystic-vm:~$ oc get nns
NAME AGE
c3-esx01.rackg10.local 45h
c3-esx02.rackg10.local 47h
c3-esx03.rackg10.local 47h
c3-esx04.rackg10.local 47h
2.2 Exécutez la commande suivante pour inspecter un objet NodeNetworkState et afficher la configuration réseau sur le nœud. Le résultat affiche les paramètres DNS actuels sous « dns-resolver ».
oc get nns <node_hostname> -o yaml
Exemple de résultat :
mystic@mystic-vm:~$ oc get nns c3-esx01.rackg10.local -o yaml
apiVersion: nmstate.io/v1beta1
kind: NodeNetworkState
metadata:
creationTimestamp: "2025-03-25T11:44:15Z"
generation: 1
labels:
nmstate.io/force-nns-refresh: "1742984117342487473"
name: c3-esx01.rackg10.local
ownerReferences:
- apiVersion: v1
kind: Node
name: c3-esx01.rackg10.local
uid: 659cd517-6b59-4599-b3c3-91c5523fc275
resourceVersion: "1328052"
uid: d26ceea7-c1bb-4f18-8394-6b619ef2701d
status:
currentState:
dns-resolver:
config:
search: []
server:
- 20.100.10.8
running:
search: []
server:
- 20.100.10.8
interfaces:
- accept-all-mac-addresses: false
......
3. Mettez à jour les paramètres DNS à l’aide d’un fichier manifeste NodeNetworkConfigurationPolicy (NNCP).
3.1 Créez un fichier node-network-policy.yml (manifeste NNCP) définissant NodeNetworkConfigurationPolicy, qui inclut les modifications de configuration DNS.
apiVersion: nmstate.io/v1
kind: NodeNetworkConfigurationPolicy
metadata:
name: modify-dns-servers
spec:
nodeSelector: {} # Apply the policy to all nodes
desiredState:
dns-resolver:
config:
search:
- example.com
- example.org # Replace with your desired search domain(s)
server:
- 8.8.8.8 # Replace with your desired DNS resolver IP address(es
Exemple de fichier manifeste (node-network-policy.yml) pour mettre à jour le DNS vers « 20.100.10.7 » pour tous les nœuds de cluster :
apiVersion: nmstate.io/v1
kind: NodeNetworkConfigurationPolicy
metadata:
name: modify-dns-servers
spec:
nodeSelector: {} # Apply the policy to all nodes
desiredState:
dns-resolver:
config:
search: []
server:
- 20.100.10.7
3.2. Appliquez la politique réseau du nœud pour mettre à jour les paramètres DNS dans le cluster en exécutant la commande suivante.
oc apply -f node-network-policy.yml
Exemple de résultat :
mystic@mystic-vm:~$ oc apply -f node-network-policy.yml
nodenetworkconfigurationpolicy.nmstate.io/modify-dns-servers configured
4. Confirmation des mises à jour de la stratégie réseau des nœuds sur les nœuds
4.1. Pour confirmer que la stratégie a été appliquée au cluster, répertoriez les stratégies et leur état :
oc get nncp
Exemple de résultat :
mystic@mystic-vm:~$ oc get nncp
NAME STATUS REASON
modify-dns-servers Available SuccessfullyConfigured
4.2. Facultatif : Si la configuration d’une règle prend plus de temps que prévu, vous pouvez inspecter les conditions d’état et de statut demandées d’une règle particulière en exécutant la commande suivante :
oc get nncp <policy_name> -o yaml
Exemple de résultat :
mystic@mystic-vm:~$ oc get nncp modify-dns-servers -o yaml
apiVersion: nmstate.io/v1
kind: NodeNetworkConfigurationPolicy
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"nmstate.io/v1","kind":"NodeNetworkConfigurationPolicy","metadata":{"annotations":{},"name":"modify-dns-servers"},"spec":{"desiredState":{"dns-resolver":{"config":{"search":[],"server":["20.100.10.7"]}}},"nodeSelector":{}}}
nmstate.io/webhook-mutating-timestamp: "1742984115155498338"
creationTimestamp: "2025-03-26T09:25:12Z"
generation: 3
name: modify-dns-servers
resourceVersion: "1397345"
uid: fd23a4a7-476d-44fc-b1b2-eb1c76c1cd99
spec:
desiredState:
dns-resolver:
config:
search: []
server:
- 20.100.10.7
nodeSelector: {}
status:
conditions:
- lastHeartbeatTime: "2025-03-26T10:15:18Z"
lastTransitionTime: "2025-03-26T10:15:18Z"
message: 4/4 nodes successfully configured
reason: SuccessfullyConfigured
status: "True"
type: Available
- lastHeartbeatTime: "2025-03-26T10:15:18Z"
lastTransitionTime: "2025-03-26T10:15:18Z"
reason: SuccessfullyConfigured
status: "False"
type: Degraded
- lastHeartbeatTime: "2025-03-26T10:15:18Z"
lastTransitionTime: "2025-03-26T10:15:18Z"
reason: ConfigurationProgressing
status: "False"
type: Progressing
lastUnavailableNodeCountUpdate: "2025-03-26T09:25:21Z"
4.3. Facultatif : Si la configuration d’une règle prend plus de temps que prévu sur tous les nœuds, vous pouvez répertorier l’état des promulgations sur le cluster :
oc get nnce
Exemple de résultat :
mystic@mystic-vm:~$ oc get nnce
NAME STATUS STATUS AGE REASON
c3-esx01.rackg10.local.modify-dns-servers Available 22h SuccessfullyConfigured
c3-esx02.rackg10.local.modify-dns-servers Available 22h SuccessfullyConfigured
c3-esx03.rackg10.local.modify-dns-servers Available 22h SuccessfullyConfigured
c3-esx04.rackg10.local.modify-dns-servers Available 22h SuccessfullyConfigured
4.4. Facultatif : Pour afficher la configuration d’une mise en œuvre particulière, y compris les rapports d’erreur pour une configuration en échec :
oc get nnce <node>.<policy> -o yaml
Exemple de résultat :
mystic@mystic-vm:~$ oc get nnce c3-esx01.rackg10.local.modify-dns-servers -o yaml
apiVersion: nmstate.io/v1beta1
kind: NodeNetworkConfigurationEnactment
metadata:
creationTimestamp: "2025-03-26T09:25:12Z"
generation: 1
labels:
nmstate.io/node: c3-esx01.rackg10.local
nmstate.io/policy: modify-dns-servers
name: c3-esx01.rackg10.local.modify-dns-servers
ownerReferences:
- apiVersion: v1
kind: Node
name: c3-esx01.rackg10.local
uid: 659cd517-6b59-4599-b3c3-91c5523fc275
resourceVersion: "823259"
uid: eae49147-1fbd-46e8-a2b7-0a8bfbec3201
status:
conditions:
- lastHeartbeatTime: "2025-03-26T10:15:17Z"
lastTransitionTime: "2025-03-26T10:15:17Z"
reason: SuccessfullyConfigured
status: "False"
type: Progressing
- lastHeartbeatTime: "2025-03-26T10:15:17Z"
lastTransitionTime: "2025-03-26T10:15:17Z"
reason: SuccessfullyConfigured
status: "False"
type: Failing
- lastHeartbeatTime: "2025-03-26T10:15:17Z"
lastTransitionTime: "2025-03-26T10:15:17Z"
message: successfully reconciled
reason: SuccessfullyConfigured
status: "True"
type: Available
- lastHeartbeatTime: "2025-03-26T10:15:17Z"
lastTransitionTime: "2025-03-26T10:15:15Z"
reason: SuccessfullyConfigured
status: "False"
type: Pending
- lastHeartbeatTime: "2025-03-26T10:15:17Z"
lastTransitionTime: "2025-03-26T10:15:15Z"
reason: SuccessfullyConfigured
status: "False"
type: Aborted
desiredState:
dns-resolver:
config:
search: []
server:
- 20.100.10.7
desiredStateMetaInfo: {}
features:
- static-dns-name-server
- static-dns-search
policyGeneration: 2
Informations supplémentaires
Documentation Red Hat OCP connexe :
- https://docs.redhat.com/en/documentation/openshift_container_platform/4.16/html/networking/networking-operators#k8s-nmstate-about-the-k8s-nmstate-operator
- https://docs.redhat.com/en/documentation/openshift_container_platform/4.16/html/networking/kubernetes-nmstate#k8s-nmstate-updating-node-network-config