当前位置: 首页 > news >正文

河北专业网站制作郑东新区网站建设

河北专业网站制作,郑东新区网站建设,修改网站dns,网站页面设计方案怎么写一#xff0c;docker-consul简介 这是一个基于分布式的服务发现和管理工具#xff0c;它具有快速构建分布式框架#xff0c;提供服务发现和服务治理等特点。同时consul还提供了可靠的保证#xff0c;多数据中心和强大的API以满足高可用#xff0c;分布式环境下的需求。 …一docker-consul简介 这是一个基于分布式的服务发现和管理工具它具有快速构建分布式框架提供服务发现和服务治理等特点。同时consul还提供了可靠的保证多数据中心和强大的API以满足高可用分布式环境下的需求。 concul的主要工作分为两个部分;服务发现和配置管理。服务发现是指在分布式计算环境下自动发现可用在服务实例并将其注朋到consult,以便共他服务进行调用配置管理是指通过consul。动态更新分布式架构中配置信息包括环境变量―厨性值文件数据库等。 consuI可以与多种不同的服务以共使用包括kubernstes、docker、mascos等因此它成为分布式系统中心不可少的一部分。 二consul关键特性 服务注册与发现consul通过DNS或者HTTP接口使服务注册和服务发现变的很容易一些外部服务例如saas提供的也可以一样注册。 健康检查健康检测使consul可以快速的告警在集群中的操作。和服务发现的集成可以防止服务转发到故障的服务上面。 Key/Value存储一个用来存储动态配置的系统。提供简单的HTTP接口可以在任何地方操作。 多数据中心无需复杂的配置即可支持任意数量的区域。 三consul用到的端口 8300:8300同一数据中心 Consul server 之间通过该端口通信 8301:8301同一数据中心 Consul client 通过该端口通信 8302:8302不同数据中心 Consul server 通过该端口通信 8500:8500提供获取服务列表、注册服务、注销服务等HTTP接口提供UI服务 8600:8600采用DNS协议提供服务发现功能 四consul部署后的数据流向 服务发现过程registator监听sock配置文件的变化服务会把所有的信息写入sock。若sock有变化registator会把数据发给consul服务器的自动注册模块consul服务器会注册服务名称ip端口号注册完成后通过ui界面ip8500来进行web ui展示。注册结束后自动注册模块也会将信息写入templatetemplate会将变量写入模板最后将变量推送给服务的子配置文件再进行重载配置文件。 五consul部署 consul服务器            192.168.10.23        运行consul服务、nginx服务、consul-template守护进程 registrator服务器        192.168.10.13        运行registrator容器、运行nginx容器 -------- consul服务器 -------- 1. 建立 Consul 服务 mkdir /opt/consul cp consul_0.9.2_linux_amd64.zip /opt/consul cd /opt/consul unzip consul_0.9.2_linux_amd64.zip mv consul /usr/local/bin///设置代理在后台启动 consul 服务端consul agent \ -server \ -bootstrap \ -ui \ -data-dir/var/lib/consul-data \ -bind192.168.10.23 \ -client0.0.0.0 \ -nodeconsul-server01 /var/log/consul.log ---------------------------------------------------------------------------------------------------------- -server 以server身份启动。默认是client。 -bootstrap 用来控制一个server是否在bootstrap模式在一个数据中心中只能有一个server处于bootstrap模式当一个server处于 bootstrap模式时可以自己选举为 server-leader。 -bootstrap-expect2 集群要求的最少server数量当低于这个数量集群即失效。 -ui 指定开启 UI 界面这样可以通过 http://localhost:8500/ui 这样的地址访问 consul 自带的 web UI 界面。 -data-dir 指定数据存储目录。 -bind 指定用来在集群内部的通讯地址集群内的所有节点到此地址都必须是可达的默认是0.0.0.0。 -client 指定 consul 绑定在哪个 client 地址上这个地址提供 HTTP、DNS、RPC 等服务默认是 127.0.0.1。 -node 节点在集群中的名称在一个集群中必须是唯一的默认是该节点的主机名。 -datacenter 指定数据中心名称默认是dc1。 ----------------------------------------------------------------------------------------------------------netstat -natp | grep consul启动consul后默认会监听5个端口 8300replication、leader farwarding的端口 8301lan cossip的端口 8302wan gossip的端口 8500web ui界面的端口 8600使用dns协议查看节点信息的端口2. 查看集群信息 #查看members状态 consul members Node Address Status Type Build Protocol DC consul-server01 192.168.10.23:8301 alive server 0.9.2 2 dc1#查看集群状态 consul operator raft list-peersconsul info | grep leaderleader trueleader_addr 192.168.10.23:83003. 通过 http api 获取集群信息 curl 127.0.0.1:8500/v1/status/peers #查看集群server成员 curl 127.0.0.1:8500/v1/status/leader #集群 server-leader curl 127.0.0.1:8500/v1/catalog/services #注册的所有服务 curl 127.0.0.1:8500/v1/catalog/nginx #查看 nginx 服务信息 curl 127.0.0.1:8500/v1/catalog/nodes #集群节点详细信息 -------- registrator服务器 -------- //容器服务自动加入 Nginx 集群 1. 安装 Gliderlabs/Registrator Gliderlabs/Registrator 可检查容器运行状态自动注册还可注销 docker 容器的服务到服务配置中心。目前支持 Consul、Etcd 和 SkyDNS2。docker run -d \ --nameregistrator \ --nethost \ -v /var/run/docker.sock:/tmp/docker.sock \ --restartalways \ gliderlabs/registrator:latest \ --ip192.168.10.13 \ consul://192.168.10.23:8500---------------------------------------------------------------------------------------------------------- --nethost 把运行的docker容器设定为host网络模式。 -v /var/run/docker.sock:/tmp/docker.sock 把宿主机的Docker守护进程(Docker daemon)默认监听的Unix域套接字挂载到容器中。 --restartalways 设置在容器退出时总是重启容器。 --ip 刚才把network指定了host模式所以我们指定ip为宿主机的ip。 consul 指定consul服务器的IP和端口。 ----------------------------------------------------------------------------------------------------------2. 测试服务发现功能是否正常 docker run -itd -p:83:80 --name test-01 -h test01 nginx docker run -itd -p:84:80 --name test-02 -h test02 nginx docker run -itd -p:88:80 --name test-03 -h test03 httpd docker run -itd -p:89:80 --name test-04 -h test04 httpd httpd #-h设置容器主机名3. 验证 http 和 nginx 服务是否注册到 consul 浏览器中输入 http://192.168.10.23:8500在 Web 页面中“单击 NODES”然后单击“consurl-server01”会出现 5 个服务。//在consul服务器使用curl测试连接服务器 curl 127.0.0.1:8500/v1/catalog/services {consul:[],httpd:[],nginx:[]} ------------------------------------ consul-template ------------------------------------ Consul-Template是基于Consul的自动替换配置文件的应用。Consul-Template是一个守护进程用于实时查询Consul集群信息并更新文件系统上任意数量的指定模板生成配置文件。更新完成以后可以选择运行 shell 命令执行更新操作重新加载 Nginx。Consul-Template可以查询Consul中的服务目录、Key、Key-values 等。这种强大的抽象功能和查询语言模板可以使 Consul-Template 特别适合动态的创建配置文件。例如创建Apache/Nginx Proxy Balancers 、 Haproxy Backends等。1. 准备 template nginx 模板文件 //在consul服务器上操作 vim /opt/consul/nginx.ctmpl #定义nginx upstream一个简单模板 upstream http_backend {{{range service nginx}}server {{.Address}}:{{.Port}};{{end}} }#定义一个server监听8000端口反向代理到upstream server {listen 8000;server_name localhost 192.168.10.23;access_log /var/log/nginx/kgc.com-access.log; #修改日志路径index index.html index.php;location / {proxy_set_header HOST $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Client-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://http_backend;} }2. 编译安装nginx yum -y install pcre-devel zlib-devel gcc gcc-c make useradd -M -s /sbin/nologin nginx tar zxvf nginx-1.12.0.tar.gz -C /opt/ cd /opt/nginx-1.12.0/ ./configure --prefix/usr/local/nginx --usernginx --groupnginx make -j make installln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/3. 配置 nginx vim /usr/local/nginx/conf/nginx.conf ...... http {include mime.types;include vhost/*.conf; #添加虚拟主机目录default_type application/octet-stream; ......//创建虚拟主机目录 mkdir /usr/local/nginx/conf/vhost //创建日志文件目录 mkdir /var/log/nginx//启动nginx nginx4. 配置并启动 template unzip consul-template_0.19.3_linux_amd64.zip -d /opt/ cd /opt/ mv consul-template /usr/local/bin///在前台启动 template 服务启动后不要按 ctrlc 中止 consul-template 进程。 consul-template --consul-addr 192.168.10.23:8500 \ --template /opt/consul/nginx.ctmpl:/usr/local/nginx/conf/vhost/kgc.conf:/usr/local/nginx/sbin/nginx -s reload \ --log-levelinfo//另外打开一个终端查看生成配置文件 upstream http_backend {server 192.168.10.13:83;server 192.168.10.13:84;}server {listen 8000;server_name 192.168.10.23;access_log /var/log/nginx/kgc.cn-access.log;index index.html index.php;location / {proxy_set_header HOST $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header Client-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://http_backend;} }5. 访问 template-nginx docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9f0dc08956f4 httpd httpd-foreground 1 hours ago Up 1 hours 0.0.0.0:89-80/tcp test-04 a0bde07299da httpd httpd-foreground 1 hours ago Up 1 hours 0.0.0.0:88-80/tcp test-03 4f74d2c38844 nginx /docker-entrypoint.… 1 hours ago Up 1 hours 0.0.0.0:84-80/tcp test-02 b73106db285b nginx /docker-entrypoint.… 1 hours ago Up 1 hours 0.0.0.0:83-80/tcp test-01 409331c16824 gliderlabs/registrator:latest /bin/registrator -i… 1 hours ago Up 1 hours registratordocker exec -it 4f74d2c38844 bash echo this is test1 web /usr/share/nginx/html/index.htmldocker exec -it b73106db285b bash echo this is test2 web /usr/share/nginx/html/index.html浏览器访问http://192.168.10.23:8000/并不断刷新。6. 增加一个 nginx 容器节点 1增加一个 nginx 容器节点测试服务发现及配置更新功能。 docker run -itd -p:85:80 --name test-05 -h test05 nginx//观察 template 服务会从模板更新/usr/local/nginx/conf/vhost/kgc.conf 文件内容并且重载 nginx 服务。2查看/usr/local/nginx/conf/vhost/kgc.conf 文件内容 cat /usr/local/nginx/conf/vhost/kgc.conf upstream http_backend {server 192.168.10.23:83;去server 192.168.10.23:84;server 192.168.10.23:85;server 192.168.10.23:86;}3查看三台 nginx 容器日志请求正常轮询到各个容器节点上 docker logs -f test-01 docker logs -f test-02 docker logs -f test-05 docker logs -f test-06六consul多节点部署 ---------------------------consul 多节点------------------------------ //添加一台已有docker环境的服务器192.168.10.14/24加入已有的群集中 consul agent \ -server \ -ui \ -data-dir/var/lib/consul-data \ -bind192.168.10.14 \ -client0.0.0.0 \ -nodeconsul-server02 \ -enable-script-checkstrue \ -datacenterdc1 \ -join 192.168.10.23 /var/log/consul.log ------------------------------------------------------------------------ -enable-script-checkstrue 设置检查服务为可用 -datacenter : 数据中心名称 -join 加入到已有的集群中 ------------------------------------------------------------------------consul members Node Address Status Type Build Protocol DC consul-server01 192.168.10.23:8301 alive server 0.9.2 2 dc1 consul-server02 192.168.10.14:8301 alive server 0.9.2 2 dc1consul operator raft list-peers Node ID Address State Voter RaftProtocol Node ID Address State Voter RaftProtocol consul-server01 192.168.10.23:8300 192.168.10.23:8300 leader true 2 consul-server02 192.168.10.14:8300 192.168.10.13:8300 follower true 2
http://www.w-s-a.com/news/137528/

相关文章:

  • 吧网站做软件的软件下载简单的ui界面制作
  • 陕西网站制作公司网页制作与设计代码
  • 做网站行情郑州微信网站开发
  • 河间网站建设制作null wordpress theme
  • h5网站制作网站开发网站建设文翻译工作
  • 网站建设 税种秦皇岛哪有网站优化公司
  • 专业开发网站设计找人做网页需要多少钱
  • 手机购物网站 建站网站建设网站制作网站设计
  • 基于iview的网站开发模板小程序制作需要什么语言
  • 精美网站设计保定建行网站首页登录
  • 网站建设常见问题做网站保存什么格式最好
  • 营销型网站建设与网页设计网站建设 amp 找VX cp5173
  • 新网站该如何做网站优化呢儿童手工
  • 湖北现代城市建设集团网站搜索引擎优化的作用
  • 上海做网站吧开一家软件开发公司需要什么
  • 阿里巴巴网站建设改图片建设厅官方网站河南
  • 邓砚谷电子商务网站建设镇江网
  • 网站空间支持什么程序工作服款式
  • 网站单页品牌网站建设 蝌蚪5小
  • 怎么做外贸网站需注意哪些做电脑系统的网站
  • 网站建设介绍推广用语河南网站优化外包服务
  • 课程网站模板贵州省城乡与建设厅网站
  • 网站模板及源码谁家网站用户体验做的好
  • 做网站的技术要求搜索栏在wordpress菜单上位置
  • 如何给网站弄ftpwordpress怎么添加关键词描述
  • 成都工程建设信息网站金科网站建设
  • 传媒公司 网站开发厦门网站建设门户
  • 宿城区建设局网站做网站的绿色背景图
  • 网站空间托管合同 .doc网站开发团队 组建
  • 网站建设书本信息it运维服务