All you really need is Linux environment and some basic Linux knowledge. You can learn everything else along the way. Each tutorial has Useful links tab that contains the list of helpful resources.
- MySQL relational database on Kubernetes
- 1Clone git repository
- 2Add custom namespace to the cluster
- 3Get the name of your cluster and user
- 4Create a context for your namespace
- 5Create a Secret
- 6Create a Persistent Volume
- 7Create and view a Persistent Volume Claim
- 8Create a Deployment
- 9Examine Pod created by the Deployment
- 10Create a Service and connect to MySQL
- WordPress on Kubernetes
- 1Build a custom WordPress docker image
- 2Configure GitLab container registry and push WordPress docker image
- 3Create GitLab container registry Secret
- 4Create Secrets and Config Maps
- 5Create Persistent Volume and Claim
- 6Create Deployment with GitLab hosted docker image
- 7Examine the Pod
- 8WordPress data on persistent drive
- 9Create MySQL database for WordPress
- 10Create Load Balancer Service for WordPress
- Serve SSL/TLS secured web application from your Kubernetes cluster
- 1Create Service for WordPress
- 2Controll the cost of Load Balancing with nginx Ingress controller
- 3Configure DNS records for your domain
- 4Free self-renewing SSL certificate with kube-lego
- 5Create an Ingress and install WordPress
- 6Backup strategies for your WordPress website
- 7Remove Mixed-Content warning
- 8Turn on Cloudflare's HTTP proxy
- Keeping track of your code with git
- 1Git authorization automation
- 2Initialize git repository and configure GitLab connection
- 3Ignore some files with .gitignore
- 4Add files to local repository and push them to remote one
- 5Configure git for sparse checkout
- 6Pulling changes from remote repository
- Development environment - training ground for code
- 1Create new persistent disk from WordPress snapshot
- 2Create development database
- 3Create Config Map and Secrets
- 4Create Persistent Volume and Claim
- 5Create Deployment
- 6Create subdomain for development environment
- 7HTTP Basic authentication for development environment
- 8How to re-create development environment
- 9How to remove development environment
- How to organize your software development workflow ?
- 1Learn about git branching strategies
- 2Example workflow scenario - Implementation
- 3Example workflow scenario - Testing and fixing
- 4Example workflow scenario - Deployment
- 5Better workflow with Merge Requests on GitLab
- 6Push WordPress update result to repository
- 7Things to think about
What will you gain ?
Skills you will learn here will let you deploy in the cloud any web application created in technology of your preference. Maybe you already have a killer app idea or a great domain. It makes sense to start with the infrastructure and development workflow first. You can easily switch WordPress and MySQL for whichever stack you prefer.
After you finish this tutorial you will have a nice base for any SSL/TLS secured web application or even a bunch of them. You will also have a git based workflow to comfortably develop your app. If you prefer other cloud platforms than Google Cloud Platform then there is no problem. Kubernetes also runs on Amazon Web Services, Microsoft Azure, IBM Bluemix and many more.
This tutorial series will teach you by example. Kubernetes is one of the technologies that you just need to start using to learn it. Kubernetes however, is not the only thing you are going to gain knowledge of.
It’s all free! No need to spend a penny on it
This is the best thing about it. You don’t need to spend a dime because you get:
- Infrastructure courtesy of Google Cloud Platform’s free trial $300 gift
- Free remote GIT repository, Issue tracker, Container registry, Wiki and more courtesy of GitLab
- Free SSL/TLS certificate courtesy of Let’s Encrypt. Furthermore this certificate is managed automatically
- Free HTTP proxy and DDoS protection courtesy of Cloudflare
Why should you do it ?
Setting up a website from start to the very end with your own domain and infrastructure teaches you a lot about a wide scope of technologies. Setting it up in a container-centric way in your own cluster running on Google Cloud Platform .. that is something to brag about. Furthermore it gives you a new perspective on software development and possibilities that the cloud brings to the table.
Aren’t you frustrated that the whole world of new, fun and exciting things is just passing you by ?
At work you’re stuck managing some support issue again. You haven’t coded anything interesting, just for yourself, just to have some fun in months. Years perhaps ? There was a time when you used to know the name of every soft or library on the market. Now you just smile and nod your head when you hear or read the words like: cloud, containers, docker or Kubernetes ?
This is your chance. Do something about it !
In conclusion I will repeat the most noteworthy fact: Google gives you 300 US dollars ! Hence you’re basically loosing money by not starting this tutorial 🙂