In the “How to Bootstrap Kubernetes the hard way!” Yair Etziony shows how to setup a local Kubernetes cluster without using the tools like Minikube or Google Kubernetes Engine. He says it’s probably somewhat more difficult in the beginning, but eventually provides better understanding and knowledge, especially so for those who are just getting their feet wet in Kubernetes and container orchestration.
“How To Build a Serverless CI/CD Pipeline On AWS” is a nice guide to some of the newer Amazon AWS services, targeted at developers and DevOps. It shows how to tie together the following:
- Amazon EC2 (server instances)
- Docker (containers)
- Amazon ECR (Elastic Container Registry)
- Amazon S3 (storage)
- Amazon IAM (Identity and Access Management)
- Amazon CodeBuild (Continuous Integration)
- Amazon CodePipeline (Continuous Delivery)
- Amazon CloudWatch (monitoring)
- Amazon CloudTail (logs)
The examples in the article are for setting up the CI/CD pipeline for .NET, but they are easily adoptable for other development stacks.
There is plenty of documentation, tutorials, and guides online, explaining Docker containers, Kubernetes container orchestration, and microservices. Here are a few that I found useful for the quick and simple introduction into these technologies and how to tie them together.
Firstly, some basic 101s:
- Docker 101: Fundamentals & The Dockerfile
- Kubernetes 101: Pods, Nodes, Containers, and Clusters
- Running Kubernetes Locally via Minikube
- Clustered computing on Fedora with Minikube
- Kubernetes Glossary
Secondly, “Introduction to Microservices, Docker, and Kubernetes” YouTube video nicely puts all the things together, with complete code and configuration examples, some glue, and extra tips.
And finally, a few bits that you might need to solve on the way, which are not necessarily related, but can throw you off:
- Some of the virtualization bits (such as VirtualBox) might fail to run properly if you have Secure Boot enabled. To solve this problem, reboot the machine, go to the BIOS, and disable Secure Boot (enable Legacy Mode).
- Additionally, while you are there, check for the Virtualization Technology settings. Enable Virtualization Technology in the BIOS to further smooth out VirtualBox and friends.
- While working on your first minikube cluster (sorting out VirtualBox and such), it helps to completely remove and start again, after sorting out any issues that prevent Kubernetes to start (proxy timeouts, etc). A quick “minikube delete && minikube start” will save you some time on troubleshooting weird issues, than just “minikube start” after a failure.
“7 ways to do containers on AWS” covers a variety of different ways to run containers on the Amazon AWS cloud infrastructure. These include most of the usual suspects, like Amazon Elastic Container Service (ECS), Amazon Elastic Container Service for Kubernetes (EKS), and hand-rolled vanilla containers on EC2, as well as a few lesser known ones like templated Kubernetes and Amazon Fargate.