coredns 代理consul 运行noamd 部署的应用

摘要:
Nomad是一个方便的应用程序调度平台,CONSUL是一个非常好的服务发现工具,coredns非常好,具有强大可扩展性的DNS服务器在集成时可以做非常强大的事情。我的运行环境是mac,组件可以在需要时下载https://www.nomadproject.io/docs/install/index.htmlconsul下载消费者进行服务注册和健康检查https://www.

nomad 是一个方便的应用调度平台,consul 一个很不错的服务发现工具,coredns 很不错,
扩展性比较强的dns 服务器,集成起来可能做很强大的事情

我的运行环境是mac,实际情况按需部署即可

组件下载

  • nomad 下载
https://www.nomadproject.io/docs/install/index.html
  • consul 下载

    因为以来consul 进行服务注册以及健康检查

https://www.consul.io/docs/install/index.html
  • coredns

    进行dns 重写以及代理

https://coredns.io/

环境运行

  • 启动consul

    单机,开发模式

consul agent --dev

效果
coredns 代理consul 运行noamd 部署的应用第1张

  • 启动nomad

    单机,开发模式

nomad  agent --dev

效果
coredns 代理consul 运行noamd 部署的应用第2张

运行测试job

  • 简单job
nomad init
内容如下:
job "example" {
datacenters = ["dc1"]
type = "service"
update {
max_parallel = 1
min_healthy_time = "10s"
healthy_deadline = "3m"
progress_deadline = "10m"
auto_revert = false
canary = 0
}
migrate {
max_parallel = 1
health_check = "checks"
min_healthy_time = "10s"
healthy_deadline = "5m"
}
group "cache" {
count = 2
restart {
attempts = 2
interval = "30m"
delay = "15s"
mode = "fail"
}
ephemeral_disk {
size = 300
}
task "redis" {
driver = "docker"
config {
image = "redis:3.2"
port_map {
db = 6379
}
}

resources {
cpu = 500 # 500 MHz
memory = 256 # 256MB
network {
mbits = 10
port "db" {}
}
}
service {
name = "redis-cache"
tags = ["global", "cache"]
port = "db"
check {
name = "alive"
type = "tcp"
interval = "10s"
timeout = "2s"
}
}
}
}
}
  • 运行job
nomad run example.nomad

效果
coredns 代理consul 运行noamd 部署的应用第3张

coredns 配置

  • coredns file 配置
.:53 {
        errors
        log stdout
        health
        rewrite name redis.app.com graphql-website.service.consul
        cache 30
        proxy  . 127.0.0.1:8600
    }
  • 启动dns
./coredns 

dns 修改效果查看

  • dig 查看
dig @127.0.0.1   redis.app.com  

效果
coredns 代理consul 运行noamd 部署的应用第4张

说明

总的来说nomad 还是比较简单的,同时功能比较齐全,结合dns 的功能我们可以实现比较强大,便捷自助平台
备注: 可能出现本地dns 解析的问题,需要进行dns 刷新,主要是mac 系统,即使大家使用的一般都会是linux 或者windows(使用nslookup 工具没有问题)

参考资料

https://www.nomadproject.io/docs/job-specification/service.html
https://coredns.io/
https://www.consul.io/docs/index.html

 
 
 
 

免责声明:文章转载自《coredns 代理consul 运行noamd 部署的应用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇什么是 Daemon 线程?它有什么意义?SQL Server 查询分析器键盘快捷方式。下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

consul dns 转发配置

测试使用dnsmasq。优势:可以方便的进行应该编码,进行动态域名解析,容错处理。因为consul 默认的dns 为127.0.0.1 8600 所以配置如下: 文件目录: /etc/dnsmasq.d ###目录下 #Enableforward lookup of the 'consul'domain: server=/consul/127.0.0....

使用vue ui命令创建vue项目步骤

1、前置环境 1、node.js 2、vue-cli 3、webstorm 2、创建步骤 1、在webstorm中打开一个终端,输入 #vue ui 运行结束后,会启动一个web服务用以可视化创建vue项目。 ![](https://img2018.cnblogs.com/blog/1522304/201907/1522304-2019070310170...

多种GitHub加速方式

https://code.pingbook.top/blog/2020/How-To-Speed-Github.html#_1-github-%E9%95%9C%E5%83%8F%E8%AE%BF%E9%97%AE GitHub 镜像访问 GitHub文件加速 Github 加速下载 加速你的 Github 谷歌浏览器 GitHub 加速插件(推荐) Gi...

安卓应用在各大应用市场上架方法整理

想要把APP上架到应用市场都要先注册开发者账号才可以。这里的方法包括注册帐号和后期上架及一些需要注意的问题。注意:首次提交应用绝对不能随便删除,否则后面再提交会显示应用APP冲突,会要求走应用认领流程,那个时候就会相当麻烦啦。 1、腾讯应用宝 腾讯开放平台地址:http://open.qq.com 注册开发者帐号地址:https://ssl.zc.qq.c...

企业邮箱MX解析记录的作用及测试方法

http://www.net.cn/service/faq/youx/mailsy/200804/3222.html MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据 收信人的地址后缀来定位邮件服务器。例如,当Internet上的某用户要发一封信给 user@hichina.com时,该用户的邮件系...

Node.js安全清单

前言 安全性,总是一个不可忽视的问题。许多人都承认这点,但是却很少有人真的认真地对待它。所以我们列出了这个清单,让你在将你的应用部署到生产环境来给千万用户使用之前,做一个安全检查。 以下列出的安全项,大多都具有普适性,适用于除了Node.js外的各种语言和框架。但是,其中也包含一些用Node.js写的小工具。 配置管理 安全性相关的HTTP头 以下是一些安...