[17.0.0.1 and later]

Enregistrement de serveurs Liberty sur Docker auprès de IBM Cloud Product Insights

Vous pouvez enregistrer des serveurs IBM WebSphere Liberty qui s'exécutent sur Docker avec IBM Cloud Product Insights pour signaler l'enregistrement et l'utilisation des serveurs, ainsi que d'autres informations, telles que le nombre de serveurs WebSphere Liberty actifs, l'emplacement hôte de chaque serveur, l'édition et la version de produit de chaque serveur et le niveau d'occupation de chaque serveur.

Avant de commencer

IBM Cloud Product Insights requiert WebSphere Application Server Liberty version 17.0.0.1 ou ultérieure.

Les générations Liberty Docker incluent une extraction de la dernière version de l'image WebSphere Liberty Docker issue du référentiel Docker Hub. Les images Liberty Docker issues du référentiel Docker Hub incluent une license ILAN, ce qui signifie qu'il s'agit de versions gratuites, sans support et sans garantie du produit. Pour mettre à jour la licence vers un produit pris en charge, voir Upgrading the image from Docker Hub to a production image.

Avant de connecter une instance de serveur IBM WebSphere Liberty versProduct Insights, vous devez disposer d'un compte IBM Cloud et créer le service dans une organisation et dans un espace. Suivez les étapes d'initiation pour configurer un compte et allouer le service Product Insights. Notez les valeurs d'hôte d'API et de clé d'API décrites dans les instructions.

Configurer vos serveurs WebSphere Liberty dans un environnement Docker nécessite une machine Linux ou une machine virtuelle sur laquelle Docker est installé.

Pourquoi et quand exécuter cette tâche

Après avoir défini la collectivité Liberty et créé l'image Docker dans un conteneur Docker, utilisez l'outil de déploiement pour installer cette image sur un hôte Docker de cette collectivité.

Procédure

  1. Générez l'image Docker.
    1. Configurez la connexion au service Product Insights. Dans le fichier server.xml du serveur Liberty, configurez la connexion au service Product Insights. Remplacez <hôte_API> par l'hôte d'API de votre service Product Insights. Remplacez <clé_API> par la clé d'API de votre service.
      <server>
          <featureManager>
             <feature>productInsights-1.0</feature>
          </featureManager>
          <productInsights url="<apiHost>" apiKey="<apiKey>" sslRef="productInsightsSSL"      
               groups="DockerImages"/>
          <keyStore id="productInsightsKeyStore" location="/config/digicert.jks" type="JKS"/>
          <ssl id="productInsightsSSL"
               keyStoreRef="productInsightsKeyStore"
               trustStoreRef="productInsightsKeyStore"
               sslProtocol="TLSv1.2"/>
      </server>
      Remarque : Si la machine qui exécute le conteneur Docker se connecte au service Product Insights via une passerelle ou un serveur proxy, la configuration est légèrement différente. Pour plus d'informations, voir Use a gateway or proxy server.
    2. Créez un fichier Docker d'installation. Dans le même répertoire que le fichier server.xml, créez un fichier Docker qui installe l'image Liberty, la fonction Liberty productInsights-1.0 et le fichier certificat IBM Cloud digicert.jks. Le fichier Docker ci-dessous extrait l'image websphere-liberty:webProfile7 du référentiel Docker Hub et utilise cette version de Liberty pour générer la nouvelle image. Pour les autres images Liberty Docker que vous pouvez installer, voir le référentiel websphere-liberty sur Docker Hub.
      FROM websphere-liberty:webProfile7
      COPY server.xml /config/
      RUN apt-get update \
          && apt-get install -y --no-install-recommends unzip curl \
          && rm -rf /var/lib/apt/lists/*
      RUN installUtility install --acceptLicense productInsights-1.0\
          && rm -rf /output/workarea /output/logs
      RUN cd /opt/ibm/wlp/usr/servers/defaultServer \
          && curl -O https://wlpcfg.ng.bluemix.net/productinsights/digicert.jks
    3. Générez l'image Docker. Générez l'image Docker en exécutant la commande docker build. La machine à partir de laquelle vous générez l'image Docker doit pouvoir accéder à Internet car elle a besoin de télécharger l'image Liberty Docker, la fonction Liberty productInsights-1.0 et le certificat IBM Cloud digicert.jks requis.
      docker build -t liberty-product-insights-example
  2. Exécutez l'image dans un conteneur Docker.
    1. Exécutez une instance de l'image Docker. Pour exécuter une instance de l'image Docker, utilisez le nom de l'application qui est hébergée sur le conteneur de serveur Liberty. L'exemple suivant illustre la meilleure pratique pour l'attribution de nom.
      docker run -d -e CONTAINER_HOST='myApplication' liberty-product-insights-example
      Remarque : Le nom d'hôte par défaut qui est communiqué à Product Insights pour l'instance de serveur en cours d'exécution correspond au nom de conteneur, qui est réaffecté chaque fois qu'une image Docker est exécutée ou mise à l'échelle. Pour pouvoir suivre les mesures d'un serveur de manière cohérente, vous devez remplacer la valeur du nom d'hôte par défaut en affectant une valeur à la variable d'environnement HOTE_CONTENEUR.
    2. Exécutez plusieurs instances de l'image Docker. Pour exécuter plusieurs instances de l'image Docker pour la même application, utilisez la même valeur HOTE_CONTENEUR pour chaque instance. Lorsque les données d'enregistrement et d'utilisation correspondant à la variable d'environnement HOTE_CONTENEUR sont envoyées au service Product Insights, celui-ci combine les informations comme si elles provenaient d'une seule instance afin de vous permettre de visualiser toutes les utilisations qui sont associées à l'application.
      Remarque : Vous pouvez remplacer le nom de serveur si vous le souhaitez en définissant la variable d'environnement NOM_CONTENEUR. Si cette variable n'est pas définie, toutes les images communiquent defaultServer comme nom de serveur au service Product Insights.
      docker run -d -e CONTAINER_HOST=' myApplication' -e CONTAINER_NAME=' myServerName' liberty-product-insights-example
  3. Vérifiez l'enregistrement auprès d'IBM Cloud Product Insights.
    1. Recherchez l'ID conteneur en exécutant la commande docker ps.
      docker ps
    2. Associez STDIN au conteneur Docker via bash afin de pouvoir interagir avec le système de fichiers de conteneur Docker.
      docker exec -it <containerId> bash
    3. Assurez-vous que le serveur a été enregistré auprès du service Product Insights en vérifiant les journaux Liberty. Dans le répertoire /logs, ouvrez le fichier messages.log et recherchez le message suivant :
      CWWKR0400I: The server was registered with the IBM Cloud Product Insights service on the specified URL <apiHost>.
    4. Dans votre navigateur, accédez à votre tableau de bord de service Product Insights sur IBM Cloud pour visualiser le serveur nouvellement enregistré.

Résultats

Vos serveurs IBM WebSphere Liberty qui s'exécutent sur Docker avec IBM Cloud Product Insights sont enregistrés pour prendre en charge l'enregistrement et l'utilisation de serveur.


Icône indiquant le type de rubrique Rubrique Tâche

Nom du fichier : twlp_docker_product_insights.html