首页 > 其他分享 >Others--Consul服务学习01

Others--Consul服务学习01

时间:2023-06-15 19:57:35浏览次数:32  
标签:01 -- Consul ## dnsmasq mysql tools consul

服务器信息


Consul Server:  172.16.188.208
   App Server:  172.16.188.209

安装Consul

在Consul服务器上执行:

## 下载
wget https://releases.hashicorp.com/consul/1.15.3/consul_1.15.3_linux_amd64.zip

## 解压
unzip consul_1.15.3_linux_amd64.zip

## 创建目录
mkdir -p /tools/consul/data/  /tools/consul/ui/  /tools/consul/et/  /tools/consul/bin/

## 将consul文件移到/tools/consul/bin/ 目录
mv consul /tools/consul/bin/

## 启动服务
## agent -server 表示将consul以Server形式运行
## -bootstrap-expect 1 表示单个consul服务也能提供服务
## -bind=172.16.188.208 表示绑定的IP地址
## -client 0.0.0.0 表示监听所有IP请求, 默认为127.0.0.1(仅监听本地请求)
/tools/consul/bin/consul agent -server -bootstrap-expect 1 -data-dir /tools/consul/data/ -config-dir=./etc/ -ui-dir=/tools/consul/ui/ -node=s1 -bind=172.16.188.208 -client 0.0.0.0 -rejoin  &

安装dnsmasq

在Consul服务器上执行:

## 安装dnsmasq
yum -y install dnsmasq

## 修改dnsmasq配置
echo "server=/consul/172.16.188.208#8600" > /etc/dnsmasq.d/resolv.conf

## 启动dnsmasq服务
systemctl start dnsmasq

服务dnsmasq使用Consul服务器有DNS服务功能,并且将内部consul域名解析交由consul服务处理。

创建服务

在Consul服务器上执行,增加服务:

curl -X PUT -d '{"Datacenter": "dc1", "Node": "c2", "Address": "172.16.188.211", "Service": {"Service": "mysql-test-3306", "tags": ["mysql"], "Port": 3306}}' http://127.0.0.1:8500/v1/catalog/register

调整服务的IP指向:

curl -X PUT -d '{"Datacenter": "dc1", "Node": "c2", "Address": "172.16.188.211", "Service": {"Service": "mysql-test-3306", "tags": ["mysql"], "Port": 3306}}' http://127.0.0.1:8500/v1/catalog/register

使用"Service": "mysql-test-3306" 来定于服务名称,而完整的服务域名为:mysql-test-3307.service.consul

调整DNS解析

在App服务器上执行:

# 设置nameserver
echo "nameserver 172.16.188.208" > /etc/resolv.conf

/etc/resolv.conf是DNS客户机的配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。

将DNS服务器的IP地址指向Consul服务器,这样域名解析请求会路由到Consul服务器。

测试DNS解析:

while [[ 1==1 ]]
do
    addr_info=$(nslookup mysql-test-3307.service.consul |grep 'Address:' |tail -n 1)
    echo "$(date "+%Y-%m-%d %H:%M:%S")  mysql-test-3307: ${addr_info}"
    sleep 1
done

测试结果:能实现秒级域名变更刷新。

标签:01,--,Consul,##,dnsmasq,mysql,tools,consul
From: https://www.cnblogs.com/gaogao67/p/17483954.html

相关文章

  • getResourceAsStream()返回值为null
    getResourceAsStream()返回值为nulljavaWeb项目,写文件下载的时候遇到getServletContext().getResourceAsStream("/store/"+filename)获取的值为null//获得读取本地文件的输入流in=getServletContext().getResourceAsStream("/store/"+filename);目录结构如下查......
  • 2023-6-15 面试笔试复盘总结
    四川君迪能源后端笔试2023-6-15简答题:线程和进程的区别本质区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。包含关系:一个进程至少有一个线程,线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。资源开销:每个进程都有独立的地址空......
  • 问题解决sql文件上传和蚁剑连接
    1.无法连接上自己的ip:发现问题是上传的木马不在127.0.0.1的文件下时,会导致解析不到木马,要将木马上传到127.0.0.1的文件下连接2.解决sql上传一句话木马问题要先在mysql的配置文件my.ini中添加导入导出数据库的地址:secure_file_priv=D:\phpstudy_pro\WWW然后重启数据库,可以进行sq......
  • feign携带用户信息
    1.通过feignConfig配置文件来携带用户信息。2.@FeignClient(name="user-server",configuration={FeignConfig.class})3.feignConfig是实现了请求拦截器的,他可以把用户信息放到requestTemplate中。在header里面放一个key(user-info),value是用户信息。4.服务端,feign实现了......
  • sftp 设置仅能访问自己目录的用户
    1.创建一个目录,owner为root,权限为750或755,此处为/home/test01添加一个用户test01,home目录设置为/home/test01再创建一个子目录用于用户上传:/home/test01/upload,owner为test01,$mkdir/home/test01$chownroot:test01/home/test01$mkdir/home/test01/upload$chownt......
  • 客服端与服务端在TCP/UDP的执行顺序的感受与想法
    网络层与传输层是从上到下还是从下到上网络通信的核心是socket套接字的创建,创建离不开一个关键的点,IP和端口。网络层:提供了端对端的传输,可以理解为通过IP寻址机器。传输层:决定机器的哪一个进程去处理,通过端口寻址。逻辑思维都是,我们通讯一个设备,首先要知道它的IP地址,然后确定......
  • 博客园 文字颜色/图片大小/图片居中
    图片居中设置:字体颜色:<fontsize=5>字体、字号和颜色</font><fontface="黑体">我是黑体字</font><fontface="微软雅黑">我是微软雅黑</font><fontface="STCAIYUN">我是华文彩云</font><fontcolor=#0099ffsize=7fac......
  • matplot画网格线分层级的用法
    网格线分级一般情况下,我们设置网格线都不会太在意密度和精度的问题,导致下图这种看的有些眼花,横坐标在比较密集的时候很容易看窜行。所以如果可以把精度设置一下,或者设置一下主级和副级网格线,就会条理很多MultiLocator首先引入模块frommatplotlib.tickerimportMultipleLoc......
  • 数字逻辑电路 复习笔记
    挑战从零开始学习数电(1/3)Ch1数制与码制1.1数制基数(\(R\)进制)位权(\(X^0,X^1,X^2,...\))1.2码制带符号的二进制数的编码原码:正数符号位0,负数符号位1,数值不变反码:整数符号位不变,其余取反;纯小数符号位不变,其余取反\(+0.1101\Rightarrow0.1101\)\(-0.1101\Rightarr......
  • 博客园自定义样式修改标签页的icon图标
    步骤1:选择一张自己喜欢的图片,上传到https://www.logosc.cn/logo/favicon这个网站,将它转换成ico格式步骤2:进入博客园→文件界面,1.上传ico格式文件,2.点击这个文件步骤3:复制这一段url步骤4:进入博客园设置界面,将这段代码放入页眉<scripttype="text/javascript"language="jav......