Slide 1

Slide 1 text

KubeCon + CloudNativeCon 2018 Seattle Recap ~ Vitess ~ Cloud Native Meetup Tokyo #6 KubeCon + CNCon Recap 2019.1.9 @CyberAgent © cyberblack28

Slide 2

Slide 2 text

Profile Twitter:cyberblack28 Hatena Blog:https://cyberblack28.hatenablog.com/ Job Educational Solution Architect Developer Advocate/Technical Evangelist Infrastructure Engineer Frontend Engineer Community Music,Live,FES !! Take a picture !! https://www.flickr.com/photos/cyberblack ISBN-10: 4798155373 ISBN-13: 978-4798155371 I wrote the Chapter 6 Rancher 2.0 part. Release on March 15, 2018 ! #rancherjp #kujiraya #deepcn

Slide 3

Slide 3 text

Company

Slide 4

Slide 4 text

Agenda 1. Session’s Summary 2. Vitess 3. Details of session

Slide 5

Slide 5 text

Session’s Summary

Slide 6

Slide 6 text

Session’s Summary Documents http://u0u1.net/P1uc Slide Movie https://www.youtube.com/watch?v=ZjTraLkMjYM Vitess at HubSpot: How We Moved Hundreds of MySQL Databases into Kubernetes Session

Slide 7

Slide 7 text

Session’s Summary 20173F!HubSpot2 AEMNMySQL4ABD/6):8 1000=EC2++ 1. <> % -, ,0 92'865)%@ /37?(*&") ;.P! `RZ(%H b_MySQL'!#$5CG%(eU7` = )Lfh/*Sa-1(dg (VitessD`Kubernetes OperatorBIcK"X ) KubernetesMySQL.,0+(O9T:#\V&!Q@ #Vitess [4?^-1& #%Y:J& MySQL cloud-native nirvana

Slide 8

Slide 8 text

Vitess

Slide 9

Slide 9 text

Vitess Intro: Vitess Deep Dive: Vitess https://www.youtube.com/watch?v=XeG-XTvymeY https://www.youtube.com/watch?v=bd1na3mqJ7M Slide Movie Slide Movie http://u0u1.net/P1J6 http://u0u1.net/P1Jg

Slide 10

Slide 10 text

Vitess What’s Vitess • MySQLSharding 8I?4HK 0CB>@. &'#( $!* . ! #, • 201852653CNCF)1% 16J=+ %:9@G Incubation • YouTube<7 20115)1"-2D? • GoEgRPC.2%;AGo,Java,Python,PHP.2%. (./F

Slide 11

Slide 11 text

Vitess Vitess Stats • Started 2010first commit • 7,000+ stars • 15,000+ commits • 100+ contributors • 500+ Slack members • v3.0 Release (MySQL8,MariaDB10.3)

Slide 12

Slide 12 text

Vitess The adoption is increasing !! 10,000+ Tablets on Kubernetes 20% Migrated to Vitess Cash App fully runs on Vitess Cash App =

Slide 13

Slide 13 text

Vitess Architecture application vttablet mysqld vtctl Topology vttablet mysqld vttablet mysqld vtctld application application application vtgate interact with topology command runtime admin command line GUI server server server

Slide 14

Slide 14 text

Vitess Vitess on Kubernetes application vttablet mysqld vtctl etcd vttablet mysqld vttablet mysqld vtctld application application application vtgate interact with topology command runtime admin command line GUI tablet tablet tablet vtgate service etcd service vtctld service Shard0 Shard1 Shard2 PV Pod Pod Pod Pod Pod Pod Pod PV PV Master Replica Ronly

Slide 15

Slide 15 text

Vitess Technical terms vtgate application!-)64J0vttablet(KN@2M706I31MB(#EL5:9ND tablet mysqld&vttablet)<>B vttablet MySQL(mysqld))("/.EL5:9ND64J) '64J!-MySQL0 #., . vtctld Vitess6I;=)(GUI))&'.HTTP9ND vtctl Vitess6I;=)OCLIP#.$+)8GMCI3M?NK Topology Vitess6I;=) 0#.H=AN=;B1Kubernetes%*etcdetcd %*ZooKeeper0 9FNB

Slide 16

Slide 16 text

Vitess Sharding • 2.&! "- ,0 • Shard/* '!#$ Vitess’s Sharding • Vertical Sharding3+ 21%" ,0 • Horizontal Sharding)( 1. 1% Shard"- 1% " ,0

Slide 17

Slide 17 text

Vitess Table Sharding VSchema Sharding( ! VTworkerVSchema&-Sharding$' VSchema&- +# Shard Keyspace, Shard % application 1) "*

Slide 18

Slide 18 text

Vitess Reference Docs • Vitess is a database clustering system for horizontal scaling of MySQL https://vitess.io/ • Vitess Twitter https://twitter.com/vitessio • CrashAcademy CNDJP #8 Vitess https://crash.academy/ng/video/412/1736 • Vitess Slack https://vitess.slack.com/ • Vitess Github https://github.com/vitessio/vitess

Slide 19

Slide 19 text

Vitess Rancher & Vitess https://rancher.com/blog/2018/2018-08-31-intro-to-vitess-on-kubernetes/ Introduction to Vitess: Using Vitess on Kubernetes Rancher Labs Official BlogRancherVitess

Slide 20

Slide 20 text

Details of session

Slide 21

Slide 21 text

Details of session What’s HubSpot ? SaaS https://www.hubspot.jp/

Slide 22

Slide 22 text

Details of session Background Web http://urx.space/P2DD 10AWS EC2 EBS S3 ELB 2500EC2 30Google Cloud Platform

Slide 23

Slide 23 text

Details of session Consideration for Microservice and Globalization Web EC2 EBS S3 ELB 2500EC2 Singularity Cloud Load Balancing Compute Engine + Singularity + 1530+ 18000

Slide 24

Slide 24 text

Details of session Reason why we decided to Vitess • • Kubernetes • •

Slide 25

Slide 25 text

Details of session About release 500 Helm Operator

Slide 26

Slide 26 text

Details of session Custom Resources

Slide 27

Slide 27 text

Details of session Anatomy of a Pod PersistentVolume Directory Data Pull Log

Slide 28

Slide 28 text

Details of session Lots of other work • VtgatePool CRD CRD • JdbcgRPC • TLS • Orchestrator IntegrationMySQL high availability and replication management tool • SQL GrammarSQL https://github.com/github/orchestrator

Slide 29

Slide 29 text

Details of session Migration

Slide 30

Slide 30 text

Details of session Protecting against cluster maintenance Pod '&" $ PodDisruptionBudget# !%

Slide 31

Slide 31 text

Details of session Injecting Vault secrets into Pods Secret CRDUpdater Operator

Slide 32

Slide 32 text

Details of session Parameterizing configuration in Docker images Configmap Python Docker

Slide 33

Slide 33 text

Details of session Terminating Pods gracefully Vttablet Pod

Slide 34

Slide 34 text

Details of session Optimizing Vitess Backups EBS Pod PV Pod

Slide 35

Slide 35 text

Details of session Controlling StatefulSet rollouts Replica-Replica-Master OperatorStatefulSet

Slide 36

Slide 36 text

Details of session Lessons learned: It’s a transplant

Slide 37

Slide 37 text

Details of session Summary • YouTube7F: • -2# 13?8GA&,' !? • KubernetesD>; 6 • "%/4<@EB8$0)3C9 • .*!(+" Vitess as a Service 5 = !?

Slide 38

Slide 38 text

Thank you for your attention !!