14.4. Abonnement aux événements Redfish BMC bare-metal pour un nœud de cluster
En tant qu'administrateur de cluster, vous pouvez vous abonner aux événements Redfish BMC générés sur un nœud de votre cluster en créant une ressource personnalisée (CR) BMCEventSubscription pour le nœud, en créant une CR HardwareEvent pour l'événement et une CR Secret pour la BMC.
14.4.1. S'abonner aux événements "bare-metal Copier lienLien copié sur presse-papiers!
Vous pouvez configurer le contrôleur de gestion de la carte de base (BMC) pour qu'il envoie des événements bare-metal aux applications abonnées s'exécutant dans un cluster OpenShift Container Platform. Parmi les exemples d'événements Redfish bare-metal, citons l'augmentation de la température d'un périphérique ou le retrait d'un périphérique. Vous abonnez les applications aux événements bare-metal à l'aide d'une API REST.
Vous ne pouvez créer une ressource personnalisée (CR) BMCEventSubscription que pour le matériel physique qui prend en charge Redfish et dont l'interface fournisseur est définie sur redfish ou idrac-redfish.
Utilisez le CR BMCEventSubscription pour vous abonner à des événements Redfish prédéfinis. La norme Redfish ne permet pas de créer des alertes et des seuils spécifiques. Par exemple, pour recevoir un événement d'alerte lorsque la température d'un boîtier dépasse 40° Celsius, vous devez configurer manuellement l'événement conformément aux recommandations du fournisseur.
Effectuez la procédure suivante pour vous abonner aux événements bare-metal pour le nœud à l'aide d'un CR BMCEventSubscription.
Conditions préalables
-
Installez le CLI OpenShift (
oc). -
Connectez-vous en tant qu'utilisateur disposant des privilèges
cluster-admin. - Obtenir le nom d'utilisateur et le mot de passe du BMC.
Déployez un nœud de métal nu avec un contrôleur de gestion de carte de base (BMC) compatible avec Redfish dans votre cluster, et activez les événements Redfish sur le BMC.
NoteL'activation des événements Redfish sur un matériel spécifique n'entre pas dans le cadre de ces informations. Pour plus d'informations sur l'activation des événements Redfish pour votre matériel spécifique, consultez la documentation du fabricant de BMC.
Procédure
Confirmez que le matériel du nœud a activé Redfish
EventServiceen exécutant la commandecurlsuivante :curl https://<bmc_ip_address>/redfish/v1/EventService --insecure -H 'Content-Type : application/json' -u "<bmc_username>:<password>"
curl https://<bmc_ip_address>/redfish/v1/EventService --insecure -H 'Content-Type : application/json' -u "<bmc_username>:<password>"Copy to Clipboard Copied! Toggle word wrap Toggle overflow où :
- adresse IP bmc
- est l'adresse IP du BMC où les événements Redfish sont générés.
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Obtenez l'itinéraire du service Bare Metal Event Relay pour le cluster en exécutant la commande suivante :
oc get route -n openshift-bare-metal-events
$ oc get route -n openshift-bare-metal-eventsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD hw-event-proxy hw-event-proxy-openshift-bare-metal-events.apps.compute-1.example.com hw-event-proxy-service 9087 edge None
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD hw-event-proxy hw-event-proxy-openshift-bare-metal-events.apps.compute-1.example.com hw-event-proxy-service 9087 edge NoneCopy to Clipboard Copied! Toggle word wrap Toggle overflow Créer une ressource
BMCEventSubscriptionpour s'abonner aux événements Redfish :Enregistrez le YAML suivant dans le fichier
bmc_sub.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Spécifie le nom ou l'UUID du nœud de travail où les événements Redfish sont générés.
- 2
- Spécifie le service proxy d'événements pour le métal nu, par exemple,
https://hw-event-proxy-openshift-bare-metal-events.apps.compute-1.example.com/webhook.
Créer le CR
BMCEventSubscription:oc create -f bmc_sub.yaml
$ oc create -f bmc_sub.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Facultatif : Pour supprimer l'abonnement aux événements BMC, exécutez la commande suivante :
oc delete -f bmc_sub.yaml
$ oc delete -f bmc_sub.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Facultatif : Pour créer manuellement un abonnement aux événements Redfish sans créer de CR
BMCEventSubscription, exécutez la commandecurlsuivante, en spécifiant le nom d'utilisateur et le mot de passe de la BMC.curl -i -k -X POST -H "Content-Type: application/json" -d '{"Destination": "https://<proxy_service_url>", "Protocol" : "Redfish", "EventTypes": ["Alert"], "Context": "root"}' -u <bmc_username>:<password> 'https://<bmc_ip_address>/redfish/v1/EventService/Subscriptions' –v$ curl -i -k -X POST -H "Content-Type: application/json" -d '{"Destination": "https://<proxy_service_url>", "Protocol" : "Redfish", "EventTypes": ["Alert"], "Context": "root"}' -u <bmc_username>:<password> 'https://<bmc_ip_address>/redfish/v1/EventService/Subscriptions' –vCopy to Clipboard Copied! Toggle word wrap Toggle overflow où :
- proxy_service_url
-
est le service de proxy d'événements à l'état brut, par exemple,
https://hw-event-proxy-openshift-bare-metal-events.apps.compute-1.example.com/webhook.
- adresse IP bmc
- est l'adresse IP du BMC où les événements Redfish sont générés.
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
14.4.2. Interroger les abonnements aux événements Redfish bare-metal avec curl Copier lienLien copié sur presse-papiers!
Certains fournisseurs de matériel limitent le nombre d'abonnements aux événements matériels Redfish. Vous pouvez demander le nombre d'abonnements aux événements Redfish en utilisant curl.
Conditions préalables
- Obtenir le nom d'utilisateur et le mot de passe du BMC.
- Déployez un nœud bare-metal avec un contrôleur de gestion de carte de base (BMC) compatible avec Redfish dans votre cluster, et activez les événements matériels Redfish sur le BMC.
Procédure
Vérifiez les abonnements actuels de la BMC en exécutant la commande suivante :
curl:curl --globoff -H "Content-Type : application/json" -k -X GET --user <bmc_username>:<password> https://<bmc_ip_address>/redfish/v1/EventService/Subscriptions
$ curl --globoff -H "Content-Type : application/json" -k -X GET --user <bmc_username>:<password> https://<bmc_ip_address>/redfish/v1/EventService/SubscriptionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow où :
- adresse IP bmc
- est l'adresse IP du BMC où les événements Redfish sont générés.
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Dans cet exemple, un seul abonnement est configuré :
/redfish/v1/EventService/Subscriptions/1.Facultatif : Pour supprimer l'abonnement à
/redfish/v1/EventService/Subscriptions/1aveccurl, exécutez la commande suivante en spécifiant le nom d'utilisateur et le mot de passe de la BMC :curl --globoff -L -w "%{http_code} %{url_effective}\n\n" -k -u <bmc_username>:<password >-H "Content-Type : application/json" -d '{}' -X DELETE https://<bmc_ip_address>/redfish/v1/EventService/Subscriptions/1$ curl --globoff -L -w "%{http_code} %{url_effective}\n\n" -k -u <bmc_username>:<password >-H "Content-Type : application/json" -d '{}' -X DELETE https://<bmc_ip_address>/redfish/v1/EventService/Subscriptions/1Copy to Clipboard Copied! Toggle word wrap Toggle overflow où :
- adresse IP bmc
- est l'adresse IP du BMC où les événements Redfish sont générés.
14.4.3. Création de l'événement bare-metal et des CR secrètes Copier lienLien copié sur presse-papiers!
Pour commencer à utiliser les événements bare-metal, créez la ressource personnalisée (CR) HardwareEvent pour l'hôte où se trouve le matériel Redfish. Les événements matériels et les pannes sont signalés dans les journaux de hw-event-proxy.
Conditions préalables
-
Installez le CLI OpenShift (
oc). -
Connectez-vous en tant qu'utilisateur disposant des privilèges
cluster-admin. - Installer le relais d'événements Bare Metal.
-
Créez un CR
BMCEventSubscriptionpour le matériel BMC Redfish.
Les ressources multiples HardwareEvent ne sont pas autorisées.
Procédure
Créer la ressource personnalisée (CR)
HardwareEvent:Enregistrez le YAML suivant dans le fichier
hw-event.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Obligatoire. Utilisez le champ
nodeSelectorpour cibler les nœuds portant l'étiquette spécifiée, par exemplenode-role.kubernetes.io/hw-event: "". - 2
- Nécessaire. Hôte AMQP qui délivre les événements au niveau de la couche transport à l'aide du protocole AMQP.
- 3
- Facultatif. La valeur par défaut est
debug. Définit le niveau de journalisation dans les journauxhw-event-proxy. Les niveaux de journalisation suivants sont disponibles :fatal,error,warning,info,debug,trace. - 4
- Facultatif. Définit la valeur du délai d'attente en millisecondes pour l'analyseur de messages. Si une demande d'analyse de message ne reçoit pas de réponse dans le délai imparti, le message d'événement matériel d'origine est transmis au cadre d'événements natif du nuage. La valeur par défaut est 10.
Créer le CR
HardwareEvent:oc create -f hardware-event.yaml
$ oc create -f hardware-event.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Créez un nom d'utilisateur et un mot de passe BMC
SecretCR qui permet au proxy d'événements matériels d'accéder au registre de messages Redfish pour l'hôte bare-metal.Enregistrez le YAML suivant dans le fichier
hw-event-bmc-secret.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Saisissez des valeurs en texte clair pour les différents postes sous
stringData.
Créer le CR
Secret:oc create -f hw-event-bmc-secret.yaml
$ oc create -f hw-event-bmc-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow