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.

[RedisConf17] Redis Cluster Operability with Kubernetes and OpenShift - Cedric Lamoriniere

775 visualizaciones

Publicado el

Redis Cluster is a great distributed implementation of Redis providing high performances, scalability and availability. In this session we will present how to leverage containers and orchestration layers like Kubernetes and Openshift in order to extend the operability of Redis Cluster and automate operations like scaling, recovery following failures and upgrades.

Publicado en: Tecnología

[RedisConf17] Redis Cluster Operability with Kubernetes and OpenShift - Cedric Lamoriniere

  1. 1. Redis-Cluster Operator Makes Redis-Cluster deployment easier ! ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries | @cedlamo
  2. 2. A global player at the heart of the travel industry 2 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  3. 3. Key business numbers 1.3 billion Passengers boarded (PBs) 566 million travel agency bookings processed 1.6+ billion data requests processed per day 5000+ Application servers ~450 000 queries per second (600 000 at peak) 3 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  4. 4. Our technology journey SNA TPF TN3720 1997 C++ TCP/IP JEE & SOAP 2000 2003 2006 2015 2017 Application on Open System in PRD In House ESB Industrialization of Open System Launch ACS TPF deco Almost done 4 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  5. 5. ACS: Motivation and Goals New Business Requirements: ● improve responses time ● hosted on client premises ● data must stay in a country ● hosting third party application Current infrastructure: ● bare metal or virtual machine ● dedicated resources ● limited elasticity ● spare resources outside peak time 5 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries Amadeus Cloud Services: migration of our applications to a cloud based infrastructure: (OpenShift [private|public] infra)
  6. 6. Redis-Cluster with Openshift: Motivation and Goals Improve resilience and performance of our applications Offer a performant session offloading solution to our applications based on Redis 6 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries Redis-Cluster operated in Openshift Same stack for middleware and application Simplify redis-cluster operational support Benefit from Amadeus Cloud Services: deployment, monitoring, logging, etc
  7. 7. Openshift / Kubernetes Kubernetes 7 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  8. 8. Redis in Kubernetes 8 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  9. 9. Several prototypes examples, but Missing features: ● Simple deployment ● Update cluster topology: scaling, replication factor ● Rolling-update ● Resiliency 9 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  10. 10. MasterMaster Redis-Cluster in Openshift 10 Master Node APIkubectl REST Kubelet Docker Daemon Etcd Scheduler Node Kubelet Docker Daemon Node Kubelet Docker Daemon DNS ©2016AmadeusITGroupanditsaffiliatesandsubsidiaries Controller Pod Pod Pod Pod Pod PodPod Pod PodPod Pod Pod Pod Pod Pod Pod Pod Pod Pod Redis-Master Pod Redis-Slave Pod Redis-Server
  11. 11. Redis Manager in Openshift Pod: redis manager app=manager RC: manager Manager Watch ConfigMap: ClusterConfiguration NbMaster: 3 ReplicationFactor: 2 Scale Watch redis-node -1-dsasxf app=manager Init Node Service: redis-node Deployment: redis-node ReplicationSet: redis-node-1 redis-node -1-ascdsd app=manager Init Node n redis-node -1-etebfbd app=manager Init Node Configure 11 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  12. 12. Redis-Cluster Rolling Update with Openshift Pod: redis manager RC: manager Manager Watch ConfigMap: ClusterConfiguration Deployment: redis-node ReplicationSet: redis-node-1 ReplicationSet: redis-node-2 Service: redis-node redis- node V1 redis- node V1 redis- node V1 redis- node V2 redis- node V2 redis- node V2 Scale Migrate Pod: Deployer Redis-deployer 12 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  13. 13. Demo Run in Openshift / Minishift Start a Redis-Cluster Scale up Rolling update 13 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries recorded demo:
  14. 14. Advantages of current solution ● Automate Redis-Cluster standard operations ○ Creation, Scaling, Rolling-update ● Does not require persistent volumes ● Seen as yet another Kubernetes application 14 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  15. 15. Limitations of current solution ● One Redis-Cluster per Manager ● Reacts to Kubernetes events (limited control) ● Depends on Openshift feature (custom deployer) 15 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  16. 16. How to improve current solution ? OperatorRedis- 16 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  17. 17. Redis Operator Pod: Redis Operator RC: Operator Operator Watch Service: redis-node ThirdPartyResources: Redis-Cluster Replicas: 3 ReplicationFactor: 2 PodTemplate: {} Kubernetes Scheduler Scheduling Requests redis-node -1-dsasxf app=manager Init Node Schedule Pods redis-node -1-ascdsd app=manager Init Node n redis-node -1-etebfbd app=manager Init Node configure 17 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  18. 18. Advantages of Redis-Cluster Operator ● Specificity hidden in a new K8s Object (3rd party resource) ● Generic User Experience ● Responsive vs Proactive: ○ Better Redis-Node life cycle management ● One Operator for several Redis-Clusters 18 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  19. 19. What next? ● Opensource current Redis-Manager ● Migrate Redis-Manager logic in an Operator ● Package in Helm chart ● Integration with K8s Service Catalogue 19 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  20. 20. Key takeaways ● Easy deployment of Redis-Cluster thanks to Kubernetes ● Automation thanks to Redis-Manager/Operator ● Opensourced soon 20 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries
  21. 21. Questions? 21 ©2017AmadeusITGroupanditsaffiliatesandsubsidiaries Thank you ! | @cedlamo