Configurer Edge

Edge pour Private Cloud v4.18.05

Pour configurer Edge après l'installation, vous utilisez une combinaison de fichiers .properties et d'utilitaires Edge. Par exemple, pour configurer TLS/SSL sur l'UI Edge, vous devez modifier les fichiers .properties pour définir les propriétés nécessaires. Les modifications apportées aux fichiers .properties nécessitent de redémarrer le composant Edge concerné.

Apigee désigne la technique d'édition des fichiers .properties sous le nom de code avec configuration. Globalement, le code avec configuration est un outil de recherche clé/valeur basé sur les paramètres des fichiers .properties. Dans le code avec configuration, les clés sont appelées jetons. Par conséquent, pour configurer Edge, vous devez définir des jetons dans des fichiers .properties.

Le code avec configuration permet aux composants Edge de définir des valeurs par défaut fournies avec le produit, de permettre à l'équipe d'installation de remplacer ces paramètres en fonction de la topologie d'installation, puis de permettre aux clients de remplacer toutes les propriétés de leur choix.

Si vous le considérez comme une hiérarchie, les paramètres sont organisés comme suit, les paramètres client ayant la priorité la plus élevée pour remplacer tous les paramètres de l'équipe du programme d'installation ou d'Apigee:

  1. Client
  2. Installateur
  3. Apigee

Utiliser les fichiers .properties

En tant que client, vous ne pouvez modifier que les fichiers .properties du répertoire /opt/apigee/customer/application. Chaque composant possède son propre fichier .properties dans ce répertoire. Par exemple, router.properties et management-server.properties.

Par exemple, pour créer un fichier .properties:

  1. Créez le fichier dans un éditeur en tant qu'utilisateur.
  2. Utilisez chown pour définir le propriétaire du fichier sur "apigee:apigee" ou, si vous avez remplacé l'utilisateur exécutant le service Edge par l'utilisateur "apigee", attribuez le fichier à l'utilisateur qui exécute le service Edge.

Pour définir une propriété pour un composant, modifiez le fichier .properties correspondant pour définir un jeton, puis redémarrez le composant:

/opt/apigee/apigee-service/bin/apigee-service component restart

Par exemple, après avoir modifié router.properties, redémarrez le routeur:

/opt/apigee/apigee-service/bin/apigee-service edge-router restart

Lorsque vous mettez à niveau Edge, les fichiers .properties du répertoire /opt/apigee/customer/application sont lus. Cela signifie que la mise à niveau conservera toutes les propriétés que vous avez définies sur le composant.

Emplacement des fichiers .properties

Il existe trois répertoires de niveau supérieur pour les fichiers .properties des composants Edge: installation, propriétaire et clients. Les emplacements par défaut sont indiqués dans le tableau suivant:

Propriétaire Répertoire racine des jetons par défaut
Composant
/opt/apigee/component_name/conf

component_name identifie le composant. Les valeurs possibles sont les suivantes:

  • apigee-cassandra (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (base de données PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-sso (authentification unique Edge)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (serveur de gestion)
  • edge-management-ui (nouvelle interface utilisateur de périphérie)
  • edge-message-processor (processeur de messages)
  • edge-postgres-server (serveur Postgres)
  • edge-qpid-server (serveur Qpid)
  • edge-router (routeur périphérique)
  • edge-ui (interface utilisateur classique)
Installation
/opt/apigee/token
Client
/opt/apigee/customer

Déterminer la valeur actuelle d'un jeton

Avant de définir un jeton dans le fichier .properties pour le composant, vous pouvez déterminer sa valeur actuelle à l'aide de la commande suivante:

/opt/apigee/apigee-service/bin/apigee-service component_name configure -search token

component_name est le nom du composant et token le jeton à inspecter.

Cette commande recherche dans la hiérarchie des fichiers .properties la valeur actuelle du jeton.

Par exemple, pour vérifier la valeur actuelle du jeton conf_http_HTTPRequest.line.limit pour le routeur:

/opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

Le résultat doit s'afficher au format suivant :

Found key conf_http_HTTPRequest.line.limit, with value, 4k, in /opt/apigee/edge-router/token/default.properties

Définir des jetons dans des fichiers .properties

Pour remplacer la valeur d'un jeton:

  1. Modifiez le fichier .properties du composant pour définir la valeur du jeton. Si le fichier n'existe pas, créez-le.
  2. Redémarrez le composant.
  3. Vérifiez la valeur du jeton.

Par exemple, pour définir la limite de ligne de requête pour le routeur Edge:

  1. Modifiez le fichier /opt/apigee/customer/application/router.properties pour définir le jeton conf_http_HTTPRequest.line.limit :
    conf_http_HTTPRequest.line.limit=8k
  2. Redémarrez le routeur Edge :
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  3. Vérifiez la valeur du jeton :
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_http_HTTPRequest.line.limit

Définir un jeton qui accepte plusieurs valeurs

Certains jetons acceptent une liste de valeurs séparées par une virgule. Par exemple, le jeton conf_security_rbac.restricted.resources prend une liste d'URI limités afin que seul l'administrateur système puisse les appeler. Pour afficher la valeur de conf_security_rbac.restricted.resources:

cd /opt/apigee/edge-management-server
grep -ri "conf_security_rbac.restricted.resources" *

Le résultat contient les éléments suivants :

token/default.properties:conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status

Pour définir un jeton qui accepte une liste de valeurs, ajoutez les nouvelles valeurs à la valeur actuelle du jeton dans le fichier .properties. Par conséquent, pour ajouter l'URI /myuri/* à conf_security_rbac.restricted.resources, modifiez le fichier /opt/apigee/customer/application/management-server.properties comme indiqué ci-dessous:

conf_security_rbac.restricted.resources=/environments,/environments/*,/environments/*/virtualhosts,/environments/*/virtualhosts/*,/pods,/environments/*/servers,/rebuildindex,/users/*/status,/myuri/*

Rechercher un jeton

Dans la plupart des cas, les jetons que vous devez définir sont identifiés dans ce guide. Toutefois, si vous devez déterminer le jeton utilisé pour remplacer une propriété, effectuez une grep dans le dossier source du composant.

Par exemple, si vous savez qu'une version précédente d'Edge a défini la propriété session.maxAge et que vous souhaitez connaître la valeur du jeton utilisée pour la définir, recherchez grep pour la propriété dans le répertoire /opt/apigee/edge-ui/source:

grep -ri "session.maxAge" /opt/apigee/edge-ui/source

Vous devriez obtenir un résultat au format suivant:

/opt/apigee/edge-ui/source/conf/application.conf:session.maxAge={T}conf_application_session.maxage{/T}

La chaîne entre les balises {T}{/T} correspond au jeton que vous définissez dans le fichier .properties.

Définir un jeton qui est actuellement commenté

Certains jetons sont commentés dans les fichiers de configuration Edge. Si vous tentez de définir un jeton commenté, le paramètre est ignoré.

Pour définir un jeton commenté, vous devez utiliser une syntaxe spéciale, sous la forme suivante:

conf/file.extension+propertyName=propertyValue

Par exemple, vous souhaitez définir la propriété nommée HTTPClient.proxy.host sur le processeur de messages. Vous grep ensuite la propriété pour déterminer son jeton:

cd /opt/apigee/edge-message-processor
grep -ri "HTTPClient.proxy.host" *

La commande grep renvoie les résultats au format incluant la valeur du jeton. Notez que le nom de la propriété est commenté, comme indiqué par le préfixe # sur le nom de la propriété:

source/conf/http.properties:#HTTPClient.proxy.host={T}conf_http_HTTPClient.proxy.host{/T}
token/default.properties:conf_http_HTTPClient.proxy.host=
conf/http.properties:#HTTPClient.proxy.host=

Pour définir la propriété, modifiez /opt/apigee/customer/application/message-processor.properties afin de la définir comme suit:

conf/http.properties+HTTPClient.proxy.host=myhost.name.com

Notez que le nom de la propriété est précédé de conf/http.properties+, de l'emplacement et du nom du fichier de configuration contenant la propriété, suivis de "+".

Après avoir redémarré le processeur de messages, examinez le fichier /opt/apigee/edge-message-processor/conf/http.properties:

cat /opt/apigee/edge-message-processor/conf/http.properties

À la fin du fichier, vous verrez l'ensemble de propriétés, sous la forme suivante:

conf/http.properties:HTTPClient.proxy.host=myhost.name.com