10.4. Création d'objets à partir de modèles à l'aide de l'interface de programmation

Vous pouvez utiliser la CLI pour traiter les modèles et utiliser la configuration générée pour créer des objets.

10.4.1. Ajout d'étiquettes

Les étiquettes sont utilisées pour gérer et organiser les objets générés, tels que les pods. Les étiquettes spécifiées dans le modèle sont appliquées à chaque objet généré à partir du modèle.

Procédure

  • Ajouter des étiquettes dans le modèle à partir de la ligne de commande :

    $ oc process -f <filename> -l name=otherLabel

10.4.2. Paramètres d'inscription

La liste des paramètres que vous pouvez modifier figure dans la section parameters du modèle.

Procédure

  1. Vous pouvez dresser la liste des paramètres à l'aide de l'interface de gestion en utilisant la commande suivante et en spécifiant le fichier à utiliser :

    $ oc process --parameters -f <filename>

    Alternativement, si le modèle est déjà téléchargé :

    $ oc process --paramètres -n <projet> <nom_du_modèle>

    Par exemple, l'exemple suivant montre le résultat de la liste des paramètres pour l'un des modèles de démarrage rapide dans le projet par défaut openshift:

    $ oc process --parameters -n openshift rails-postgresql-example

    Exemple de sortie

    NAME                         DESCRIPTION                                                                                              GENERATOR           VALUE
    SOURCE_REPOSITORY_URL        The URL of the repository with your application source code                                                                  https://github.com/sclorg/rails-ex.git
    SOURCE_REPOSITORY_REF        Set this to a branch name, tag or other ref of your repository if you are not using the default branch
    CONTEXT_DIR                  Set this to the relative path to your project if it is not in the root of your repository
    APPLICATION_DOMAIN           The exposed hostname that will route to the Rails service                                                                    rails-postgresql-example.openshiftapps.com
    GITHUB_WEBHOOK_SECRET        A secret string used to configure the GitHub webhook                                                     expression          [a-zA-Z0-9]{40}
    SECRET_KEY_BASE              Your secret key for verifying the integrity of signed cookies                                            expression          [a-z0-9]{127}
    APPLICATION_USER             The application user that is used within the sample application to authorize access on pages                                 openshift
    APPLICATION_PASSWORD         The application password that is used within the sample application to authorize access on pages                             secret
    DATABASE_SERVICE_NAME        Database service name                                                                                                        postgresql
    POSTGRESQL_USER              database username                                                                                        expression          user[A-Z0-9]{3}
    POSTGRESQL_PASSWORD          database password                                                                                        expression          [a-zA-Z0-9]{8}
    POSTGRESQL_DATABASE          database name                                                                                                                root
    POSTGRESQL_MAX_CONNECTIONS   database max connections                                                                                                     10
    POSTGRESQL_SHARED_BUFFERS    database shared buffers                                                                                                      12MB

    La sortie identifie plusieurs paramètres qui sont générés à l'aide d'un générateur d'expressions régulières lorsque le modèle est traité.

10.4.3. Générer une liste d'objets

À l'aide de l'interface de programmation, vous pouvez traiter un fichier définissant un modèle pour renvoyer la liste des objets sur la sortie standard.

Procédure

  1. Traite un fichier définissant un modèle pour renvoyer la liste des objets sur la sortie standard :

    $ oc process -f <filename>

    Sinon, si le modèle a déjà été téléchargé dans le projet en cours :

    oc process <nom_du_modèle>
  2. Créer des objets à partir d'un modèle en traitant le modèle et en acheminant la sortie vers oc create:

    oc process -f <filename> $ oc create -f -

    Sinon, si le modèle a déjà été téléchargé dans le projet en cours :

    oc process <template> | oc create -f -
  3. Vous pouvez remplacer toutes les valeurs de paramètres définies dans le fichier en ajoutant l'option -p pour chaque paire <name>=<value> que vous souhaitez remplacer. Une référence de paramètre apparaît dans n'importe quel champ de texte à l'intérieur des éléments du modèle.

    Par exemple, dans l'exemple suivant, les paramètres POSTGRESQL_USER et POSTGRESQL_DATABASE d'un modèle sont remplacés pour produire une configuration avec des variables d'environnement personnalisées :

    1. Création d'une liste d'objets à partir d'un modèle

      $ oc process -f my-rails-postgresql \
          -p POSTGRESQL_USER=bob \
          -p POSTGRESQL_DATABASE=mydatabase
    2. Le fichier JSON peut être redirigé vers un fichier ou appliqué directement sans télécharger le modèle en envoyant la sortie traitée à la commande oc create:

      $ oc process -f my-rails-postgresql \
          -p POSTGRESQL_USER=bob \
          -p POSTGRESQL_DATABASE=mydatabase \
          | oc create -f -
    3. Si vous avez un grand nombre de paramètres, vous pouvez les stocker dans un fichier et passer ce fichier à oc process:

      $ cat postgres.env
      POSTGRESQL_USER=bob
      POSTGRESQL_DATABASE=mydatabase
      $ oc process -f my-rails-postgresql --param-file=postgres.env
    4. Vous pouvez également lire l'environnement à partir de l'entrée standard en utilisant "-" comme argument de --param-file:

      $ sed s/bob/alice/ postgres.env | oc process -f my-rails-postgresql --param-file=-