16.5.5. Configurer un Worker Node de mod_cluster
Le master n'est configuré qu'une fois, par l'intermédiaire du sous-système de
mod_cluster
. Pour configurer le sous-système mod_cluster
, reportez-vous à Section 16.5.2, « Configurer le sous-système mod_cluster
». Chaque worker node est configurée séparément, alors répétez cette procédure pour chaque nœud que vous souhaitez ajouter au cluster.
Si vous utilisez un domaine géré, chaque serveur de groupe de serveur est un worker node qui partage une configuration identique. Par conséquent, la configuration s'effectue sur un groupe de serveurs. Dans un serveur autonome, la configuration s'effectue sur une seule instance de JBoss Enterprise Application Platform. Les étapes de configuration sont sinon identiques.
Configuration d'un worker node
- Si vous utilisez un serveur autonome, il devra être démarré par le profile
standalone-ha
. - Si vous utilisez un domaine géré, votre groupe de serveurs devra utiliser le profil
ha
oufull-ha
, et le groupe de liaisons de socketsha-sockets
oufull-ha-sockets
. JBoss Enterprise Application Platform est fournie avec un groupe de serveurs à clusterisation activée, nomméother-server-group
qui remplit ces prérequis.
Note
Quand vous avez des commandes de Management CLI, celles-ci assument que vous utilisez un domaine géré. Si vous utilisez un serveur autonome, supprimer la portion
/profile=full-ha
des commandes.
Procédure 16.7. Configurer un worker node
Configurer les interfaces de réseau
Les interfaces de réseau ont toutes la valeur127.0.0.1
par défaut. Chaque hôte physique, qui accueille un serveur autonome ou bien un ou plusieurs serveurs au sein d'un groupe de serveurs, a besoin de ses interfaces configurées pour utiliser son adresse IP, que les autres serveurs peuvent apercevoir.Pour changer l'adresse IP d'un hôte de JBoss Enterprise Application Platform, vous devrez le fermer et modifier son fichier de configuration directement. C'est parce que l'API de gestion qui actionne la Console de gestion et le Management CLI se fie à une adresse de gestion stable.Suivez ces étapes pour changer l'adresse IP sur chaque serveur de votre cluster en votre adresse IP publique de master.- Fermer le serveur complètement.
- Modifier soit
host.xml
, qui se trouve dansEAP_HOME/domain/configuration/
pour un domaine géré, ou bien le fichierstandalone-ha.xml
, qui se trouve dansEAP_HOME/standalone/configuration/
pour un serveur autonome. - Chercher l'élément
<interfaces>
. Il y a trois interfaces configurées. Ces interfaces sontmanagement
,public
, etunsecured
. Pour chacune d'entre elles, changer la valeur127.0.0.1
à l'adresse IP externe de l'hôte. - Pour les hôtes qui participent à un domaine géré, mais qui ne sont pas master, localiser l'élément
<host
. Notez qu'il n'a pas de symbole de fermeture>
, car il contient des attributs. Modifiez la valeur de son nom d'attributmaster
par un nom unique, avec un nom différent par esclave. Ce nom servira aussi à l'esclave pour identifier au cluster, donc notez bien ceci. - Pour les hôtes nouvellement configurés qui ont besoin de rejoindre un domaine géré, chercher l'élément
<domain-controller>
. Dé-commenter ou supprimer l'élément<local />
, et ajouter la ligne suivante, en changeant l'adresse IP (X.X.X.X
) par l'adresse du contrôleur de domaine. Cette étape ne s'applique pas à un serveur autonome.<remote host="X.X.X.X" port="${jboss.domain.master.port:9999}" security-realm="ManagementRealm"/>
- Sauvegarder le fichier et sortir.
Configurer l'authentification pour chaque serveur esclave.
Chaque serveur esclave a besoin d'un nom d'utilisateur et d'un mot de passe créé dans leManagementRealm
du contrôleur de domaine ou du master autonome. Sur le contrôleur de domaine ou sur le master autonome, exécutez la commandeEAP_HOME/add-user.sh
. Ajouter un utilisateur avec le même nom d'utilisateur comme esclave, auManagementRealm
. Quand on vous demandera si cet utilisateur doit s'authentifier auprès d'une instance de JBoss AS externe, répondezOui
. Vous trouverez un exemple de l'entrée et de la sortie de la commande ci-dessous, pour un esclave appeléslave1
, et un mot de passechangeme
.user:bin user$ ./add-user.sh What type of user do you wish to add? a) Management User (mgmt-users.properties) b) Application User (application-users.properties) (a):
a
Enter the details of the new user to add. Realm (ManagementRealm) : Username :slave1
Password :changeme
Re-enter Password :changeme
About to add user 'slave1' for realm 'ManagementRealm' Is this correct yes/no?yes
Added user 'slave1' to file '/home/user/jboss-eap-6.0/standalone/configuration/mgmt-users.properties' Added user 'slave1' to file '/home/user/jboss-eap-6.0/domain/configuration/mgmt-users.properties' Is this new user going to be used for one AS process to connect to another AS process e.g. slave domain controller? yes/no? yes To represent the user add the following to the server-identities definition <secret value="Y2hhbmdlbWU=" />Copier l'élément codé-Base64
<secret>
à partir de la sortieadd-user.sh
.Si vous prévoyez de spécifier un mot de passe codé-Base64 pour l'authentification, copier l'élément<secret>
à partir de la dernière ligne de la sortieadd-user.sh
car vous en aurez besoin à l'étape suivante.Modifier le domaine de sécurité de l'hôte esclave pour la nouvelle authentification.
- Réouvrir le fichier
host.xml
oustandalone-ha.xml
de l'hôte esclave. - Chercher l'élément
<security-realms>
. C'est là où vous configurez le domaine de sécurité. - Vous pourrez spécifier la valeur secrète d'une des manières suivantes :
Spécifier le mot de passe codé-Base64 dans le fichier de configuration.
- Ajouter le bloc suivant de code XML sous la ligne
<security-realm name="ManagementRealm">
,<server-identities> <secret value="Y2hhbmdlbWU="/> </server-identities>
- Remplacer "Y2hhbmdlbWU=" par la valeur secrète retournée de la sortie
add-user.sh
lors de l'étape précédente.
Configurer l'hôte pour obtenir un mot de passe de l'archivage sécurisé.
- Utiliser le script
vault.sh
pour générer un mot de passe masqué. Cela va créer un string qui ressemblera à ceci :VAULT::secret::password::ODVmYmJjNGMtZDU2ZC00YmNlLWE4ODMtZjQ1NWNmNDU4ZDc1TElORV9CUkVBS3ZhdWx0
.Vous pourrez trouver plus d'informations sur l'archivage sécurisé dans Password Vaults de la section Sensitive Strings de ce guide, ici : Section 10.12.1, « Sécurisation des chaînes sensibles des fichiers en texte clair ». - Ajouter le bloc de code XML suivant directement sous la ligne
<security-realm name="ManagementRealm">
.<server-identities> <secret value="${VAULT::secret::password::ODVmYmJjNGMtZDU2ZC00YmNlLWE4ODMtZjQ1NWNmNDU4ZDc1TElORV9CUkVBS3ZhdWx0}"/> </server-identities>
Veillez à remplacer la valeur secrète par le mot de passe masqué généré lors de l'étape précédente.Note
Quand vous créez un mot de passe dans l'archivage sécurisé, celui-ci devra être spécifié en texte brut, et non pas codé-Base64.
Spécifier le mot de passe en tant que propriété système.
- Ajouter le bloc de code XML suivant sous la ligne
<security-realm name="ManagementRealm">
<server-identities> <secret value=${server.identity.password}/> </server-identities>
- Quand vous spécifiez le mot de passe en tant que propriété système, vous pouvez configurer l'hôte d'une des manières suivantes :
- Démarrer le serveur en saisissant le mot de passe en texte brut comme argument de ligne de commande, comme par exemple :
-Dserver.identity.password=changeme
Note
Le mot de passe doit être saisi en texte brut et sera visible par quiconque lance la commandeps -ef
. - Mettez le mot de passe dans un fichier de propriétés et passer l'URL du fichier de propriétés sous forme d'argument de ligne de commande.
- Ajouter la paire clé/valeur à un fichier de propriétés. Par exemple :
server.identity.password=changeme
- Démarrer le serveur par les arguments de ligne de commande
--properties=URL_TO_PROPERTIES_FILE
.
- Sauvegarder et sortir du fichier.
Redémarrer le serveur.
L'esclave va maintenant authentifier le master en utilisant son nom d'hôte comme nom d'utilisateur et le string codifié comme son mot de passe.