Kubernetes is a container orchestration technology - a way to create and deploy clusters of machines running containers, usually Docker containers.
Kubernetes is also one of the hottest topics in tech today, because it is perhaps the only straightforward way to architect a hybrid, multi-cloud compute solution.
Let's parse that:
- Hybrid: This is a solution where an enterprise has a private cloud or on-premise data center, in addition to using one of the public cloud providers (such as AWS, GCP or Azure). Any firm migrating to the cloud is going to have to run a hybrid setup, at least during the migration
- Multi-cloud: This refers to the use of more than 1 cloud provider. Why is this so important? Well, because most large firms are unwilling to be completely locked into one provider, particularly after events like Amazon's acquisition of Whole Foods (that gave pause to a whole lot of potential AWS customers, who decided that 'multi-cloud' makes sense for strategic reasons)
- Only straightforward way: Most cloud providers offer a range of compute solutions, ranging from PaaS (Elastic Beanstalk, or Google App Engine) to IaaS (EC2, or Google Compute Engine VMs). The reality is that PaaS ties you down to 1 cloud provider, and IaaS is a lot of hassle, during migration and beyond.
- Kubernetes is supported by each of the Big-3: GCP has a special relationship with Kubernetes (since K8S originated at Google) but now AWS and Azure support it as well. Kubernetes has won the battle of the container orchestration systems.
This is why containers running on Kubernetes constitute the hottest compute choice for a hybrid, multi-cloud world.
Here is now is what this course contains:
- Docker, Kubernetes and the cloud platforms: understanding the inter-relationships
- Pods and containers: Pods are the basic building block in K8S; each pod holds one or more containers that are tightly-coupled to each other
- ReplicaSets: Higher-level abstractions that provide scaling and auto-healing (they encapsulate pods, and bring new pods back up if the old ones crash)
- Deployments: Even higher-level abstractions that provide versioning, fast rollback, rolling updates and more
- Services: Front-end abstractions (think of them as similar to load-balancers) that are loosely coupled with backend pods. Services provide a static, stable network frontend IP, as well as load-balancing
- Other K8S objects: StatefulSets, Secrets, ConfigMaps, Jobs and CronJobs and more
- CKA test tips: We don't reveal any information about the test that we should not, such as specific questions. But we do discuss the test format, what to expect, pitfalls to avoid, and strategies for success
Hope you enjoy the course!