2.8. CRDS
2.8.1. Gestion des ressources à partir de définitions de ressources personnalisées Copier lienLien copié sur presse-papiers!
Ce guide décrit comment les développeurs peuvent gérer les ressources personnalisées (CR) qui proviennent de définitions de ressources personnalisées (CRD).
2.8.1.1. Définitions de ressources personnalisées Copier lienLien copié sur presse-papiers!
Dans l’API Kubernetes, une ressource est un point de terminaison qui stocke une collection d’objets API d’un certain type. À titre d’exemple, la ressource Pods intégrée contient une collection d’objets Pod.
L’objet de définition de ressource personnalisée (CRD) définit un nouveau type d’objet unique, appelé type, dans le cluster et permet au serveur API Kubernetes de gérer tout son cycle de vie.
Les objets de ressources personnalisées (CR) sont créés à partir de CRD qui ont été ajoutés au cluster par un administrateur de cluster, permettant à tous les utilisateurs de cluster d’ajouter le nouveau type de ressource dans des projets.
Les opérateurs utilisent notamment les CRD en les emballant avec toute politique RBAC requise et d’autres logiques spécifiques au logiciel.
2.8.1.2. Créer des ressources personnalisées à partir d’un fichier Copier lienLien copié sur presse-papiers!
Après qu’une définition de ressource personnalisée (CRD) a été ajoutée au cluster, des ressources personnalisées (CRs) peuvent être créées avec le CLI à partir d’un fichier en utilisant la spécification CR.
Procédure
Créez un fichier YAML pour le CR. Dans la définition d’exemple suivante, les champs personnalisés cronSpec et image sont définis dans un CR de Kind: CronTab. Le genre provient du champ spec.kind de l’objet CRD:
Exemple de fichier YAML pour un CR
apiVersion: "stable.example.com/v1"1 kind: CronTab2 metadata: name: my-new-cron-object3 finalizers:4 - finalizer.stable.example.com spec:5 cronSpec: "* * * * /5" image: my-awesome-cron-image- 1
- Indiquez le nom du groupe et la version API (nom/version) à partir du CRD.
- 2
- Indiquez le type dans le CRD.
- 3
- Indiquez un nom pour l’objet.
- 4
- Indiquez les finalisateurs de l’objet, le cas échéant. Les finalisateurs permettent aux contrôleurs de mettre en œuvre des conditions qui doivent être remplies avant que l’objet puisse être supprimé.
- 5
- Indiquez des conditions spécifiques au type d’objet.
Après avoir créé le fichier, créez l’objet:
$ oc create -f <file_name>.yaml
2.8.1.3. Inspecter les ressources personnalisées Copier lienLien copié sur presse-papiers!
Il est possible d’inspecter des objets de ressource personnalisée (CR) qui existent dans votre cluster à l’aide du CLI.
Conditions préalables
- Il existe un objet CR dans un espace de noms auquel vous avez accès.
Procédure
Afin d’obtenir des informations sur un type spécifique de CR, exécutez:
$ oc get <kind>À titre d’exemple:
$ oc get crontabExemple de sortie
NAME KIND my-new-cron-object CronTab.v1.stable.example.comLes noms de ressource ne sont pas sensibles à la casse, et vous pouvez utiliser les formes singulières ou plurielles définies dans le CRD, ainsi que tout nom court. À titre d’exemple:
$ oc get crontabs$ oc get crontab$ oc get ctIl est également possible de visualiser les données brutes YAML pour un CR:
$ oc get <kind> -o yamlÀ titre d’exemple:
$ oc get ct -o yamlExemple de sortie
apiVersion: v1 items: - apiVersion: stable.example.com/v1 kind: CronTab metadata: clusterName: "" creationTimestamp: 2017-05-31T12:56:35Z deletionGracePeriodSeconds: null deletionTimestamp: null name: my-new-cron-object namespace: default resourceVersion: "285" selfLink: /apis/stable.example.com/v1/namespaces/default/crontabs/my-new-cron-object uid: 9423255b-4600-11e7-af6a-28d2447dc82b spec: cronSpec: '* * * * /5'1 image: my-awesome-cron-image2