Estou tentando configurar o Consul e o Bind9 para expor o MySQL como um serviço localmente. Eu segui estes passos
Instale o MySql
$ sudo apt-get update
$ sudo apt-get instala o mysql-server
Instale o Unzip e o Nginx
$ sudo apt-get update
$ sudo apt-get instala unzip
$ sudo apt-get instala nginx
Instalar o Consul
$ cd / usr / local / bin
$ sudo wget link
$ sudo unzip consul_0.9.2_linux_amd64.zip
$ sudo rm-rf consul_0.9.2_linux_amd64.zip
Configuração do Consul Server para MySql
$ cd ~
$ mkdir -p consul-config / server
$ vim consul-config / server / config.json
{ "services": [ { "id": "mydatabase-3306", "name": "mydatabase", "tags": ["mysql"], "port": 3306 } ] }
Configurar o Nginx para o Consul
$ sudo vim /etc/nginx/conf.d/consul.conf
servidor { ouça 80; nome_do_servidor 192.168.1.121; root / home / agusgambina / consul-server; location / { proxy_pass link ; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header Host $ http_host; } }
$ sudo systemctl restart nginx.service
Instalar e configurar o Bind9
$ sudo apt-get update
$ sudo apt-get instala bind9 bind9utils bind9-doc
ativar o modo IPv4
$ sudo systemctl edit --full bind9
/etc/systemd/systemd/bind9.service
. . .
[Service]
ExecStart=/usr/sbin/named -f -u bind -4
...
$ sudo vim /etc/bind/named.conf
options {
directory "/var/cache/bind";
recursion yes;
allow-query { localhost; };
forwarders {
8.8.8.8;
8.8.4.4;
};
dnssec-enable no;
dnssec-validation no;
auth-nxdomain no;
listen-on-v6 { any; };
# conform to RFC1035
};
include "/etc/bind/consul.conf";
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
$ sudo vim /etc/bind/consul.conf
zone "consul" IN {
type forward;
forward only;
forwarders { 127.0.0.1 port 8600; };
};
$ sudo systemctl daemon-reload
$ sudo systemctl restart bind9
Iniciar o Consul
$ consul agent -dev -config-dir = / home / agusgambina / consul-config / server /
Depois de executar a linha acima, posso acessar o link e vejo o serviço do Consul e do MySql sendo executado
Se eu me conectar ao localhost, posso fazer isso
$ mysql -u root -p -h localhost
Mas quando tento me conectar ao mydatabase.service.consul, recebo esta mensagem de erro
> ERROR 2005 (HY000): Unknown MySQL server host 'mydatabase.service.consul' (0)