Tecnologia - Wildfly - Como configurar o Wildfly para funcionar com Domain Controller e Host Controller
Dúvida
Como configurar o Wildfly para funcionar com Domain Controller e Host Controller?
Solução
Para aqueles casos onde os domínios do Wildfly serão balanceados entre domínios em servidores (máquinas) diferentes, precisamos configurar o Wildlfy para trabalhar com a estrutura de Domain Controller e Host Controller, ou seja, uma máquina física pode gerenciar outras máquinas físicas ou virtuais que serão utilizadas apenas como Host Controllers.
Segue imagem da estrutura desta configuração:
Nesse cenário, o servidor (máquina) que será o Domain Controller, será configurado no Socket Binding o Profile de todos os Servers Groups.
As máquinas que serão os Host Controllers (que irão executar a aplicação), servirão apenas como um hospedor da JVM para fazer o balanceamento de carga.
Para configurar o servidor (máquina) Host Controller, ou seja, o servidor (máquina) onde vai hospedar apenas a JVM, siga os passos abaixo:
- Instale o Wildlfy no servidor (máquina) Host Controller;
- Edite o arquivo Host.xml e faça as seguintes alterações:
2.1 Definir um nome para o host (pode ser utilizado o nome do servidor):
<HOST XMLNS="URN:JBOSS:DOMAIN:20.0" NAME="TESTE23">
<EXTENSIONS>
<EXTENSION MODULE="ORG.JBOSS.AS.JMX"/>
<EXTENSION MODULE="ORG.WILDFLY.EXTENSION.CORE-MANAGEMENT"/>
<EXTENSION MODULE="ORG.WILDFLY.EXTENSION.ELYTRON"/>
</EXTENSIONS>
<MANAGEMENT>
2.2. Inclua as linhas abaixo no Subsystem Elytron:
<profile>
<subsystem xmlns="urn:jboss:domain:core-management:1.0"/>
<subsystem xmlns="urn:wildfly:elytron:18.0" final-providers="combined-providers" disallowed-providers="OracleUcrypto">
<authentication-client>
<authentication-configuration sasl-mechanism-selector="DIGEST-MD5"
name="hostAuthConfig"
authentication-name="admin"
realm="ManagementRealm">
<credential-reference clear-text="adminadmin"/>
</authentication-configuration>
<authentication-context name="hcAuthContext">
<match-rule authentication-configuration="hostAuthConfig"/>
</authentication-context>
</authentication-client>
<providers>
<aggregate-providers name="combined-providers">
<providers name="elytron"/>
<providers name="openssl"/>
<providers>
2.3. Subtitua a chave <local> pelas linhas abaixo na diretiva Domain Controller:
<domain-controller>
<remote protocol="http-remoting" host="<nome/IP do servidor domain controller>" port="<porta adm do Wildfly>" authentication-
context="hcAuthContext" username="<usuário admin do Wildlfy>"/>
</domain-controller>
2.3.1 Em <nome/IP do servidor domain controller>, substituir pelo nome ou IP do servidor Domain Controller.
2.3.2. Em <porta adm do Wildfly>, substituir pela porta administrativa do Wildlfy, por padrão 9990.
2.3.3. Em <usuário admin do Wildlfy>, substituir pelo nome do usuário ADMIN do Wildlfy, por padrão admin.
Após essas configurações inicie o Wildlfy dos Host Controllers e verifique na página administrativa do Domain Controller, que já deve aparecer os Host Controllers.
Para mais informações consulte a documentação do Wildfly sobre Domain Controllers:
https://docs.wildfly.org/32/Admin_Guide.html#domain-controller-configuration