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
EventService
en exécutant la commandecurl
suivante :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-events
Copy 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 None
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer une ressource
BMCEventSubscription
pour 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.yaml
Copy 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.yaml
Copy 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 commandecurl
suivante, 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' –v
Copy 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/Subscriptions
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 Dans cet exemple, un seul abonnement est configuré :
/redfish/v1/EventService/Subscriptions/1
.Facultatif : Pour supprimer l'abonnement à
/redfish/v1/EventService/Subscriptions/1
aveccurl
, 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/1
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.
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
BMCEventSubscription
pour 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
nodeSelector
pour 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.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Créez un nom d'utilisateur et un mot de passe BMC
Secret
CR 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.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow