SlideShare uma empresa Scribd logo
1 de 25
Zenoss Control Center 
Open Source Application Management 
& Orchestration System for Docker 
controlcenter.io
Overview 
• History 
• Brief introduction to Docker 
• Why Docker? 
• What is Control Center? 
• Demo 
• Questions
History 
• Zenoss founded in 2005 as Open Source 
Enterprise IT Management Solution 
• Docker was chosen to support the scale 
requirements for monitoring the modern 
datacenter 
• Need was created for managing Zenoss within 
Docker 
• Birth of Control Center 
• Zenoss Control Center Open Sourced in 
August 2014
What is Docker? docker.io 
Docker is an open-source project to easily create 
lightweight, portable, self-sufficient 
containers from any application. 
http://slides.com/stevenborrelli/docker
● Based on Linux containers 
● Minimal overhead (cpu/io/network) 
● Can run on any Linux system that supports LXC, nsinit 
● Docker container contains everything it needs to run 
● A docker container should be able to run anywhere that 
Docker can run. 
What is Docker? 
http://slides.com/stevenborrelli/docker
Why Docker? 
• Scalability 
– Ability to spin up new daemons on the fly 
• Easy Installs 
– Just pull image and deploy 
– Dependencies exist in the container 
• Reliable History Tracking 
– Improves upgrades 
– Easy to roll back
What Docker doesn’t provide (yet) 
● service discovery 
● a good log interface 
● cross host volumes 
● cross host scheduling 
… and anything else you may find in a cluster 
manager
Where Docker Ends, Control Center Begins 
App Containers 
Control Center 
Container Manager 
Host OS (UOS) 
Physical/Virtual 
Server 
CC 
Control Center (CC) is an 
application written in Go! 
(aka golang). 
CC takes care of all 
interactions with Docker 
and the host system. 
You install CC on every 
computer that you intend 
to run Zenoss on. 
CC is open source software 
(Apache 2 license).
Terms 
● serviced: Control Center command-line client 
● Service: An entity that manages a container and/or other services. 
● Service Definition: Describes how a service is run and configured 
● Service Template: A document of service definitions relating to a platform. 
We tell Control Center how to execute the 
application inside of a container image via a 
Service Template. 
The same container may act completely 
differently depending on the service definition 
used to start it.
CONTROL CENTER - SYSTEMS 
The Control Center has 3 important systems that divide the work of 
orchestrating and monitoring of services. 
Master - This subsystem houses several subservices and is generally 
responsible of the overall orchestration of the system. There will only be one 
Control Center Master. 
Node Controller - This controller is responsible for all docker interaction, 
starting/stopping services, mounting of service resources and metric collection. 
There is one of these per host. 
Container Controller - This program is the first program that gets launched 
inside a container. It is responsible for starting the actual service, providing 
network proxies, forwarding logs/events, and forwarding service specific stats.
CONTROL CENTER - SYSTEM OVERVIEW 
Master 
Logstash 
Zookeeper 
Metric Svc 
Docker 
Registry 
UI/Rest API 
RPC API 
Node 
Controller 
RPC API 
Docker 
Container 
Container 
controller 
Container 
controller 
controller 
logstash-forwarder 
logstash-forwarder 
Your Service 
Your Service 
Your Service 
logstash-forwarder 
TCP Mux 
Shared FS Host Boundary 
Node Controller RPC TCP Mux
CONTROL CENTER MASTER 
Elasticsearch 
Database for control center 
Zookeeper 
Coordination service 
Logstash 
Log consolidation 
Uses its own copy of Elasticsearch 
Metrics -- CC centric metric system 
OpenTSDB 
Standalone Hbase 
Consumer 
Query service 
Celery 
Schedule tasks 
Registry 
docker-registry 
Shared Storage (NFS) 
Web server for CC UI 
Rest API / RPC API
CC NODE CONTROLLER 
● 1 Node Controller per host 
● Configured how to talk to master 
● Watches the master’s zookeeper for services that has been scheduled 
to start on its hosts 
● Pulls down images from Master’s Docker Registry 
● Starts/Stops/Manages services as needed 
● Mux distributes all network traffic to this box to the appropriate 
containers
CONTAINER CONTROLLER 
● Injected into each container 
● Serviced binary is bind mounted into every container that it runs 
automatically 
● The Serviced container controller is what runs and then executes the 
actual service command 
● Imports endpoints from other services 
● transparently proxies connections to remote endpoints and makes them 
appear local 
● Bind mounts Logstash forwarder
CC - CORE CONCEPTS 
Pool - a collection of compute, network and storage 
resources. 
● IP Addresses 
● Hosts 
● Storage Systems (future)
CC - CORE CONCEPTS 
Host - a compute node (physical or virtual) that is available to 
the control center. 
○ Hostname 
○ Pool ID 
○ Kernel Version 
○ OS Distribution 
○ Docker Version 
○ ServiceD Version 
○ Memory Size 
○ CPU Count 
○ Interface (NICs) Names & Addresses 
○ Monitoring Profile 
https://github.com/zenoss/serviced/blob/develop/d 
omain/host/host.go#L19
CC - CORE CONCEPTS 
Service Template - A hierarchical description of a services that deliver an 
Application 
Resource Manager 
Zproxy (Nginx) 
Zope 
Query OpenTSDB HBase 
MariaDB 
ZEP 
RabbitMQ 
MariaDB 2 
Zookeeper 
Not Limited to Tree Dependencies
CC - CORE CONCEPTS 
Service - Is a description of an individual process. 
● ImageID - what container image does this service use 
● Startup - what command must run to start the service 
● Config Files - what configuration files to inject into the container 
before startup 
● Log Files - what log files the service writes to inside the container 
and what is the format of those log files 
● Memory Limit - what is the maximum allowable amount of memory 
the service can use 
● Volumes - what persistent disk storage is needed by the service and 
where that storage should be mounted 
● Endpoints - what network endpoints does this service depend on or 
does this service expose 
● Health Checks - what scripts can be run to determine the health of a 
service 
● Metrics - what datapoints the service exposes 
● Thresholds - what thresholds can be applied to the exposed metrics 
● Graphs - what graphs are relevant to the service
CC - CORE CONCEPTS 
Schema - the relationship between the various domain objects in the control 
center 
Service Control Center 
Template 
Pool [default] 
Host [app0.example.com] 
Host [app0.example.com] 
Host [app0.example.com] 
Service A 
Service A 
Service A 
ServiceA @T0
CC - NETWORK CONNECTIONS 
Imagine your service needs to talk to Redis. 
It thinks it can access redis via 127.0.0.1:6379 
The container controller actually accepts the connection 
Your Service 
Container 
Controller 
localhost interface (lo) 
127.0.0.1 
Zookeeper 
The controller finds where redis is actually running via ZK. 
Mux 
The controller makes an encrypted connection to the mux. 
Redis Container 
The mux contacts the exposed port of the redis container.
MariaDB Sample Service Template 
{ 
"Command": "/usr/bin/mysqld_safe", 
"Endpoints": [ 
{ 
"Application": "mysql", 
"PortNumber": 3306, 
"Protocol": "tcp", 
"Purpose": "export" 
} 
], 
"ImageId": "zenoss/zenoss5x", 
"Instances": { 
"min": 1 
}, 
"Launch": "auto", 
"LogConfigs": [ 
{ 
"path": "/var/log/mysqld.log", 
"type": "mysql" 
} 
], 
"Name": "MySQL", 
"Snapshot": { 
"Pause": "PAUSE_CHECK_TIMEOUT=60 LOCK_HOLD_DURATION=600 $ZENHOME/bin/quiesce-mysql.sh pause", 
"Resume": "$ZENHOME/bin/quiesce-mysql.sh resume" 
}, 
"Tags": [ 
"daemon" 
] 
}
Persistent Volumes 
For those services that have to maintain state between 
execution, the Control Center will mount a folder 
from the Shared File System into the container. 
The SFS is used so that even if the service starts up on a 
different machine it can still access the same files. 
Service 1 
Service 2 
Control Center 
Docker 
SFS 
Operating System 
Service 3 
Service 4 
Service 6 
Control Center 
Service 5 
Docker 
SFS 
Operating System
Install Control Center on Ubuntu 
14.04 
# install docker repo 
wget -O - http://get.docker.io | sh 
# install zenoss repo 
sudo apt-key adv --keyserver keys.gnupg.net --recv-keys AA5A1AD7 
sudo sh -c 'echo "deb [ arch=amd64 ] http://get.zenoss.io/apt/ubuntu trusty universe" 
 > /etc/apt/sources.list.d/zenoss.list’ 
# update repo database 
sudo apt-get update 
# install Control Center 
sudo apt-get -y install serviced 
# then start services 
sudo start serviced
Demo Time
Questions?

Mais conteúdo relacionado

Último

Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Último (20)

Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Destaque

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destaque (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Zenoss Control Center Introduction

  • 1. Zenoss Control Center Open Source Application Management & Orchestration System for Docker controlcenter.io
  • 2. Overview • History • Brief introduction to Docker • Why Docker? • What is Control Center? • Demo • Questions
  • 3. History • Zenoss founded in 2005 as Open Source Enterprise IT Management Solution • Docker was chosen to support the scale requirements for monitoring the modern datacenter • Need was created for managing Zenoss within Docker • Birth of Control Center • Zenoss Control Center Open Sourced in August 2014
  • 4. What is Docker? docker.io Docker is an open-source project to easily create lightweight, portable, self-sufficient containers from any application. http://slides.com/stevenborrelli/docker
  • 5. ● Based on Linux containers ● Minimal overhead (cpu/io/network) ● Can run on any Linux system that supports LXC, nsinit ● Docker container contains everything it needs to run ● A docker container should be able to run anywhere that Docker can run. What is Docker? http://slides.com/stevenborrelli/docker
  • 6. Why Docker? • Scalability – Ability to spin up new daemons on the fly • Easy Installs – Just pull image and deploy – Dependencies exist in the container • Reliable History Tracking – Improves upgrades – Easy to roll back
  • 7. What Docker doesn’t provide (yet) ● service discovery ● a good log interface ● cross host volumes ● cross host scheduling … and anything else you may find in a cluster manager
  • 8. Where Docker Ends, Control Center Begins App Containers Control Center Container Manager Host OS (UOS) Physical/Virtual Server CC Control Center (CC) is an application written in Go! (aka golang). CC takes care of all interactions with Docker and the host system. You install CC on every computer that you intend to run Zenoss on. CC is open source software (Apache 2 license).
  • 9. Terms ● serviced: Control Center command-line client ● Service: An entity that manages a container and/or other services. ● Service Definition: Describes how a service is run and configured ● Service Template: A document of service definitions relating to a platform. We tell Control Center how to execute the application inside of a container image via a Service Template. The same container may act completely differently depending on the service definition used to start it.
  • 10. CONTROL CENTER - SYSTEMS The Control Center has 3 important systems that divide the work of orchestrating and monitoring of services. Master - This subsystem houses several subservices and is generally responsible of the overall orchestration of the system. There will only be one Control Center Master. Node Controller - This controller is responsible for all docker interaction, starting/stopping services, mounting of service resources and metric collection. There is one of these per host. Container Controller - This program is the first program that gets launched inside a container. It is responsible for starting the actual service, providing network proxies, forwarding logs/events, and forwarding service specific stats.
  • 11. CONTROL CENTER - SYSTEM OVERVIEW Master Logstash Zookeeper Metric Svc Docker Registry UI/Rest API RPC API Node Controller RPC API Docker Container Container controller Container controller controller logstash-forwarder logstash-forwarder Your Service Your Service Your Service logstash-forwarder TCP Mux Shared FS Host Boundary Node Controller RPC TCP Mux
  • 12. CONTROL CENTER MASTER Elasticsearch Database for control center Zookeeper Coordination service Logstash Log consolidation Uses its own copy of Elasticsearch Metrics -- CC centric metric system OpenTSDB Standalone Hbase Consumer Query service Celery Schedule tasks Registry docker-registry Shared Storage (NFS) Web server for CC UI Rest API / RPC API
  • 13. CC NODE CONTROLLER ● 1 Node Controller per host ● Configured how to talk to master ● Watches the master’s zookeeper for services that has been scheduled to start on its hosts ● Pulls down images from Master’s Docker Registry ● Starts/Stops/Manages services as needed ● Mux distributes all network traffic to this box to the appropriate containers
  • 14. CONTAINER CONTROLLER ● Injected into each container ● Serviced binary is bind mounted into every container that it runs automatically ● The Serviced container controller is what runs and then executes the actual service command ● Imports endpoints from other services ● transparently proxies connections to remote endpoints and makes them appear local ● Bind mounts Logstash forwarder
  • 15. CC - CORE CONCEPTS Pool - a collection of compute, network and storage resources. ● IP Addresses ● Hosts ● Storage Systems (future)
  • 16. CC - CORE CONCEPTS Host - a compute node (physical or virtual) that is available to the control center. ○ Hostname ○ Pool ID ○ Kernel Version ○ OS Distribution ○ Docker Version ○ ServiceD Version ○ Memory Size ○ CPU Count ○ Interface (NICs) Names & Addresses ○ Monitoring Profile https://github.com/zenoss/serviced/blob/develop/d omain/host/host.go#L19
  • 17. CC - CORE CONCEPTS Service Template - A hierarchical description of a services that deliver an Application Resource Manager Zproxy (Nginx) Zope Query OpenTSDB HBase MariaDB ZEP RabbitMQ MariaDB 2 Zookeeper Not Limited to Tree Dependencies
  • 18. CC - CORE CONCEPTS Service - Is a description of an individual process. ● ImageID - what container image does this service use ● Startup - what command must run to start the service ● Config Files - what configuration files to inject into the container before startup ● Log Files - what log files the service writes to inside the container and what is the format of those log files ● Memory Limit - what is the maximum allowable amount of memory the service can use ● Volumes - what persistent disk storage is needed by the service and where that storage should be mounted ● Endpoints - what network endpoints does this service depend on or does this service expose ● Health Checks - what scripts can be run to determine the health of a service ● Metrics - what datapoints the service exposes ● Thresholds - what thresholds can be applied to the exposed metrics ● Graphs - what graphs are relevant to the service
  • 19. CC - CORE CONCEPTS Schema - the relationship between the various domain objects in the control center Service Control Center Template Pool [default] Host [app0.example.com] Host [app0.example.com] Host [app0.example.com] Service A Service A Service A ServiceA @T0
  • 20. CC - NETWORK CONNECTIONS Imagine your service needs to talk to Redis. It thinks it can access redis via 127.0.0.1:6379 The container controller actually accepts the connection Your Service Container Controller localhost interface (lo) 127.0.0.1 Zookeeper The controller finds where redis is actually running via ZK. Mux The controller makes an encrypted connection to the mux. Redis Container The mux contacts the exposed port of the redis container.
  • 21. MariaDB Sample Service Template { "Command": "/usr/bin/mysqld_safe", "Endpoints": [ { "Application": "mysql", "PortNumber": 3306, "Protocol": "tcp", "Purpose": "export" } ], "ImageId": "zenoss/zenoss5x", "Instances": { "min": 1 }, "Launch": "auto", "LogConfigs": [ { "path": "/var/log/mysqld.log", "type": "mysql" } ], "Name": "MySQL", "Snapshot": { "Pause": "PAUSE_CHECK_TIMEOUT=60 LOCK_HOLD_DURATION=600 $ZENHOME/bin/quiesce-mysql.sh pause", "Resume": "$ZENHOME/bin/quiesce-mysql.sh resume" }, "Tags": [ "daemon" ] }
  • 22. Persistent Volumes For those services that have to maintain state between execution, the Control Center will mount a folder from the Shared File System into the container. The SFS is used so that even if the service starts up on a different machine it can still access the same files. Service 1 Service 2 Control Center Docker SFS Operating System Service 3 Service 4 Service 6 Control Center Service 5 Docker SFS Operating System
  • 23. Install Control Center on Ubuntu 14.04 # install docker repo wget -O - http://get.docker.io | sh # install zenoss repo sudo apt-key adv --keyserver keys.gnupg.net --recv-keys AA5A1AD7 sudo sh -c 'echo "deb [ arch=amd64 ] http://get.zenoss.io/apt/ubuntu trusty universe" > /etc/apt/sources.list.d/zenoss.list’ # update repo database sudo apt-get update # install Control Center sudo apt-get -y install serviced # then start services sudo start serviced

Notas do Editor

  1. * Shares the OS with the host of the container it is running on
  2. Lightweight Based on Linux containers Minimal overhead (cpu/io/network) Uses layered filesystem to save space (AUFS/LVM) Uses a copy-on-write filesystem to track changes Portable Can run on any Linux system that supports LXC, nsinit (today). 0.7 release includes support for RedHat/Fedora family. Raspberry pi support. Future plans to support other container tools (lmctfy, etc.) Possible future support for other operating systems (Solaris, OSX, Windows?) Self-sufficient Docker container contains everything it needs to run: Minimal Base OS Libraries and frameworks Application code A docker container should be able to run anywhere that Docker can run.
  3. Stable API for manipulating containers networking storage resource limits Image repository layers repos & tags docker hub
  4. Walk through install of web service demo on Ubuntu VM