|
Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi. |
CloudInit CRD
Vous pouvez utiliser le CloudInit CRD pour configurer les paramètres du système d’exploitation SUSE Virtualization soit manuellement, soit en utilisant des solutions GitOps.
Arrière-plan
Le système d’exploitation SUSE Virtualization utilise le elemental-toolkit, qui a une forme unique de support cloud-init.
Les paramètres configurés pendant le processus d’installation sont écrits dans le elemental fichier cloud-init dans le répertoire /oem. Parce que le système d’exploitation est immuable, le fichier cloud-init garantit que les paramètres spécifiques au nœud sont appliqués à chaque redémarrage.
Le CloudInit CRD expose le fichier cloud-init via un CRD Kubernetes. Cela vous permet de modifier les paramètres spécifiques au nœud après l’installation sans avoir besoin de rendre le système de fichiers racine modifiable.
De plus, le CloudInit CRD est persistant et synchronisé avec les hôtes sous-jacents afin que les modifications apportées directement au système d’exploitation ne soient pas perdues chaque fois que les nœuds sont redémarrés et mis à niveau.
|
Le |
Mise en route
L’exemple suivant ajoute des clés SSH à tous les nœuds d’un SUSE Virtualization cluster existant.
apiVersion: node.harvesterhci.io/v1beta1
kind: CloudInit
metadata:
name: my-ssh-keys
spec:
matchSelector:
harvesterhci.io/managed: "true"
filename: 99-my-ssh-keys
contents: |
stages:
network:
- name: "add my ssh keys"
authorized_keys:
rancher:
- ssh-rsa key1
- ssh-rsa key2
paused: false
Le spec champ contient les éléments suivants :
-
matchSelector (required): Sélecteur d’étiquettes utilisé pour identifier les nœuds auxquels le changement doit être appliqué. Vous pouvez utiliser l’étiquetteharvesterhci.io/managed: "true"pour sélectionner tous les nœuds. -
filename (required): Nom du fichier dans/oem. Les fichiers cloud-init dans/oemsont appliqués par ordre alphabétique. Cela peut être utilisé pour garantir que les modifications de fichiers sont appliquées lors du démarrage. -
content (required): Contenu en ligne pour la ressource cloud-init Elemental qui est écrit sur les nœuds cibles. -
paused (optional): Utilisé pour mettre en pause la réconciliation du CRDCloudInit. Les SUSE Virtualization contrôleurs surveillent les fichiers cloud-init Elemental qui sont gérés par leCloudInitCRD. Les modifications directes apportées à ces fichiers sont immédiatement réconciliées avec l’état défini, sauf si le CRD est mis en pause.
Une fois l’objet créé, vous pouvez vous connecter aux nœuds cibles pour vérifier les résultats.
Dans l’exemple suivant, un fichier nommé /oem/99-my-ssh-keys.yaml est créé et ensuite surveillé par les SUSE Virtualization contrôleurs.
harvester-qhgd4:/oem # more 99-my-ssh-keys.yaml
stages:
network:
- name: "add my ssh keys"
authorized_keys:
rancher:
- ssh-rsa key1
- ssh-rsa key2
La status sous-ressource peut être utilisée pour suivre le déploiement d’un changement sur les nœuds sous-jacents.
Dans l’exemple suivant, les status valeurs indiquent que le changement a été appliqué à tous les trois nœuds du cluster.
status:
rollouts:
harvester-kfs2c:
conditions:
- lastTransitionTime: "2024-08-26T03:57:33Z"
message: ""
reason: CloudInitApplicable
status: "True"
type: Applicable
- lastTransitionTime: "2024-08-26T03:57:33Z"
message: Local file checksum is the same as the CloudInit checksum
reason: CloudInitChecksumMatch
status: "False"
type: OutOfSync
- lastTransitionTime: "2024-08-26T03:57:33Z"
message: 99-my-ssh-keys.yaml is present under /oem
reason: CloudInitPresentOnDisk
status: "True"
type: Present
harvester-qhgd4:
conditions:
- lastTransitionTime: "2024-08-26T03:57:33Z"
message: ""
reason: CloudInitApplicable
status: "True"
type: Applicable
- lastTransitionTime: "2024-08-26T04:00:00Z"
message: Local file checksum is the same as the CloudInit checksum
reason: CloudInitChecksumMatch
status: "False"
type: OutOfSync
- lastTransitionTime: "2024-08-26T04:00:00Z"
message: 99-my-ssh-keys.yaml is present under /oem
reason: CloudInitPresentOnDisk
status: "True"
type: Present
harvester-rmvzg:
conditions:
- lastTransitionTime: "2024-08-26T03:57:33Z"
message: ""
reason: CloudInitApplicable
status: "True"
type: Applicable
- lastTransitionTime: "2024-08-26T03:57:33Z"
message: Local file checksum is the same as the CloudInit checksum
reason: CloudInitChecksumMatch
status: "False"
type: OutOfSync
- lastTransitionTime: "2024-08-26T03:57:33Z"
message: 99-my-ssh-keys.yaml is present under /oem
reason: CloudInitPresentOnDisk
status: "True"
type: Present
|
Une fois les modifications cloud-init appliquées, vous devez redémarrer les nœuds pour vous assurer que le |
La suppression du CloudInit CRD entraîne la suppression des fichiers associés des nœuds sous-jacents. Comme pour d’autres ressources cloud-init, les effets de ce changement ne se manifestent pas tant que les nœuds concernés ne sont pas redémarrés.
Vous êtes encouragé à tirer parti de SUSE® Rancher Prime: Continuous Delivery et du CloudInit CRD pour gérer les changements apportés au SUSE Virtualization système d’exploitation.