Comprendre le déploiement du conteneur HCL DX 9.5 sur Amazon Elastic Kubernetes Service

Cette section décrit la sortie et les artefacts créés lors du déploiement de la version du conteneur HCL Digital Experience 9.5 sur Amazon Elastic Kubernetes Service (EKS).

Remarque : Toutes les modifications doivent être apportées à l'instance de ressource personnalisée et non aux parties individuelles du déploiement. Voir Personnalisation du déploiement Kubernetes pour en savoir plus.
Déployez à l'aide des commandes suivantes :
./scripts/deployDx.sh awseks-demo 1 657641368736.dkr.ecr.us-east-2.amazonaws.com dxen v95_20190928-2258 
awseks-demo dx deploy-stg derby
Résultats dans la sortie suivante :
Namespace:  awseks-demo
 - REPLICAS:  1
 - Repository:  657641368736.dkr.ecr.us-east-2.amazonaws.com
 - Image Name:  dxen
 - Image Tag:  v95_20190928-2258
 - Volume Name:  awseks-demo
 - Storage Class Name:  dx-deploy-stg
 - Database Type:  derby
 -
namespace/awseks-demo created
serviceaccount/hcldx-cloud-operator created
role.rbac.authorization.k8s.io/hcldx-cloud-operator created
rolebinding.rbac.authorization.k8s.io/hcldx-cloud-operator created
deployment.apps/hcldx-cloud-operator created
dxdeployment.git.cwp.pnp-hcl.com/dx-deployment created

Les artefacts suivants sont créés lors du déploiement :

Projet/Nom d'espaces sont créés s'ils n'existent pas déjà.
Figure 1. Artefact Project/Namespace
  • Commande Kubernetes :
    'kubectl get namespaces' (includes project age.)
Comptes de service pour les déploiements d'opérateurs et d'ambassadeurs.
Figure 2. Service Account artifac
  • Commande Kubernetes :
    'kubectl get serviceaccounts -n awseks-demo' (where awseks-demo is the project/namespace)
    Remarque : Vous pouvez utiliser 'serviceaccount', 'serviceaccounts' ou 'sa'.
Un artefact Rôle qui définit l'accès requis par l'opérateur.
Figure 3. Artefact Rôle
  • Commande Kubernetes :
    'kubectl get role -n awseks-demo' (replace 'get' with 'describe' for details about the object)
Un artefact Liaison de rôle qui lie le compte de service de l'opérateur au rôle de l'opérateur.
Figure 4. Artefact Liaison de rôle
  • Commande Kubernetes :
    'kubectl get rolebinding -n awseks-demo'
Un artefact Déploiement qui définit/décrit l'opérateur Réplique définie.
Figure 5. Artefact Déploiemnt
  • Commande Kubernetes :
    'kubectl get deployment -n awseks-demo'

Deux artefacts Ensembles de répliques basés sur les déploiements de l'ambassadeur et de l'opérateur, qui maintiennent un ensemble stable de pods de répliques.

Figure 6. Artifcat Ensemble de répliques
  • Commande Kubernetes :
    'kubectl get replicaset -n awseks-demo'
    Remarque : Vous pouvez remplacer replicaset par rs en tant que nom court.

Un artefact de service Métriques qui fournit des métriques à l'opérateur.

Figure 7. Artefact Métriques
  • Commande Kubernetes :
    'kubectl get service -n awseks-demo'
    Remarque : Vous pouvez remplacer service par svc en tant que nom court.

Plusieurs secrets sont créés.

Figure 8. Artefacts Secrets
  • Commande Kubernetes :
    'kubectl get secrets -n awseks-demo'
  • Commande de détails Kubernetes :
    'kubectl describe secret dx-deployment-wps -n awseks-demo'
  • Commande de mise à jour Kubernetes :
    'kubectl edit secret dx-deployment-wps -n awseks-demo'
    • La plupart des systèmes d'exploitation Linux vous permettront de générer des valeurs base64 avec cette commande :
      'echo 'wpsadmin' | base64'
    • Utilisez des valeurs codées base64 lors de la mise à jour des secrets.

Un artefact Mappe de configuration est créé pour gérer le clustering dans les scénarios où plusieurs opérateurs sont déployés.

Figure 9. Artefact Mappe de configuration
  • Commande Kubernetes :
    'kubectl get configmap -n awseks-demo'
    Remarque : Vous pouvez remplacer configmap par cm en tant que nom court.
Un ou plusieurs artefacts Réclamations de volume persistant sont créés, un pour le profil partagé et un autre, s'il est configuré, pour les journaux de chaque pod.
Figure 10. Artefact Persistent Volume Claims artifact
  • Commande Kubernetes :
    'kubectl get pvc -n awseks-demo'
Remarque : Les journaux sont affichés lorsque la consignation est configurée. Vous pouvez voir la réclamation 'logs-dx-deployment-0'.
Un artefact Ensemble avec état est créé pour le noyau HCL Digital Experience. Comme un déploiement, un ensemble StatefulSet gère les pods qui se basent sur des spécifications de conteneur identiques.
Figure 11. Artefact Ensemble avec état
  • Commandes Kubernetes :
    'kubectl get pods -l app=dx-deployment -n awseks-demo'
    'kubectl get statefulset -n awseks-demo'
L'artefact Pods fait partie de l'artefact Ensemble avec état, qui exécute HCL Portal.
Figure 12. Artefact Pods
  • Commandes Kubernetes :
    'kubectl get pods -l app=dx-deployment -n awseks-demo' (limits to pods in the StatefulSetSpec)
    'kubectl get pods -n awseks-demo'
Un artefact Service pour exposer HCL Digital Experience s'exécutant dans le cadre de l'artefact Ensemble avec état.
Figure 13. Artefact ervice
  • Commande Kubernetes :
    'kubectl get svc -n awseks-demo'
Pour exposer le serveur DX, HCL utilise Ambassador. Ambassador est déployé et configuré par défaut. De nombreux artefacts sont inclus.
  • Ressources personnalisées qui aident à définir Ambassador : AuthService, ConsulResolver, KubernetesEndpointResolver, KubernetesServiceResolver, Mapping, Module, RateLimitService, TCPMapping, TLSContext, TracingService.
  • Déploiements d'Ambassador
  • Ensemble de répliques d'Ambassador
  • Pods d'Ambassador (3 par défaut)
  • Service et service d'administration d'Ambassador
  • Une instance du contexte TLS
    Figure 14. Instance du contexte TLS
    • Commande Kubernetes :
      'kubectl get TLSContext -n awseks-demo' (use describe in place of get for more detail.)

Une instance de mappage pour chaque cible : DX Home Secure, WAS Home Secure, etc.

Figure 15. Artefact Mappage
  • Commande Kubernetes :
    'kubectl get Mapping -n awseks-demo' (use describe in place of get for more detail.)
Plusieurs fichiers sont créés pour chaque déploiement. Il est recommandé de conserver ces fichiers.
Figure 16. Fichiers historiques
  • Le fichier 1 'dxNameSpace_NAMESPACE.yaml' peut être utilisé pour supprimer le namespace/project si nécessaire.
  • Le fichier 2 'git_v1_dxdeployment_cr_NAMESPACE.yaml' est une représentation du dernier déploiement déployé pour le namespace/project donné.