SlideShare uma empresa Scribd logo
1 de 166
Baixar para ler offline
HashiCorp Consul Workshop: 管管你們家 config 啦
Levi Chen 20190727
Levi Chen
Software Engineer in Common Service Team @ 91APP
Contact Me @
● FB: https://www.facebook.com/ChenJiunYi
● Blog: http://blog.levichen.tw/
About Me
How many services do you have?
How do you manage your configuration?
Outline
CH00 Environment SetUp
CH01 Why Configuration Management?
CH02 Play with Consul
CH03 Go Live
Outline
CH00 Environment SetUp
CH01 Why Configuration Management?
CH02 Play with Consul
CH03 Go Live
The Following Installation guild fom:
https://github.com/pahud/amazon-eks-workshop
Step 1. Choose region: us-west-2
Step 2. Spin up your Cloud9 IDE from AWS console
Step 3. Create and name your environment
Step 4. Choose Ubuntu Server 18.04 LTS
Step 5. Click create environment
(It would typically take 30-60 seconds to create your Cloud9 IDE)
Step6. Create a IAM Role which has AdministratorAccess permission
(If you already have it, please skip it to Step 11)
Step7. Create a IAM Role
Step8. Choose EC2
Step9. Attach AdministratorAccess Policy
Step10. Click Next, Next, Next to create to an Admin IAM Role
Step 11. Turn off the Cloud9 temporarily provided IAM credentials
Step 12. After turn off the temporary credentials, you should get this error message
Step 13. Find Cloud9 EC2 on AWS Console
Step 14. Right click the EC2 then attach Admin IAM Role to EC2
Step 15. Run aws sts get-caller-identity - you should be able to see the returned JSON
output like this.
$ git clone https://github.com/levichen/consul-workshop
$ cd consul-workshop/lab00
$ sudo ./00_install.sh
$ ./01_test.sh
Step 16. Download materials, install and confirm it ...
// comment
$ ----> execute in Cloud9
# ----> execute in Container
Command types
Outline
CH00 Environment SetUp
CH01 Why Configuration Management?
CH02 Play with Consul
CH03 Go Live
CH01 Why Configuration Management?
● Morden app are smaller, compostable & portable
● More fixable service management
● Single code base multiple deployment
● External services are unstable
DevOpsDays Taipei 2018 - https://s.itho.me/devopsdays/2018/0911tracka-3.pdf
https://www.nginx.com/blog/nginmesh-nginx-as-a-proxy-in-an-istio-service-mesh/
https://www.nginx.com/blog/nginmesh-nginx-as-a-proxy-in-an-istio-service-mesh/
E = Number of Environments
N = Number of Services
M = Number of Instances
The Deployment Complexity = E * N * M
CH01 Why Configuration Management?
● Morden app are smaller, compostable & portable
● More fixable service management
● Single code base multiple deployment
● External services are unstable
The Server-Side Service Disvoery
How many Domain Name you need to configure,
if you want to build a environment?
Environment 1
A
B
C
D
E
a.environment1.com
b.environment1.com
c.environment1.com
d.environment1.com
e.environment1.com
Environment 2
A
B
C
D
E
a.environment2.com
b.environment2.com
c.environment2.com
d.environment2.com
e.environment2.com
The Client-Side Service Disvoery
Server Side Service Discovery: Pull
Client Side Service Discovery: Push
cm.environment2.com
Environment 1
A
B
C D
E
cm.environment1.com
CM
Environment 2
A
B
C D
ECM
Multiple talents infrastructure in client side service discovery
VIP
VIP
Normal
ClientA
ClientB
Shared
Users
a.client.service.com
b.client.service.com
shared.client.service.com
Multiple talents infrastructure in server side service discovery
CH01 Why Configuration Management?
● Morden app are smaller, compostable & portable
● More fixable service management
● Single code base multiple deployment
● External services are unstable
In trandiational way
Environment 1
Service A
CD Server
1. Build
2. Deploy
Environment 1
Service A
CD Server
1. Build
2. Deploy
Environment 2
Service A
CD Server
1. Build
2. Deploy
Too many CD Servers, and hard to scale
In a better way
Environment 1
AM
CI Server
1. Build Code
CMService B 3. Get Configuration
2. Get Artifact
Environment 2
CMService B 3. Get Configuration
2. Get Artifact
Configuration
(Git)
1. Build Configuration
CH01 Why Configuration Management?
● Morden app are smaller, compostable & portable
● More fixable service management
● Single code base multiple deployment
● External services are unstable
A
B
C
SMS #1
A
B
C
SMS #1
A
B
C
SMS #1
SMS #2
You need to deploy all of your services
A
B
C
SMS #1
SMS #2
What can CM do?
CM
A
B
C
SMS #1
SMS #2
health check for SMS #1, SMS #1
CM
Health Host : #1, #2
A
B
C
SMS #1
SMS #2
Service A, B, C get healthy hosts list
CMGet Configuration
Health Host : #1, #2
A
B
C
SMS #1
SMS #2
Send to SMS #1
CM
Health Host : #1, #2
A
B
C
SMS #1
SMS #2
When SMS #1 crash
CM
Health Host : #1, #2
A
B
C
SMS #1
SMS #2
CM will know it in short time (depends on your health check interval)
CM
Health Host : #2
A
B
C
SMS #1
SMS #2
Only get SMS #2
CMGet Configuration
Health Host : #2
A
B
C
SMS #1
SMS #2
Send to SMS #2 without any deployment
CM
Health Host : #2
We need
● Configuration store
● Service discovery
● Health check
Consul is a service networking solution to connect and secure services across any
runtime platform and public or private cloud
Outline
CH00 Environment SetUp
CH01 Why Configuration Management?
CH02 Play with Consul
CH03 Go Live
CH02 Play with Consul
● KV
● Registering service
● Health check
● Building Consul cluster
EC2
Consul
Process
eth0
HTTP 8080
8080
For lab01, lab02
Consul
Binrary
Please launch two terminals on Cloud9
Terminal 1 For starting Consul
Terminal 2 For executing commands
// terminal 1
$ consul agent -dev -ui -http-port 8080
// terminal 2
$ export CONSUL_HTTP_ADDR=http://localhost:8080
$ consul members
Launch Consul in Develop mode and check cluster members
Get Consul UI
Pop out into new window
Consul UI
CH02 Play with Consul: KV
● Key value store
● Used to hold dynamic configuration
// In terminal 2
$ export CONSUL_HTTP_ADDR=http://localhost:8080
// Get key value
$ consul kv get redis/config/minconns
// Insert a key value paris
$ consul kv put redis/config/minconns 1
$ consul kv put redis/config/maxconns 25
// Get single key value
$ consul kv get redis/config/minconns
// Get key value recursively
$ consul kv get -recurse
KV on Consul UI
// update
$ consul kv put redis/config/minconns 9
$ consul kv get redis/config/minconns
// delete
$ consul kv delete redis/config/minconns
$ consul kv delete -recurse redis
Delete commands is dangerous check your ACL configruation before go live
● Service Definition
○ Using statis service difinition files
● HTTP API
○ Using Consul command or HTTP API
CH02 Play with Consul: Registering Service
// terminal 1
// exit the previous consul process
$ cd ../lab02
$ consul agent -dev -ui -http-port 8080 -config-dir=conf.d
Launch Consul Again
Check Service Status on Consul UI
Service Definition File
Querying Service via DNS
// terminal 2
$ dig @127.0.0.1 -p 8600 web.service.consul
Querying Service via HTTP API
// terminal 2
$ export CONSUL_HTTP_ADDR=http://localhost:8080
$ curl $CONSUL_HTTP_ADDR/v1/catalog/service/web
Register by HTTP API
Service Definition File
// terminal 2
$ cd consul-workshop/lab02/
$ export CONSUL_HTTP_ADDR=http://localhost:8080
$ curl --request PUT --data @webapi.json
${CONSUL_HTTP_ADDR}/v1/agent/service/register
Launch Consul Again
Check Service Status on Consul UI
Querying Service
// terminal 2
$ dig @127.0.0.1 -p 8600 webapi.service.consul SRV
$ curl $CONSUL_HTTP_ADDR/v1/catalog/service/webapi
Service health check
Critical component of service discovery that prevent using services that are
unhealthy.
Two approach to register check:
● Check difination files
● HTTP API
Unhealth
● exit code > 0
Launch Consul service and try get service via Consul HTTP API
// terminal 1
// exit the previous consul process
$ cd ../lab03
$ consul agent -dev -ui -http-port 8080 -enable-script-checks -config-dir=./
// terminal 2
$ cd ../lab03
$ export CONSUL_HTTP_ADDR=http://localhost:8080
$ curl $CONSUL_HTTP_ADDR/v1/health/state/critical
$ dig @127.0.0.1 -p 8600 web.service.consul SRV
Check Google (external) status every 30 seconds via ping
There are to check checks in this nodes
Check local service status every 10 seconds via curl
Web
Pull mode health check
CM
Push mode: Service needs to send heartbeat every 20 seconds
// terminal 2
$ export CONSUL_HTTP_ADDR=http://localhost:8080
$ curl $CONSUL_HTTP_ADDR/v1/health/state/critical
// send a heartbeat
$ curl -X PUT $CONSUL_HTTP_ADDR/v1/agent/check/pass/service:Batch
$ curl $CONSUL_HTTP_ADDR/v1/health/state/critical
Web
Push mode health check
CM
● Client passive (Pull)
○ Simpler
○ Bottleneck in the server
● Client active (Push)
○ Faster
Service health check: Push v.s Pull
● KV
○ Key value store
○ Used to hold dynamic configuration
● Registering service
○ Static
○ Dynamic
● Health check
○ Consul helps you to check internal/external services
○ Push / Pull mode
Summary
Consul Cluster
Server
(Follower)
Server
(Leader)
Server
(Follower)
GOSSIP
Replication
Leader
Forwarding
Replication
Client Client Client
RPC
Leader
Forwarding
GOSSIP
RPCGOSSIP
EC2
Docker Network
Consul
Server
Consul
Client
eth0
8080
8080
Server
- bootstrap-expect: the number of expected servers in the datacenter
- ui: Enables the built-in web UI server and the required HTTP routes.
- client: The address to which Consul will bind client interfaces, including the HTTP and DNS
servers.
- node: The name of this node in the cluster.
Client
- join: Address of another agent to join upon starting up.
// terminal 1
// exit the previous consul process
$ cd ../lab04
$ docker-compose up -d
Using docker-compose to launch 1 Consul Server + 1 Consul Client
// terminal 2
// go into the Docker instance
$ docker exec -it consul-client sh
// get Consul Cluster information via local Consul agent
# consul members
// terminal 1
$ docker-compose down
Exit Docker Compose
Querying Service in Cluster
● 1 Consul Server
● 3 Consul Clients
● 1 Service with 2 nodes
EC2
Docker Network
Consul
Server
Consul
Client1
eth0
8080
8080
Web1
Consul
Client2
Web2
Consul
Client3
// terminal 1
$ cd ../lab05
$ docker-compose up -d
Using docker-compose to launch 1 Consul Server + 3 Consul Clients + 2 webs
// terminal 2
// go into the Docker instance
$ docker exec -it consul-client3 sh
// get Consul Cluster via local Consul agent
# consul members
// get service information via HTTP API
# curl -G localhost:8500/v1/catalog/service/web | jq
// Get VIP instances
# curl -G localhost:8500/v1/catalog/service/web 
--data-urlencode 'filter="VIP" in ServiceTags' | jq
// Get Normal instances
# curl -G localhost:8500/v1/catalog/service/web 
--data-urlencode 'filter="Normal" in ServiceTags' | jq
// Get Passing checks
# curl -G localhost:8500/v1/health/checks/web 
--data-urlencode 'filter=Status == "passing"' | jq
// Get Critical checks
# curl -G localhost:8500/v1/health/checks/web 
--data-urlencode 'filter=Status == "critical"' | jq
EC2
Docker Network
Consul
Server
Consul
Client1
eth0
8080
8080
Web1
Consul
Client2
Web2
Consul
Client3
// Launch 3rd terminal to stop web2
$ docker stop web2
// terminal 2
// Check web status in consul-client3
# curl -G localhost:8500/v1/health/checks/web 
--data-urlencode 'filter=Status == "passing"' | jq
# curl -G localhost:8500/v1/health/checks/web 
--data-urlencode 'filter=Status == "critical"' | jq
// terminal 3
$ docker start web2
// terminal 2
// check web status in consul-client3
# curl -G localhost:8500/v1/health/checks/web 
--data-urlencode 'filter=Status == "passing"' | jq
# curl -G localhost:8500/v1/health/checks/web 
--data-urlencode 'filter=Status == "critical"' | jq
// terminal 3
$ docker stop consul-client2
// terminal 2
// check web status in consul-client3
# curl -G localhost:8500/v1/health/checks/web 
--data-urlencode 'filter=Status == "passing"' | jq
# curl -G localhost:8500/v1/health/checks/web 
--data-urlencode 'filter=Status == "critical"' | jq
What is wrong?
// terminal 3
$ docker logs consul-server
Consul Graceful shutdown
// terminal 3
$ docker start consul-client2
// terminal 1
$ docker-compose down
VM1
Consul
Client1
8080
Web1
Server
(Follower)
Server
(Leader)
Server
(Follower)
VM2
Consul
Client2
Web2
VM3
Consul
Client3
Service
K
Sidecar Pattern in Consul
Outline
CH00 Environment SetUp
CH01 Why Configuration Management?
CH02 Play with Consul
CH03 Go Live
● Is Consul Stable?
● Monitoring Consul Cluster
● How to discover the service discovery system?
● How to push in the company?
● Production checklist
CH03 Go Live
● Is Consul Stable?
● Monitoring Consul Cluster
● How to discover the service discovery service?
● How legacy service use it?
● Production checklist
CH03 Go Live
Server
(Follower)
Server
(Leader)
Server
(Follower)
GOSSIP
Replication
Leader
Forwarding
Replication
Client Client Client
RPC
Leader
Forwarding
GOSSIP
RPCGOSSIP
Consul Cluster Availability
Server
(Leader)
Server
(Follower)
GOSSIP
Replication
Client Client Client
RPC
Leader
Forwarding
GOSSIP
RPCGOSSIP
Consul Cluster Availability, leader election
Consul Cluster Availability: Multiple AZ deployment
Performance tuning depending on your requirements
Ref: https://www.consul.io/docs/install/performance.html
VM1
Consul
Client1
8080
Web1
Server
(Follower)
Server
(Leader)
Server
(Follower)
VM2
Consul
Client2
Web2
VM3
Consul
Client3
Service
K
Developing a SDK for caching configuartion, prevent from calling Consul every time
SDK SDK SDK
Keep long pulling connection Keep long pulling connection Keep long pulling connection
● Is Consul Stable?
● Monitoring Consul Cluster
● How to discover the service discovery service?
● How legacy service use it?
● Production checklist
CH03 Go Live
Monitoring Consul Cluster
HashiCorp Vault Workshop:幫 Credentials 找個窩
Ref: https://www.slideshare.net/smalltown20110306/hashicorp-vault-workshop-credentials
● CloudWatch Agent + StatsD
● Do not need to maintain log service
Monitoring Consul Cluster
VM1 VM2 VM3
Shipping Consul metrics to CloudWatch
8080
Server
(Follower)
Server
(Leader)
Server
(Follower)
AWS
CloudWatch
Agent
Statd port: 9125
AWS
CloudWatch
Agent
Statd port: 9125
AWS
CloudWatch
Agent
Statd port: 9125
// terminal 1
$ cd ../lab06
$ sudo dpkg -i -E amazon-cloudwatch-agent.deb
$ sudo cp amazon-cloudwatch-agent.json
/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
$ sudo
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m
ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s
$ consul agent --config-dir ./conf.d
After 15 mins ...
● Is Consul Stable?
● Monoriting Consul Cluster
● How to discover the service discovery service?
● How legacy service use it?
● Production checklist
CH03 Go Live
Ref: https://www.slideshare.net/AmazonWebServices/leveraging-elastic-webscale-computing-with-aws
Put bootstring configuration on AWS EC2 tags
Environment 1
AM
CI Server
0. Build Code
CMService B
Environment 2
CMService B
Configuration
(Git)
0. Build Configuration
Environment 1
AM
CI Server
CMService B
Environment 2
CMService B
Configuration
(Git)
1. Get Instance Metadata
Version, AM URL, CM URL
Version, AM URL, CM URL
1. Get Instance Metadata
Environment 1
AM
CI Server
CMService B
Environment 2
CMService B
Configuration
(Git)
2. Get Artifact
2. Get Artifact
Environment 1
AM
CI Server
CMService B 3. Get Configuration
Environment 2
CMService B 3. Get Configuration
Configuration
(Git)
Environment 1
AM
CI Server
0. Build Code
CMService B 3. Get Configuration
Environment 2
CMService B 3. Get Configuration
Configuration
(Git)
0. Build Configuration
1. Get Instance Metadata
Version, AM URL, CM URL
Version, AM URL, CM URL
2. Get Artifact
1. Get Instance Metadata
2. Get Artifact
● Run Consul Client (Join Consul Cluster)
● Get Service Name, Service Version, Artifacts Url, Market and Environment
● Get Artifacts
● Get Confugration
● Run Service
Service Provisioning
● Is Consul Stable?
● Monitoring Consul Cluster
● How to discover the service discovery service?
● How legacy service use Consul?
● Production checklist
CH03 Go Live
EC2
Docker Network
Consul
Server
Consul
Client1
eth0
8080
8080
Web1
Consul
Client2
Web2 Proxy
8081
8081
Consul
Template
Consul Template
This project provides a convenient way to populate values from Consul into the file
system using the consul-template daemon.
https://github.com/hashicorp/consul-template
// check all terminals change dir to lab07
$ cd ../lab07
// in terminal 1
$ docker-compose up -d
// in termianl 2
$ curl localhost:8081
// in termianl 2
// launch consul template, it will regenerator nginx proxy, and you can
access web1, web2 now
$ consul-template -template
"./nginx-config-template/upstream.tpl:./nginx-config/upstream.conf:docker restart proxy"
// in termianl 3
$ curl localhost:8081
$ docker stop web2
$ curl localhost:8081
● Is Consul Stable?
● Monoriting Consul Cluster
● How to discover the service discovery service?
● How legacy service use Consul?
● Production checklist
CH03 Go Live
CH03 Go Live: Production checklist
● Networking
○ Port. Like: DNS Server, HTTP API, Serf, Gossip
○ DNS Configuration
■ https://learn.hashicorp.com/consul/security-networking/forwarding
■ https://learn.hashicorp.com/consul/security-networking/dns-caching
● Consul Servers Deployment
○ Consul Binary
○ Configuration
○ Telemerty configured
● Consul Clients Deployment
○ Sidecar or not?
○ External Service Monitor has been deployed to nodes that can not run a Consul client
● Security
○ Encription of Communication
○ Enable ACLs
○ Setup a Certificate Authority
● Failure Recovery
CH03 Go Live: Production checklist
CH01 Why Configuration Management?
● Morden app are smaller, compostable & portable
● More fixable service management
● Single code base multiple deployment
● External services are unstable
Summary
CH02 Play With Consul
● KV
○ Key value store
○ Used to hold dynamic configuration
● Registering service
○ Static
○ Dynamic
● Health check
○ Consul helps you to check internal/external services
○ Push / Pull mode
● Building Consul cluster
Summary
CH03 Go Live
● Is Consul Stable?
● Monitoring Consul Cluster
● How to discover the service discovery service?
● How legacy service use Consul?
● Production checklist
Summary
https://www.104.com.tw/company/1a2x6bio5g
Questions?
● Remember to delete your Cloud9 instance & Admin IAM Role
● CloudWatch Log will delete automatically after 2 weeks
Clean Up
● 91APP
○ Andrew Wu
○ Rick Hwang
○ Earou Huang
○ Infra & Common Service Team Members
● DevOps Taiwan & Taipei HashiCorp User Group
○ Cheng Wei Chen
○ Smalltown
○ Rico Chen
● AWS
○ Carol Chen
● eCloudvalley Technology
Thank you sooooooooooooooo much
Thanks

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Service mesh in action with onap
Service mesh in action with onapService mesh in action with onap
Service mesh in action with onap
 
Open Source Networking Days- Service Mesh
Open Source Networking Days- Service MeshOpen Source Networking Days- Service Mesh
Open Source Networking Days- Service Mesh
 
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...
Leveraging Envoy Proxy and GraphQL to Lower the Risk of Monolith to Microserv...
 
Multicluster Kubernetes and Service Mesh Patterns
Multicluster Kubernetes and Service Mesh PatternsMulticluster Kubernetes and Service Mesh Patterns
Multicluster Kubernetes and Service Mesh Patterns
 
MSB Deep Dive
MSB Deep DiveMSB Deep Dive
MSB Deep Dive
 
Consul: Service Mesh for Microservices
Consul: Service Mesh for MicroservicesConsul: Service Mesh for Microservices
Consul: Service Mesh for Microservices
 
Microservice bus tutorial
Microservice bus tutorialMicroservice bus tutorial
Microservice bus tutorial
 
MSB to Support Carrier Grade ONAP Microservice Architecture with Service Mesh
MSB to Support Carrier Grade ONAP Microservice Architecture with Service MeshMSB to Support Carrier Grade ONAP Microservice Architecture with Service Mesh
MSB to Support Carrier Grade ONAP Microservice Architecture with Service Mesh
 
Consul 1.6: Layer 7 Traffic Management and Mesh Gateways
Consul 1.6: Layer 7 Traffic Management and Mesh GatewaysConsul 1.6: Layer 7 Traffic Management and Mesh Gateways
Consul 1.6: Layer 7 Traffic Management and Mesh Gateways
 
Building a scalable microservice architecture with envoy, kubernetes and istio
Building a scalable microservice architecture with envoy, kubernetes and istioBuilding a scalable microservice architecture with envoy, kubernetes and istio
Building a scalable microservice architecture with envoy, kubernetes and istio
 
Navigating the service mesh landscape with Istio, Consul Connect, and Linkerd
Navigating the service mesh landscape with Istio, Consul Connect, and LinkerdNavigating the service mesh landscape with Istio, Consul Connect, and Linkerd
Navigating the service mesh landscape with Istio, Consul Connect, and Linkerd
 
Brushing skills on SignalR for ASP.NET developers
Brushing skills on SignalR for ASP.NET developersBrushing skills on SignalR for ASP.NET developers
Brushing skills on SignalR for ASP.NET developers
 
Javascript Client & Server Architectures
Javascript Client & Server ArchitecturesJavascript Client & Server Architectures
Javascript Client & Server Architectures
 
API World: The service-mesh landscape
API World: The service-mesh landscapeAPI World: The service-mesh landscape
API World: The service-mesh landscape
 
Service-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Service-mesh options with Linkerd, Consul, Istio and AWS AppMeshService-mesh options with Linkerd, Consul, Istio and AWS AppMesh
Service-mesh options with Linkerd, Consul, Istio and AWS AppMesh
 
Api service mesh and microservice tooling
Api service mesh and microservice toolingApi service mesh and microservice tooling
Api service mesh and microservice tooling
 
AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)
AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)
AzureConf 2014 - Azure hybrid connections (Sam Vanhoutte)
 
Relevez les défis Kubernetes avec NGINX
Relevez les défis Kubernetes avec NGINXRelevez les défis Kubernetes avec NGINX
Relevez les défis Kubernetes avec NGINX
 
The Internet of things for integration people - UKCSUG - public version
The Internet of things for integration people - UKCSUG - public versionThe Internet of things for integration people - UKCSUG - public version
The Internet of things for integration people - UKCSUG - public version
 
Microservices With Istio Service Mesh
Microservices With Istio Service MeshMicroservices With Istio Service Mesh
Microservices With Istio Service Mesh
 

Semelhante a 20190727 HashiCorp Consul Workshop: 管管你們家 config 啦

Semelhante a 20190727 HashiCorp Consul Workshop: 管管你們家 config 啦 (20)

Service discovery like a pro (presented at reversimX)
Service discovery like a pro (presented at reversimX)Service discovery like a pro (presented at reversimX)
Service discovery like a pro (presented at reversimX)
 
20191018 DevOpsDays Taipei 2019 從零開始的 Configuration Management
20191018 DevOpsDays Taipei 2019 從零開始的 Configuration Management20191018 DevOpsDays Taipei 2019 從零開始的 Configuration Management
20191018 DevOpsDays Taipei 2019 從零開始的 Configuration Management
 
Consul First Steps
Consul First StepsConsul First Steps
Consul First Steps
 
A Node.js Developer's Guide to Bluemix
A Node.js Developer's Guide to BluemixA Node.js Developer's Guide to Bluemix
A Node.js Developer's Guide to Bluemix
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceScaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container Service
 
Citrix_1Y0-241_May_2023-v1.2.pdf
Citrix_1Y0-241_May_2023-v1.2.pdfCitrix_1Y0-241_May_2023-v1.2.pdf
Citrix_1Y0-241_May_2023-v1.2.pdf
 
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - Cont...
 
Infrastructure development using Consul
Infrastructure development using ConsulInfrastructure development using Consul
Infrastructure development using Consul
 
Evolution of kube-proxy (Brussels, Fosdem 2020)
Evolution of kube-proxy (Brussels, Fosdem 2020)Evolution of kube-proxy (Brussels, Fosdem 2020)
Evolution of kube-proxy (Brussels, Fosdem 2020)
 
HashiStack. To the cloud and beyond...
HashiStack. To the cloud and beyond...HashiStack. To the cloud and beyond...
HashiStack. To the cloud and beyond...
 
RedMart Migrating from EC2 to VPC with Chef
RedMart Migrating from EC2 to VPC with ChefRedMart Migrating from EC2 to VPC with Chef
RedMart Migrating from EC2 to VPC with Chef
 
Microservices Antipatterns
Microservices AntipatternsMicroservices Antipatterns
Microservices Antipatterns
 
Config Management Camp 2015 - How to Deploy CFEngine in the Open Internet
Config Management Camp 2015 - How to Deploy CFEngine in the Open InternetConfig Management Camp 2015 - How to Deploy CFEngine in the Open Internet
Config Management Camp 2015 - How to Deploy CFEngine in the Open Internet
 
Integrating Consul and Puppet
Integrating Consul and PuppetIntegrating Consul and Puppet
Integrating Consul and Puppet
 
Integrating Consul and Puppet
Integrating Consul and PuppetIntegrating Consul and Puppet
Integrating Consul and Puppet
 
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
Integrating Infrastructure as Code into a Continuous Delivery Pipeline | AWS ...
 
Getting Started with Consul
Getting Started with ConsulGetting Started with Consul
Getting Started with Consul
 
Docker swarm introduction
Docker swarm introductionDocker swarm introduction
Docker swarm introduction
 
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
 
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service BusWebinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
Webinar: Message Tracing and Debugging in WSO2 Enterprise Service Bus
 

Último

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
anilsa9823
 

Último (20)

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 

20190727 HashiCorp Consul Workshop: 管管你們家 config 啦