cheap medications premarin 1.25mg tablets estrogen contents, cheap medications buy wellbutrin no rx needed, cheap online buy baclofen online, cheap online order flagyl er pay pal online without prescription, pharmacy cheapest where to buy buy doxycycline online, online cheap medications buy overnight delivery lasix fedex, buy cheap purchase diflucan, cheap online buy neurontin online overnight cod, cheap pharmacy fedex acyclovir overnight without a rx, order cheap what is norvasc, buying cheap buy arimidex free consultation,

存档

‘Docker & K8S’ 分类的存档

Spring Cloud Data Flow on DC/OS

2018年7月8日 没有评论

Spring Cloud Data Flow构建数据集成和实时数据处理流水线。

主要用于数据处理场景,如:导入/导出事件流和预测分析等。

它有多种实现部署方式:

https://cloud.spring.io/spring-cloud-dataflow/

我们主要关注 Spring Cloud Data Flow for Apache Mesos

spring-cloud-dataflow-arch

spring-cloud-dataflow-server-arch

https://cloud.spring.io/spring-cloud-dataflow-server-mesos/


微服务Microservices框架

2018年7月6日 没有评论

一说到微服务,我们马上会想到:Spring Cloud & Netflix OSS

Microservices

其实,还有一些微服务框架值得更多关注,如Go开发的Go kit、Istio和C++开发的Service Fabric和TSeer 。

https://github.com/go-kit/kit
https://github.com/istio/istio
https://github.com/Microsoft/service-fabric
https://github.com/Tencent/TSeer

TSeer是一套服务注册发现容错的解决方案,是对Tars名字服务功能的轻量化。在腾讯浏览器、应用宝、管家、手机书城、腾讯文学、广点通等众多业务中广泛采用,目前日均承载百亿级别的请求量。

pptseer

此外,ACE也可以作为一个不错的微服务框架使用,通过ACE Service Configurator可以动态地配置以下服务:短时服务、长时服务、内部服务、外部服务、有状态服务、无状态服务、分层式/模块化服务等等。

Microservices-3

Microservices-4

Microservices-5

Java是大多数公司研发的首选,其实,Go语言对构建微服务有天然优势,基于Go、Docker & K8S 和 OpenShift 能快速构建完整的互联网应用基础设施和交付平台。

将Istio分布式集群部署:Istio on Kubernetes on Mesos on AWS

istio-k8s-dcos

个人倾向,通过Go去更多替代Java,且从容器、微服务和持续交付快速入手。

有关微服务的一些信息:Microservices

Microservices-1

Microservices-2

另外,除GitLab外,Gogs也可作为更多Git仓库选择。


Consul服务发现和容器化DNS服务

2018年6月29日 没有评论

服务发现 – consul 的介绍、部署和使用

Consul架构

Image

Consul角色:

  • client: 客户端, 无状态, 将 HTTP 和 DNS 接口请求转发给局域网内的服务端集群;
  • server: 服务端, 保存配置信息, 高可用集群, 在局域网内与本地客户端通讯, 通过广域网与其他数据中心通讯。

Consul使用场景:

  • Docker 实例的注册与配置共享
  • CentOS 实例的注册与配置共享
  • DC/OS 集群
  • SaaS 应用的配置共享
  • 与 confd 服务集成,动态生成 nginx 和 haproxy 配置文件

资源:

初体验下:

$ docker pull consul
启动节点1(server)

docker run -d -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' --name=node1 consul agent -server -bind=172.17.0.2  -bootstrap-expect=3 -node=node1

启动节点2、3(server)
docker run -d -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' --name=node2 consul agent -server -bind=172.17.0.3  -join=172.17.0.2 -node-id=$(uuidgen | awk '{print tolower($0)}')  -node=node2

docker run -d -e 'CONSUL_LOCAL_CONFIG={"skip_leave_on_interrupt": true}' --name=node3 consul agent -server -bind=172.17.0.4  -join=172.17.0.2 -node-id=$(uuidgen | awk '{print tolower($0)}')  -node=node3 -client=172.17.0.4

启动节点4(client)
docker run -d -e 'CONSUL_LOCAL_CONFIG={"leave_on_terminate": true}' --name=node4 consul agent -bind=172.17.0.5 -retry-join=172.17.0.2 -node-id=$(uuidgen | awk '{print tolower($0)}')  -node=node4

查看集群
docker exec -t node1 consul members

consul

$ docker run -p 8500:8500 consul

2018/04/09 06:55:50 [INFO] agent: Started DNS server 0.0.0.0:8600 (tcp)

2018/04/09 06:55:50 [INFO] agent: Started DNS server 0.0.0.0:8600 (udp)

2018/04/09 06:55:50 [INFO] agent: Started HTTP server on [::]:8500 (tcp)

http://127.0.0.1:8500/ui/

consul-01

Consul通过8600端口提供DNS服务

Consul Forwarding DNS 支持 BIND, dnsmasq, Unbound, and iptables

Dnsmasq a lightweight, caching DNS proxy with integrated DHCP server.

Consul DNS 转发配置到 dnsmasq

/etc/dnsmasq.d/10-consul

# Enable forward lookup of the 'consul' domain:
server=/consul/127.0.0.1#8600

# Uncomment and modify as appropriate to enable reverse DNS lookups for
# common netblocks found in RFC 1918, 5735, and 6598:
#rev-server=0.0.0.0/8,127.0.0.1#8600
#rev-server=10.0.0.0/8,127.0.0.1#8600
#rev-server=100.64.0.0/10,127.0.0.1#8600
#rev-server=127.0.0.1/8,127.0.0.1#8600
#rev-server=169.254.0.0/16,127.0.0.1#8600
#rev-server=172.16.0.0/12,127.0.0.1#8600
#rev-server=192.168.0.0/16,127.0.0.1#8600
#rev-server=224.0.0.0/4,127.0.0.1#8600
#rev-server=240.0.0.0/4,127.0.0.1#8600

重启dnsmasq

使用dnsmasq镜像

$ docker pull andyshinn/dnsmasq

$ docker run -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN andyshinn/dnsmasq --address /api.test.com/127.0.0.1

$ ping api.test.com
PING api.test.com (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.050 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.060 ms

$ docker run -p 53:53/tcp -p 53:53/udp --cap-add=NET_ADMIN andyshinn/dnsmasq -S /consul/10.17.0.2

dnsmasq和consul是不同定位的产品,但可以工作在一起。

mesos-consul:Mesos to Consul bridge for service discovery  将Consul引入Mesos。