Coder Social home page Coder Social logo

docker-kubernetes-mysql's Introduction

Databases in Cloud Containers: MySQL, Docker, and Kubernetes

This is the git repository that is the compendium for the O'Reilly Life Online Training for the session "Databases in Cloud Containers: MySQL, Docker, and Kubernetes.

Training Summary

You are a database administrator, and you keep hearing about how useful containers are and how great Kubernetes is for running your applications. But despite your mastery of complex databases, you still experience apprehension at the thought of running a database on a new, unfamiliar platform.

Docker, and more so, Kubernetes has become incredibly popular. When Kubernetes first started being promoted, so much of what people knew about this new technology and the applications that seemed best suited to run stateless applications The very definition of Kubernetes pods in the manual states that they are immortal, which is not an attribute one would want to hear about being associated with a database, and there was this impression that Kubernetes wasn't suited for databases.

This course will allay your concerns and show you that quite the contrary, running MySQL, and stateful application on Kubernetes, is made easier by abstracting much of the day-to-day tasks into simple commands and a consistent view of your database cluster.

What you'll learn-and how you can apply it:

  • How immutable infrastructure is the more contemporary, and improved pattern for devops as it uses containers to roll out changes so that you don't have to manage a server in an on-going manner and How Kubernetes makes running MySQL easier as it abstracts away having to run tasks at a lower level such as bringing up a complex cluster and run backups and restorations with simple commands, as well be able to have consistent database access for your applications
  • The various Kubernetes MySQL Operators that are available
  • How to run the Oracle MySQL Kubernetes Operator
  • Bringing up a MySQL 8.0 InnoDB cluster using group replication
  • Running a backup and restore of your cluster
  • Running an application that uses the MySQL cluster you set up and having it automatically use DNS on your Kubernetes cluster
  • Simulating problems such as a table being dropped and how simple it is to restore your database

And you’ll be able to:

  • Debug your MySQL cluster running on Kubernetes
  • View logs for the various components of your MySQL cluster and operator components
  • Understand the basics of running MySQL and obtain an appreciation of how much easier running the MySQL Operator makes it
  • No longer be afraid of adopting a containerized MySQL setup

Repo organization

There are three parts to the training that this repo corresponds to:

Part 1: What are containers, and how do I run MySQL on a container

  • De-mystifying containers
  • How do containers work?
  • Running MySQL in a Docker container

The live exercise for this can be found in files/part_1. Refer to the README

Part 2: Running MySQL on Kubernetes

  • Kubernetes Features
  • Containerized Stateful applications – StatefulSets
  • MySQL on Kubernetes

The live exercise for this can be found in files/part_2. Refer to the README

Part 3: Putting it together – the Oracle MySQL Kubernetes Operator

  • Extending Kubernetes with Operators
  • The MySQL Operator for Kubernetes
  • Running MySQL in Kubernetes:
  • Simple master-slave
  • Oracle MySQL Operator for Kubernetes

The live exercise for this can be found in files/part_3. Refer to the README

docker-kubernetes-mysql's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.