SlideShare a Scribd company logo
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
Cloud Technology Experts
Agenda
● Introduction (Kubernetes, CNCF)
● Kubeadm,Helm, Kubernetes Operator, Prometheus,
Grafana
● Demo-Kubernetes cluster with
Kubeadm,Helm,Prometheus-operator,Prometheus,
Grafana
● Conclusion,Q&A & Meetup business
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
Damian Igbe, PhD
● PhD in Computer science
● Linux Systems Administration
● Technical Trainer by trade
● Kubernetes Certified Administrator
● Kubernetes Doc team member
● CTO of Cloud Technology Experts
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
Cloud Technology Experts Inc
● Started beginning of year, 2017
● Main Focus is Training and Consulting on
Kubernetes & AWS Cloud
● Online and Classroom Trainings
● AWS Authorized Consulting Partner
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
Cloud Technology Experts
CNCF
● Cloud Native is open source cloud computing for
applications, a trusted tool kit for modern architectures.
● There are many routes to deploying a cloud native
application, with CNCF Projects representing a particularly
well-traveled path.
● Promote use of good patterns through community
education
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
Kubernetes
Kubernetes is an open-source platform
designed to automate deploying, scaling, and
operating application containers.
-source Kubernetes website
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
• Inspired and informed by Google’s
experiences and internal systems
• 100% Open source, written in Go
• One of the top 4 open source software
projects with highest velocity and
contribution
Kubernetes
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
Drive current state → desired state
Observed state is truth
Act independently
• choreography rather than
orchestration
Recurring pattern in the system
Kubernetes Control Loop
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
● Package manager for Kubernetes
● Similar to RPM, Apt, Yast in Linux
● Alternative is to use kubectl command
● Project relatively new but gaining momentum
● Packaging is a full lecture but not many people need that
● Client/Server application. Server is called Tiller
Helm
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
● Developed by CoreOS
● Self managing applications on top of Kubernetes
● Very useful with statefulsets
● Relatively new but gaining huge momentum
● ETCD Operator was the first but now there are many
Kubernetes Operators
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
Q: How is this different than Helm?
A: Helm is a tool for packaging multiple Kubernetes resources into a single
package. The concept of packaging up multiple applications together and using
Operators that actively manage applications are complementary. For example,
traefik is a load balancer that can use etcd as its backend database. You could
create a Helm Chart that deploys a traefik Deployment and etcd cluster instance
together. The etcd cluster would then be deployed and managed by the etcd
Operator.
Kubernetes Operators
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
Prometheus
Prometheus is a systems and service monitoring system. Prometheus is a full
monitoring and trending system that includes built-in and active scraping, storing,
querying, graphing, and alerting based on time series data. It has knowledge about
what the world should look like (which endpoints should exist, what time series
patterns mean trouble, etc.), and actively tries to find faults It is designed to do the
following:
● Collects metrics from configured targets at given intervals
● Evaluates rule expressions,
● Displays the results, and
● Can trigger alerts if some condition is observed to be true.
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
Prometheus: Features
● Visualization and dashboard editing
● Storage
● Data collection
● Plug-in Architecture and Extensibility
● Alarming and Event Tracking
● Cloud Monitoring Compatibility
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
Prometheus: Architecture
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
Prometheus: Architecture
● the main Prometheus server which scrapes and stores time series data
● client libraries for instrumenting application code. Before you can monitor your services, you need to add
instrumentation to their code via one of the Prometheus client libraries. These implement the Prometheus
metric types. Go, Java, Ruby, Python
● a push gateway for supporting short-lived jobs. The Prometheus Pushgateway exists to allow ephemeral
and batch jobs to expose their metrics to Prometheus. Since these kinds of jobs may not exist long enough
to be scraped, they can instead push their metrics to a Pushgateway. The Pushgateway then exposes
these metrics to Prometheus.
● special-purpose exporters for services like HAProxy, StatsD, Graphite, etc. There are a number of libraries
and servers which help in exporting existing metrics from third-party systems as Prometheus metrics. These
can be seen as the plugin to Prometheus. https://prometheus.io/docs/instrumenting/exporters/
● an alertmanager to handle alerts. The Alertmanager handles alerts sent by client applications such as the
Prometheus server. It takes care of deduplicating, grouping, and routing them to the correct receiver
integrations such as email, PagerDuty, or OpsGenie. It also takes care of silencing and inhibition of alerts.
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
Grafana
● Graphing
● Need Data Source
● Can be used for AWS Cloud watch, Opensytack, Google Cloud, MS Azure
● Graphite, Prometheus, InfluxDB etc
© 2017-2018 Cloud Technology Experts INC. All rights reserved.
Q & A

More Related Content

Deploy prometheus on kubernetes

  • 1. © 2017-2018 Cloud Technology Experts INC. All rights reserved. Cloud Technology Experts Agenda ● Introduction (Kubernetes, CNCF) ● Kubeadm,Helm, Kubernetes Operator, Prometheus, Grafana ● Demo-Kubernetes cluster with Kubeadm,Helm,Prometheus-operator,Prometheus, Grafana ● Conclusion,Q&A & Meetup business
  • 2. © 2017-2018 Cloud Technology Experts INC. All rights reserved. Damian Igbe, PhD ● PhD in Computer science ● Linux Systems Administration ● Technical Trainer by trade ● Kubernetes Certified Administrator ● Kubernetes Doc team member ● CTO of Cloud Technology Experts
  • 3. © 2017-2018 Cloud Technology Experts INC. All rights reserved. Cloud Technology Experts Inc ● Started beginning of year, 2017 ● Main Focus is Training and Consulting on Kubernetes & AWS Cloud ● Online and Classroom Trainings ● AWS Authorized Consulting Partner
  • 4. © 2017-2018 Cloud Technology Experts INC. All rights reserved. Cloud Technology Experts CNCF ● Cloud Native is open source cloud computing for applications, a trusted tool kit for modern architectures. ● There are many routes to deploying a cloud native application, with CNCF Projects representing a particularly well-traveled path. ● Promote use of good patterns through community education
  • 5. © 2017-2018 Cloud Technology Experts INC. All rights reserved.
  • 6. © 2017-2018 Cloud Technology Experts INC. All rights reserved. Kubernetes Kubernetes is an open-source platform designed to automate deploying, scaling, and operating application containers. -source Kubernetes website
  • 7. © 2017-2018 Cloud Technology Experts INC. All rights reserved. • Inspired and informed by Google’s experiences and internal systems • 100% Open source, written in Go • One of the top 4 open source software projects with highest velocity and contribution Kubernetes
  • 8. © 2017-2018 Cloud Technology Experts INC. All rights reserved. Drive current state → desired state Observed state is truth Act independently • choreography rather than orchestration Recurring pattern in the system Kubernetes Control Loop
  • 9. © 2017-2018 Cloud Technology Experts INC. All rights reserved. ● Package manager for Kubernetes ● Similar to RPM, Apt, Yast in Linux ● Alternative is to use kubectl command ● Project relatively new but gaining momentum ● Packaging is a full lecture but not many people need that ● Client/Server application. Server is called Tiller Helm
  • 10. © 2017-2018 Cloud Technology Experts INC. All rights reserved. ● Developed by CoreOS ● Self managing applications on top of Kubernetes ● Very useful with statefulsets ● Relatively new but gaining huge momentum ● ETCD Operator was the first but now there are many Kubernetes Operators
  • 11. © 2017-2018 Cloud Technology Experts INC. All rights reserved. Q: How is this different than Helm? A: Helm is a tool for packaging multiple Kubernetes resources into a single package. The concept of packaging up multiple applications together and using Operators that actively manage applications are complementary. For example, traefik is a load balancer that can use etcd as its backend database. You could create a Helm Chart that deploys a traefik Deployment and etcd cluster instance together. The etcd cluster would then be deployed and managed by the etcd Operator. Kubernetes Operators
  • 12. © 2017-2018 Cloud Technology Experts INC. All rights reserved. Prometheus Prometheus is a systems and service monitoring system. Prometheus is a full monitoring and trending system that includes built-in and active scraping, storing, querying, graphing, and alerting based on time series data. It has knowledge about what the world should look like (which endpoints should exist, what time series patterns mean trouble, etc.), and actively tries to find faults It is designed to do the following: ● Collects metrics from configured targets at given intervals ● Evaluates rule expressions, ● Displays the results, and ● Can trigger alerts if some condition is observed to be true.
  • 13. © 2017-2018 Cloud Technology Experts INC. All rights reserved. Prometheus: Features ● Visualization and dashboard editing ● Storage ● Data collection ● Plug-in Architecture and Extensibility ● Alarming and Event Tracking ● Cloud Monitoring Compatibility
  • 14. © 2017-2018 Cloud Technology Experts INC. All rights reserved. Prometheus: Architecture
  • 15. © 2017-2018 Cloud Technology Experts INC. All rights reserved. Prometheus: Architecture ● the main Prometheus server which scrapes and stores time series data ● client libraries for instrumenting application code. Before you can monitor your services, you need to add instrumentation to their code via one of the Prometheus client libraries. These implement the Prometheus metric types. Go, Java, Ruby, Python ● a push gateway for supporting short-lived jobs. The Prometheus Pushgateway exists to allow ephemeral and batch jobs to expose their metrics to Prometheus. Since these kinds of jobs may not exist long enough to be scraped, they can instead push their metrics to a Pushgateway. The Pushgateway then exposes these metrics to Prometheus. ● special-purpose exporters for services like HAProxy, StatsD, Graphite, etc. There are a number of libraries and servers which help in exporting existing metrics from third-party systems as Prometheus metrics. These can be seen as the plugin to Prometheus. https://prometheus.io/docs/instrumenting/exporters/ ● an alertmanager to handle alerts. The Alertmanager handles alerts sent by client applications such as the Prometheus server. It takes care of deduplicating, grouping, and routing them to the correct receiver integrations such as email, PagerDuty, or OpsGenie. It also takes care of silencing and inhibition of alerts.
  • 16. © 2017-2018 Cloud Technology Experts INC. All rights reserved. Grafana ● Graphing ● Need Data Source ● Can be used for AWS Cloud watch, Opensytack, Google Cloud, MS Azure ● Graphite, Prometheus, InfluxDB etc
  • 17. © 2017-2018 Cloud Technology Experts INC. All rights reserved. Q & A