SlideShare a Scribd company logo
1 of 19
Download to read offline
Consul
Service discovery
Vladimir Kosmala
vladimir.kosmala@cern.ch
1
• Consul overview

• O2 requirements

• Quality Control usecase

• Prototype

• Conclusion
!2
Outline
Consul overview
• Service discovery

• Health checking

• KV store

• Distributed
3
Consul overview
• Config file

• HTTP API

• DNS

• CLI

• Web GUI
4
!5
Checklist O2 requirements
- provide API
- track status of services
- read status of services
- notify on service failure
Usecase:

QC Information Service
!6
?
...
agent
object
?
?
central process
!7
...
"Service discovery made easy"
!8
1. Register Service (once)

QC Information Service
2. Register health check (once)

Agent DAQ, TOF, etc.
3. Publish health status (+ listing)

Objects foo, bar, baz
4. Reading status from Consul

all agents and their objects
Steps for QC
curl 
http://localhost:8500/v1/agent/service/register 
--request PUT 
--data '{"name":"information-service"}'
1. Register service
curl 
http://localhost:8500/v1/agent/check/register 
--request PUT 
--data '{"name":"daq-agent", "ttl": "6s", "serviceid": "information-service"}
2. Register health check
curl 
http://localhost:8500/v1/agent/check/update/daq-agent 
--request PUT 
--data '{"status": "passing", "output": "daq/_Event/trace,daq/_Event/log"}'
3. Publish health status (+ listing)
curl 
http://localhost:8500/v1/health/checks/information-service
4. Reading status from Consul
[
{
"Node": "vlad",
"CheckID": "daq-agent",
"Name": "daq-agent",
"Status": "passing",
"Notes": "",
"Output": "daq/_Event/trace,daq/_Event/log",
"ServiceID": "information-service",
"ServiceName": "information-service",
"ServiceTags": [],
"Definition": {},
"CreateIndex": 12,
"ModifyIndex": 45
},
{
"Node": "vlad",
"CheckID": "tof-agent",
!13
...
"Service discovery made easy"
[
{
"Node": "vlad",
"CheckID": "daq-agent",
"Name": "daq-agent",
"Status": "passing",
"Notes": "",
"Output": "daq/_Event/trace,
"ServiceID": "information-se
"ServiceName": "information-
"ServiceTags": [],
"Definition": {},
"CreateIndex": 12,
"ModifyIndex": 45
},
{
"Node": "vlad",
"CheckID": "tof-agent",
"Name": "tof-agent",
"Status": "critical",
"Notes": "",
"Output": "TTL expired",
"ServiceID": "information-se
"ServiceName": "information-
"ServiceTags": [],
"Definition": {},
"CreateIndex": 13,
"ModifyIndex": 42
}
]
!14
ok!
1. Register Service (once)

QC Information Service
2. Register health check (once)

Agent DAQ, TOF, etc.
3. Publish health status (+ listing)

Objects foo, bar, baz
4. Reading status from Consul

all agents and their objects
Steps for QC
Checklist O2 requirements
- provide API
- track status of services
- read status of services
- notify on service failure
!15
Notify on service failure
with "Consul watches"
Start command and add
notification handlers:

• http handler

POST http://QC.cern.ch

• command handler

/usr/bin/infologger
16
17
consul watch -type=service -service=information-service /bin/cat
Notify on service failure
with "watches"
[...]"Name":"tof-agent","Status":"passing"[...]
[...]"Name":"tof-agent","Status":"critical"[...]
ttl => 6s
POST status
!18
Checklist O2 requirements
- provide API
- track status of services
- read status of services
- notify on service failure
!19
# names are required
# ids are names by default, must be unique
# list services
curl http://localhost:8500/v1/agent/services
# put one service
curl http://localhost:8500/v1/agent/service/register --request PUT --data '{"name":"information-service"}'
# put check
curl http://localhost:8500/v1/agent/check/register --request PUT --data '{"name":"daq-agent", "ttl": "6s", "serviceid":
"information-service"}'
curl http://localhost:8500/v1/agent/check/register --request PUT --data '{"name":"tof-agent", "ttl": "6s", "serviceid":
"information-service"}'
# update check status
curl http://localhost:8500/v1/agent/check/update/daq-agent --request PUT --data '{"status": "passing", "output": "daq/
_Event/trace,daq/_Event/log"}'
curl http://localhost:8500/v1/agent/check/update/tof-agent --request PUT --data '{"status": "passing", "output": "tof/
_Compute/map,tof/_Compute/reduce"}'
# list checks passing
curl http://localhost:8500/v1/health/state/passing
# watch changes
consul watch -type=service -service=information-service /bin/cat
Memo

More Related Content

What's hot

How to stay sane during your Vagrant journey
How to stay sane during your Vagrant journeyHow to stay sane during your Vagrant journey
How to stay sane during your Vagrant journeyJakub Wadolowski
 
Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3kognate
 
Deployment with capistrano
Deployment with capistranoDeployment with capistrano
Deployment with capistranosagar junnarkar
 
Puppet Performance Profiling
Puppet Performance ProfilingPuppet Performance Profiling
Puppet Performance Profilingripienaar
 
Altitude NY 2018: Programming the edge workshop
Altitude NY 2018: Programming the edge workshopAltitude NY 2018: Programming the edge workshop
Altitude NY 2018: Programming the edge workshopFastly
 
Intelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStackIntelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStackLove Nyberg
 
Altitude NY 2018: 132 websites, 1 service: Your local news runs on Fastly
Altitude NY 2018: 132 websites, 1 service: Your local news runs on FastlyAltitude NY 2018: 132 websites, 1 service: Your local news runs on Fastly
Altitude NY 2018: 132 websites, 1 service: Your local news runs on FastlyFastly
 
Solving anything in VCL
Solving anything in VCLSolving anything in VCL
Solving anything in VCLFastly
 
Integration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container serviceIntegration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container serviceSaltStack
 
Where is my scalable api?
Where is my scalable api?Where is my scalable api?
Where is my scalable api?Altoros
 
Consul administration at scale
Consul administration at scaleConsul administration at scale
Consul administration at scalePierre Souchay
 
Advanced VCL: how to use restart
Advanced VCL: how to use restartAdvanced VCL: how to use restart
Advanced VCL: how to use restartFastly
 
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, EverAltitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, EverFastly
 
VCL template abstraction model and automated deployments to Fastly
VCL template abstraction model and automated deployments to FastlyVCL template abstraction model and automated deployments to Fastly
VCL template abstraction model and automated deployments to FastlyFastly
 
openstack源码分析(1)
openstack源码分析(1)openstack源码分析(1)
openstack源码分析(1)cannium
 
Infrastructure = code - 1 year later
Infrastructure = code - 1 year laterInfrastructure = code - 1 year later
Infrastructure = code - 1 year laterChristian Ortner
 

What's hot (20)

(Re)discover your AEM
(Re)discover your AEM(Re)discover your AEM
(Re)discover your AEM
 
How to stay sane during your Vagrant journey
How to stay sane during your Vagrant journeyHow to stay sane during your Vagrant journey
How to stay sane during your Vagrant journey
 
Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3Server(less) Swift at SwiftCloudWorkshop 3
Server(less) Swift at SwiftCloudWorkshop 3
 
Deployment with capistrano
Deployment with capistranoDeployment with capistrano
Deployment with capistrano
 
Puppet Performance Profiling
Puppet Performance ProfilingPuppet Performance Profiling
Puppet Performance Profiling
 
Altitude NY 2018: Programming the edge workshop
Altitude NY 2018: Programming the edge workshopAltitude NY 2018: Programming the edge workshop
Altitude NY 2018: Programming the edge workshop
 
Intelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStackIntelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStack
 
Altitude NY 2018: 132 websites, 1 service: Your local news runs on Fastly
Altitude NY 2018: 132 websites, 1 service: Your local news runs on FastlyAltitude NY 2018: 132 websites, 1 service: Your local news runs on Fastly
Altitude NY 2018: 132 websites, 1 service: Your local news runs on Fastly
 
Solving anything in VCL
Solving anything in VCLSolving anything in VCL
Solving anything in VCL
 
Integration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container serviceIntegration testing for salt states using aws ec2 container service
Integration testing for salt states using aws ec2 container service
 
Where is my scalable api?
Where is my scalable api?Where is my scalable api?
Where is my scalable api?
 
Consul administration at scale
Consul administration at scaleConsul administration at scale
Consul administration at scale
 
Advanced VCL: how to use restart
Advanced VCL: how to use restartAdvanced VCL: how to use restart
Advanced VCL: how to use restart
 
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, EverAltitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
 
Capistrano
CapistranoCapistrano
Capistrano
 
Test driven infrastructure
Test driven infrastructureTest driven infrastructure
Test driven infrastructure
 
VCL template abstraction model and automated deployments to Fastly
VCL template abstraction model and automated deployments to FastlyVCL template abstraction model and automated deployments to Fastly
VCL template abstraction model and automated deployments to Fastly
 
openstack源码分析(1)
openstack源码分析(1)openstack源码分析(1)
openstack源码分析(1)
 
Capistrano - Deployment Tool
Capistrano - Deployment ToolCapistrano - Deployment Tool
Capistrano - Deployment Tool
 
Infrastructure = code - 1 year later
Infrastructure = code - 1 year laterInfrastructure = code - 1 year later
Infrastructure = code - 1 year later
 

Similar to Consul presentation

Orion Context Broker
Orion Context Broker Orion Context Broker
Orion Context Broker TIDChile
 
Consul First Steps
Consul First StepsConsul First Steps
Consul First StepsMarc Cluet
 
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeAcademy
 
Microservice bus tutorial
Microservice bus tutorialMicroservice bus tutorial
Microservice bus tutorialHuabing Zhao
 
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021WDDay
 
Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8Fermin Galan
 
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles ServiceAraport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Servicestevemock
 
Kuberntes Ingress with Kong
Kuberntes Ingress with KongKuberntes Ingress with Kong
Kuberntes Ingress with KongNebulaworks
 
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr MalykFwdays
 
Industroyer: biggest threat to industrial control systems since Stuxnet by An...
Industroyer: biggest threat to industrial control systems since Stuxnet by An...Industroyer: biggest threat to industrial control systems since Stuxnet by An...
Industroyer: biggest threat to industrial control systems since Stuxnet by An...CODE BLUE
 
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)Laurent Bernaille
 
How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.Renzo Tomà
 
Plataforma distribuída de Microserviços ou, como a Olist funciona
Plataforma distribuída de Microserviços ou, como a Olist funcionaPlataforma distribuída de Microserviços ou, como a Olist funciona
Plataforma distribuída de Microserviços ou, como a Olist funcionaOsvaldo Santana Neto
 
Introduction to CloudStack API
Introduction to CloudStack APIIntroduction to CloudStack API
Introduction to CloudStack APIKrunal Jain
 
Subscribed 2017: Understanding Zuora’s API Framework
Subscribed 2017: Understanding Zuora’s API FrameworkSubscribed 2017: Understanding Zuora’s API Framework
Subscribed 2017: Understanding Zuora’s API FrameworkZuora, Inc.
 

Similar to Consul presentation (20)

Orion Context Broker
Orion Context Broker Orion Context Broker
Orion Context Broker
 
Look, ma! no clients!
Look, ma! no clients!Look, ma! no clients!
Look, ma! no clients!
 
Consul First Steps
Consul First StepsConsul First Steps
Consul First Steps
 
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
KubeCon EU 2016: Creating an Advanced Load Balancing Solution for Kubernetes ...
 
Microservice bus tutorial
Microservice bus tutorialMicroservice bus tutorial
Microservice bus tutorial
 
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
 
Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8Context-aware application development with FIWARE #CPBR8
Context-aware application development with FIWARE #CPBR8
 
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles ServiceAraport Workshop Tutorial 2: Authentication and the Agave Profiles Service
Araport Workshop Tutorial 2: Authentication and the Agave Profiles Service
 
Kuberntes Ingress with Kong
Kuberntes Ingress with KongKuberntes Ingress with Kong
Kuberntes Ingress with Kong
 
News In Wcf40
News In Wcf40News In Wcf40
News In Wcf40
 
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
"Fintech inside of a SaaS powered by 2000+ Microservices", Volodymyr Malyk
 
Industroyer: biggest threat to industrial control systems since Stuxnet by An...
Industroyer: biggest threat to industrial control systems since Stuxnet by An...Industroyer: biggest threat to industrial control systems since Stuxnet by An...
Industroyer: biggest threat to industrial control systems since Stuxnet by An...
 
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)
 
How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.How bol.com makes sense of its logs, using the Elastic technology stack.
How bol.com makes sense of its logs, using the Elastic technology stack.
 
Plataforma distribuída de Microserviços ou, como a Olist funciona
Plataforma distribuída de Microserviços ou, como a Olist funcionaPlataforma distribuída de Microserviços ou, como a Olist funciona
Plataforma distribuída de Microserviços ou, como a Olist funciona
 
Introduction to CloudStack API
Introduction to CloudStack APIIntroduction to CloudStack API
Introduction to CloudStack API
 
Steps india technologies
Steps india technologiesSteps india technologies
Steps india technologies
 
Steps india technologies .com
Steps india technologies .comSteps india technologies .com
Steps india technologies .com
 
Pyrax talk
Pyrax talkPyrax talk
Pyrax talk
 
Subscribed 2017: Understanding Zuora’s API Framework
Subscribed 2017: Understanding Zuora’s API FrameworkSubscribed 2017: Understanding Zuora’s API Framework
Subscribed 2017: Understanding Zuora’s API Framework
 

Recently uploaded

Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 

Recently uploaded (20)

young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 

Consul presentation

  • 2. • Consul overview • O2 requirements • Quality Control usecase • Prototype • Conclusion !2 Outline
  • 3. Consul overview • Service discovery • Health checking • KV store • Distributed 3
  • 4. Consul overview • Config file • HTTP API • DNS • CLI • Web GUI 4
  • 5. !5 Checklist O2 requirements - provide API - track status of services - read status of services - notify on service failure
  • 8. !8 1. Register Service (once)
 QC Information Service 2. Register health check (once)
 Agent DAQ, TOF, etc. 3. Publish health status (+ listing)
 Objects foo, bar, baz 4. Reading status from Consul
 all agents and their objects Steps for QC
  • 9. curl http://localhost:8500/v1/agent/service/register --request PUT --data '{"name":"information-service"}' 1. Register service
  • 10. curl http://localhost:8500/v1/agent/check/register --request PUT --data '{"name":"daq-agent", "ttl": "6s", "serviceid": "information-service"} 2. Register health check
  • 11. curl http://localhost:8500/v1/agent/check/update/daq-agent --request PUT --data '{"status": "passing", "output": "daq/_Event/trace,daq/_Event/log"}' 3. Publish health status (+ listing)
  • 12. curl http://localhost:8500/v1/health/checks/information-service 4. Reading status from Consul [ { "Node": "vlad", "CheckID": "daq-agent", "Name": "daq-agent", "Status": "passing", "Notes": "", "Output": "daq/_Event/trace,daq/_Event/log", "ServiceID": "information-service", "ServiceName": "information-service", "ServiceTags": [], "Definition": {}, "CreateIndex": 12, "ModifyIndex": 45 }, { "Node": "vlad", "CheckID": "tof-agent",
  • 13. !13 ... "Service discovery made easy" [ { "Node": "vlad", "CheckID": "daq-agent", "Name": "daq-agent", "Status": "passing", "Notes": "", "Output": "daq/_Event/trace, "ServiceID": "information-se "ServiceName": "information- "ServiceTags": [], "Definition": {}, "CreateIndex": 12, "ModifyIndex": 45 }, { "Node": "vlad", "CheckID": "tof-agent", "Name": "tof-agent", "Status": "critical", "Notes": "", "Output": "TTL expired", "ServiceID": "information-se "ServiceName": "information- "ServiceTags": [], "Definition": {}, "CreateIndex": 13, "ModifyIndex": 42 } ]
  • 14. !14 ok! 1. Register Service (once)
 QC Information Service 2. Register health check (once)
 Agent DAQ, TOF, etc. 3. Publish health status (+ listing)
 Objects foo, bar, baz 4. Reading status from Consul
 all agents and their objects Steps for QC
  • 15. Checklist O2 requirements - provide API - track status of services - read status of services - notify on service failure !15
  • 16. Notify on service failure with "Consul watches" Start command and add notification handlers: • http handler
 POST http://QC.cern.ch • command handler
 /usr/bin/infologger 16
  • 17. 17 consul watch -type=service -service=information-service /bin/cat Notify on service failure with "watches" [...]"Name":"tof-agent","Status":"passing"[...] [...]"Name":"tof-agent","Status":"critical"[...] ttl => 6s POST status
  • 18. !18 Checklist O2 requirements - provide API - track status of services - read status of services - notify on service failure
  • 19. !19 # names are required # ids are names by default, must be unique # list services curl http://localhost:8500/v1/agent/services # put one service curl http://localhost:8500/v1/agent/service/register --request PUT --data '{"name":"information-service"}' # put check curl http://localhost:8500/v1/agent/check/register --request PUT --data '{"name":"daq-agent", "ttl": "6s", "serviceid": "information-service"}' curl http://localhost:8500/v1/agent/check/register --request PUT --data '{"name":"tof-agent", "ttl": "6s", "serviceid": "information-service"}' # update check status curl http://localhost:8500/v1/agent/check/update/daq-agent --request PUT --data '{"status": "passing", "output": "daq/ _Event/trace,daq/_Event/log"}' curl http://localhost:8500/v1/agent/check/update/tof-agent --request PUT --data '{"status": "passing", "output": "tof/ _Compute/map,tof/_Compute/reduce"}' # list checks passing curl http://localhost:8500/v1/health/state/passing # watch changes consul watch -type=service -service=information-service /bin/cat Memo