Back To Course Home
A Practical Guide to Kubernetes
0% completed
How Did We Get Here?
IntroductionA Short History of Infrastructure ManagementA Short History of Deployment ProcessesSchedulersWhat is Kubernetes?
Pods
Getting Started with PodsA Quick Way to Run PodsDefining Pods through Declarative SyntaxComponents and Stages Involved in Pod SchedulingPlaying Around with the Running PodRunning Multiple Containers in a Single PodSingle-Container vs. Multi-Container PodsMonitoring HealthQuiz Yourself on PodsWhat's Next?
ReplicaSets
Getting Started with ReplicaSetsCreating ReplicaSetsSequential Breakdown of the ProcessOperating ReplicaSetsQuiz Yourself on ReplicaSetsWhat's Next?
Services
Getting Started with CommunicationCreating Services by Exposing PortsSequential Breakdown of the ProcessCreating Services through Declarative SyntaxSplitting the Pod and Establishing Communication through ServicesCreating the Split API PodsDefining Multiple Objects in the Same YAML FileDiscovering ServicesComparison with Docker SwarmQuiz Yourself on ServicesWhat's Next?
Deployments
Getting Started with Deploying Releases
Deploying New Releases
Sequential Breakdown of the Process
Updating Deployments
Defining a Zero-Downtime Deployment
Creating a Zero-Downtime Deployment
Rolling Back or Rolling Forward?
Playing Around with the Deployment
Rolling Back Failed Deployments
Merging Everything into the Same YAML Definition
Updating Multiple Deployments
Scaling Deployments
Comparison with Docker Swarm
Quiz Yourself on Deployments
What's Next?
Ingress
Getting Started with IngressServices and External AccessEnabling Ingress ControllersCreating Ingress Resources Based on PathsSequential Breakdown of the ProcessCreating Ingress Resources Based on DomainsCreating an Ingress Resource with the Default BackendComparison with Docker SwarmQuiz Yourself on IngressWhat's Next?
Volumes
Getting Started with VolumesAccessing a Host’s Resources through hostPath VolumesRunning the Pod after mounting hostPathUsing hostPath Volume Type to Inject Configuration FilesWorking with the New Prometheus ConfigurationNon-persisting StatePersisting State through the emptyDir Volume TypeQuiz Yourself on VolumesWhat's Next?
ConfigMaps
Getting Started with ConfigMapsInjecting a Configuration from a Single FileInjecting Configurations from Multiple FilesInjecting Configurations from Key/Value LiteralsInjecting Configurations from Environment FilesConverting ConfigMap Output to Environment VariablesDefining ConfigMaps as YAMLThe Best Way to Configure an ApplicationComparison with Docker SwarmQuiz Yourself on ConfigMapsWhat's Next?
Secrets
Getting Started with SecretsExploring Built-In SecretsCreating Generic SecretsMounting Generic SecretsSecrets Compared to ConfigMapsHow to Secure SecretsComparison with Docker SwarmQuick Quiz!What's Next?
Namespaces
Getting Started with Cluster DivisionDeploying the First ReleaseExploring Virtual ClustersExploring the Existing NamespacesCreating a New NamespaceDeploying to a New NamespaceCommunicating between NamespacesDeleting a Namespace and All Its ObjectsComparison with Docker SwarmQuick Quiz!What's Next?
Securing Kubernetes Clusters
Getting Started with SecurityAccessing the Kubernetes APIAuthorizing Requests and Creating a ClusterCreating Users to Access the ClusterAccessing the Cluster as a UserExploring the RBAC AuthorizationExploring Predefined ClusterRolesCreating RoleBindingsCreating Cluster Role BindingsCombining RoleBindings with NamespacesGranting Access as a Release ManagerReplacing Users with GroupsComparison with Docker SwarmQuiz Yourself on Securing KubernetesWhat's Next?
Managing Resources
Getting Started with Managing ResourcesDefining Container Memory and CPU ResourcesGetting Practical with Container Memory and CPU ResourcesMeasuring the Actual Memory and CPU ConsumptionAllocating Insufficient Resource than the Actual UsageAllocating Excessive ResourcesAdjusting Resources Based on Actual UsageExploring Quality of Service (QoS) ContractsExamining QoS in ActionDefining Resource Defaults and Limitations within a NamespaceThe Mismatch ScenarioDefining Resource Quotas for a NamespaceExploring the Effects by Violating QuotasExploring the Types of QuotasComparison with Docker SwarmQuiz yourself on Managing ResourcesWhat's Next?
Creating A Production-Ready Kubernetes Cluster
Getting Started with a Production-Ready ClustersKubernetes Operations (kOps) ProjectPreparing for the Cluster Setup: AWS CLI and RegionPreparing for the Cluster Setup: IAM Group and UserPreparing for the Cluster Setup: Availability Zones and SSH KeysCreating a Cluster: Creating an S3 Bucket and Installing kOpsCreating a Cluster: Discussing the SpecificationsCreating a Cluster: Running and VerificationExploring the Components That Constitute the ClusterUpdating the ClusterSequential Breakdown and Verification of the Update ProcessUpgrading the Cluster Manually: Changing the Kubernetes VersionExploring and Verifying the OutputUpgrading the Cluster AutomaticallyAccessing the Cluster: Understanding the ProtocolAccessing the Cluster: Adding the Load BalancerDeploying ApplicationsExploring High Availability and Fault Tolerance of a ClusterGiving Others Access to the ClusterDestroying the ClusterComparison with Docker SwarmQuiz Yourself on ClustersWhat's Next?

Cloud Lab - 1 hour

Create a Production-Ready Kubernetes Cluster
Persisting State
Getting Started with State PersistenceDeploying Stateful Applications without Persisting StateAnalyzing Failure of the Stateful ApplicationCreating AWS VolumesCreating Kubernetes Persistent VolumesClaiming Persistent VolumesCreating Deployment for Attaching Claimed Volumes to PodsVerifying State Persistence and Exploring FailuresRemoving Resources and Exploring EffectsUsing Storage Classes to Dynamically Provision PersistentVolumesUsing Default StorageClassesDefining Storage ClassesCreating StorageClassesQuiz Yourself on Persistent StatesWhat's Next?

Cloud Lab - 1 hour

Deploy Stateful Applications with Persistent State

Cloud Lab - 1 hour

Create a Docker Swarm
Appendix: Running a Kubernetes Cluster Locally
Exploring the OptionsInstalling kubectlInstalling minikubeCreating a Local Kubernetes Cluster with minikubeExploring minikube Commands

Updating Deployments

Learn to update the Kubernetes Deployments.

We'll cover the following
  • Updating the db image
  • Describing the deployment
  • Looking into the cluster
  • Exploring ways to update Deployments
    • Updating Deployments using the kubectl edit command
    • Updating the YAML file
  • Finishing off by adding a Service
  • Try it yourself

Get hands-on with 1400+ tech skills courses.