Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Kubernetes and Helm: One click monitoring deployment

47 visualizaciones

Publicado el

EastCode meetup: https://www.meetup.com/eastcode-sessions/events/250451412/

Kubernetes is the leading technology in container orchestration space. During this talk, we will discuss how is Kubernetes used in ZOOM International platform and why it was chosen in fist place.

After this short introduction, we will demonstrate how to deploy Grafana and Prometheus behind ingress-nginx controller pod in order to use one Elastic Load Balancer (cost savings). Moreover, we will present how to use exposeDNS service which takes care about DNS records in Route53 on AWS to automatically create publicly accessible DNS (url) within few minutes.

Technologies: Kubernetes, Helm, Terraform, Prometheus, Grafana, nginx, AWS: EC2, Route 53, EBS, ELB

Publicado en: Software
  • Sé el primero en comentar

Kubernetes and Helm: One click monitoring deployment

  1. 1. Kubernetes and Helm One-click monitoring deployment Pavel Mička (pavel.micka@zoomint.com) Ján Tóth (jan.toth@zoomint.com)
  2. 2. Where are we heading
  3. 3. Current state of our platform • RPMs as deployment artifacts • Quaterly releases • 1600+ on-premise deployments • Monolithic architecture
  4. 4. Target architecture • Containers as deployment artifacts • Continuous delivery • On-premise + Cloud offering • Microservice & Streaming architecture • Cloud native applications • 12 factor apps • Stateless, horizontally scalable, autoscaled, autohealed...
  5. 5. Cloud native - the challenge • We need to support both on premise and cloud deployments • With the same code • We need to scale down to single machine/node • Do disaster recovery for customers with 2 DCs • Handle big customers with tens of servers & private clouds • Support our own big cloud offering
  6. 6. Why Kubernetes? • Automation & standardization • Infrastructure as a Code, Immutable deployments • Standardized service management o Both stateless and stateful apps • Service discovery, load balancing, auto-scaling • Low memory footprint • Good tweakability - (anti)affinity, memory + cpu limits • Custom networking • De-facto container orchestration standard
  7. 7. Helm • Package manager for Kubernetes • yum for Kubernetes • Helm Chart (deployment descriptor) • Provides reasonable default setup of components • Hides internal complexity from end user • Handles dependencies between charts • Many production-ready charts freely available
  8. 8. Prometheus • Time series database (operational) • Pull based • On disk: 1.3B per series sample • Down/Up scales extremely well • One server can handle 100s of thousands samples per second • 1st class citizen in Kubernetes • Kubernetes exposes metrics in Prometheus format • Prometheus has service discovery from K8s • Many integrations (Postgres, Rabbit, Apache, AWS...)
  9. 9. Deployment tools
  10. 10. Kops • Kubernetes operations • Makes easy HA K8s deployments in AWS • Makes possible to easily modify running cluster • Add new masters & workers • Exchange keys • Update cluster • Creates resources (EC2s, security groups, ELB...) • Generates Terraform files as a middle step
  11. 11. Terraform • This step is not mandatory for all deployments • Used for creation of infrastructure, which cannot be created by Kops • Database servers (RDS) • Collaboration with existing non-containerized infrastructure o In transition period to containers o Kops tf variables used in legacy deployments
  12. 12. Demo
  13. 13. Deployment
  14. 14. Namespaces
  15. 15. monitoring: Grafana
  16. 16. applications : Gogs

×