
Set up a Google Cloud Platform account, start the free $300 credit trial, create a top-level project, and launch a VM instance in Compute Engine.
Understand how each node runs Kubelik, cube proxy, and a container engine to host one or more containers, while the control plane schedules and coordinates with container runtime interface (CROI).
Launch a single-replica deployment from a container image and verify port readiness. Access a running shell in the Ingenix container to customize the served content.
Boards run on infrastructure within a cluster, with some instances forming the control plane and others hosting workloads that include the kubelet agent, a network proxy, and a container runtime.
Explore three ways to run Kubernetes: public clouds such as AWS, GCP, and Azure; on‑prem private clouds with cluster bootstrap tools; and local options like minicam.
Learn how annotations store metadata as key-value pairs on objects, distinct from labels for identification or selection, and when to attach data like phone numbers, git repositories, or large binaries.
Delete pods by identifying those managed by a deployment and deleting them directly, noting the deployment will recreate them, while pods created individually can be deleted mercilessly.
Edit deployment state directly in the cluster control plane via kubectl edit, adding environment and labels, while noting that such changes aren’t saved to YAML and can be risky.
Scale Kubernetes deployments by increasing replicas with a scale command, verifying the deployment now shows three replicas and understanding the ease of scaling and the deployment object.
Explore persistent volumes for Kubernetes, including AWS Elastic Block Store, Azure file or disk, and Google Compute Engine persistent disk; learn that volumes outlive pods and require region and zone.
Learn to pass sensitive data into pods with a Kubernetes secret, encode values in base64, create the secret, and mount it as a volume to access username and password.
Explore how container images, typically docker images, are created and pulled into pods via registries, including private registries with authentication and options for node authentication, cached images, and pod secrets.
Apply declarative changes with kubectl apply to update a pod's labels and container image from Ingenix to BusyBox. Observe the control plane reconciling spec and status.
Identify the four information classes containers see: filesystem with image and both persistent and non-persistent volumes, container hostname, downward API env vars, and services with stable IPs or DNS.
Navigate how the scheduler distributes boards across nodes, balancing resources and enabling high availability, and influence board assignment with node selectors and affinity/anti-affinity using node labels and predefined node attributes.
Examine taints and tolerations to control scheduling on nodes with node selectors and affinities. Learn to apply hardware-specific taints and condition-based taints from the node controller for selective scheduling.
Use kubectl taint to taint a node and steer pods away from it, then deploy a multi-replica deployment and verify none of the new pods schedule on the tainted node.
Use init containers to run preconditions before app containers, executing in order until completion, to block startup and clone a git repository via the downward API.
Explore init containers that prepare pod state by preloading files into an emptyDir volume, using a yaml manifest, BusyBox, and wget to seed the app container before startup.
Use pod presets to inject information into pods during creation by labeling and selecting pods, applying preset objects containing secret volumes, volume mounts, and environment variables.
Examine how a replica set governs pods through its label selectors, and how changing pod labels or isolating a pod causes the replica set to recreate and reassign pods.
Explore how replication controllers, replica sets, and deployments enable rolling updates and versioning, and why replication controllers are obsolete versus deployments and replica sets with equality-based selectors.
Delete a replication controller by setting the cascade flag to false, leaving its three pods intact and unprotected by auto healing.
Explore how Kubernetes deployments manage pods via replica sets and templates, enable rolling updates with new container versions, and provide easy rollback through revision history.
Create a deployment by defining YAML with apiVersion, kind, metadata, replicas, a replica set, and template, using selectors and a rollout strategy with max unavailable and max surge.
Understand how deployment revisions are automatically tracked and how template changes trigger new revisions; roll back to a previous revision with a single command, affecting only changed parts.
Update a deployment's container image with kubectl set image from Ingenix 1.7.9 to 1.9.1, and verify updates via describe, illustrating imperative vs declarative modes.
Understand run-to-completion jobs in Kubernetes, which create pods, ensure a target number completes, and clean up afterward. Explore single-run, fixed-count, and work-queue patterns, and how active deadlines prevent infinite loops.
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:
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:
Hope you enjoy the course!