20.3. Création de la ressource personnalisée Node Observability
Vous devez créer et exécuter la ressource personnalisée (CR) NodeObservability
avant d'exécuter la requête de profilage. Lorsque vous exécutez la CR NodeObservability
, elle crée les CR machine config et machine config pool nécessaires pour activer le profilage CRI-O sur les nœuds de travail correspondant à la ressource nodeSelector
.
Si le profilage CRI-O n'est pas activé sur les nœuds de travail, la ressource NodeObservabilityMachineConfig
est créée. Les nœuds de travail correspondant à la ressource nodeSelector
spécifiée dans NodeObservability
CR redémarrent. Cette opération peut durer 10 minutes ou plus.
Le profilage des Kubelets est activé par défaut.
Le socket unix CRI-O du nœud est monté sur le pod de l'agent, ce qui permet à l'agent de communiquer avec le CRI-O pour exécuter la requête pprof. De même, la chaîne de certificats kubelet-serving-ca
est montée sur le pod de l'agent, ce qui permet une communication sécurisée entre l'agent et le point de terminaison kubelet du nœud.
Conditions préalables
- Vous avez installé l'opérateur d'observabilité du nœud.
- Vous avez installé le CLI OpenShift (oc).
-
Vous avez accès au cluster avec les privilèges
cluster-admin
.
Procédure
Connectez-vous au CLI de OpenShift Container Platform en exécutant la commande suivante :
oc login -u kubeadmin https://<HOSTNAME>:6443
$ oc login -u kubeadmin https://<HOSTNAME>:6443
Copy to Clipboard Copied! Revenez à l'espace de noms
node-observability-operator
en exécutant la commande suivante :oc project node-observability-operator
$ oc project node-observability-operator
Copy to Clipboard Copied! Créez un fichier CR nommé
nodeobservability.yaml
qui contient le texte suivant :apiVersion: nodeobservability.olm.openshift.io/v1alpha2 kind: NodeObservability metadata: name: cluster spec: nodeSelector: kubernetes.io/hostname: <node_hostname> type: crio-kubelet
apiVersion: nodeobservability.olm.openshift.io/v1alpha2 kind: NodeObservability metadata: name: cluster
1 spec: nodeSelector: kubernetes.io/hostname: <node_hostname>
2 type: crio-kubelet
Copy to Clipboard Copied! Exécutez le CR
NodeObservability
:oc apply -f nodeobservability.yaml
oc apply -f nodeobservability.yaml
Copy to Clipboard Copied! Exemple de sortie
nodeobservability.olm.openshift.io/cluster created
nodeobservability.olm.openshift.io/cluster created
Copy to Clipboard Copied! Vérifiez l'état de
NodeObservability
CR en exécutant la commande suivante :oc get nob/cluster -o yaml | yq '.status.conditions'
$ oc get nob/cluster -o yaml | yq '.status.conditions'
Copy to Clipboard Copied! Exemple de sortie
conditions: conditions: - lastTransitionTime: "2022-07-05T07:33:54Z" message: 'DaemonSet node-observability-ds ready: true NodeObservabilityMachineConfig ready: true' reason: Ready status: "True" type: Ready
conditions: conditions: - lastTransitionTime: "2022-07-05T07:33:54Z" message: 'DaemonSet node-observability-ds ready: true NodeObservabilityMachineConfig ready: true' reason: Ready status: "True" type: Ready
Copy to Clipboard Copied! NodeObservability
L'exécution du CR est terminée lorsque le motif estReady
et le statutTrue
.