🌍 Cloud Computing · subject

Cloud Computing Containers and Orchestration Syllabus

The Containers and Orchestration syllabus for Cloud Computing in full: 5 chapters and 20 topics, every one listed below, plus 70 Containers and Orchestration flashcards with answers.

5Chapters
20Topics
70Flashcards

Containers and Orchestration syllabus: all 5 chapters

Expand any chapter to see its topics and sub-topics.

  1. Containerization with Docker

    4 topics
    • Container Images and Layers
    • Dockerfiles and Builds
    • Container Registries
    • Networking and Volumes
  2. Kubernetes Fundamentals

    4 topics
    • Cluster Architecture
    • Core Workload Objects
    • Services and Ingress
    • ConfigMaps and Secrets
  3. Managing Kubernetes Workloads

    5 topics
    • Namespaces and Resource Quotas
    • Horizontal Pod Autoscaling
    • Rolling Updates and Rollbacks
    • Persistent Volumes and Storage Classes
    • Helm Package Management
  4. Managed Kubernetes Services

    4 topics
    • Amazon EKS
    • Azure Kubernetes Service (AKS)
    • Google Kubernetes Engine (GKE)
    • Cluster Provisioning and Upgrades
  5. Serverless Containers

    3 topics
    • AWS Fargate
    • Google Cloud Run
    • Azure Container Instances

Cloud Computing Containers and Orchestration flashcards — 70 questions with answers

  1. What is a container image?

    A read-only, immutable template packaging an application together with its runtime, libraries, dependencies, and configuration, used to instantiate running containers.

  2. How are container images structured internally?

    As a stack of read-only layers. Each layer represents a filesystem change; layers are stacked and merged via a union filesystem to form the final image.

  3. What is the copy-on-write (CoW) layer in a running container?

    A thin, writable top layer added on top of the read-only image layers. All changes made by the running container are written there, leaving the underlying image unchanged.

  4. Why do image layers improve efficiency and caching?

    Layers are content-addressed and shared across images, so common layers are stored and pulled only once, reducing disk usage and speeding up builds and pulls.

  5. What is an image digest and how does it differ from a tag?

    A digest is an immutable SHA-256 content hash (e.g. sha256:...) that uniquely identifies an exact image, while a tag (like :latest) is a mutable human-friendly pointer that can be reassigned.

  6. What is a Dockerfile?

    A text file containing an ordered set of instructions that Docker reads to automatically build a container image.

  7. What is the difference between the RUN, CMD, and ENTRYPOINT instructions in a Dockerfile?

    RUN executes commands at build time creating new layers; CMD sets default arguments/command run at container start (overridable); ENTRYPOINT sets the executable that always runs, with CMD supplying its default arguments.

  8. What is a multi-stage Dockerfile build and why use it?

    A build using multiple FROM stages where artifacts are copied from a build stage into a slim final stage. It keeps the final image small by excluding build tools and intermediate files.

  9. How does the Docker build cache work with layer instructions?

    Docker caches each layer; if an instruction and its context are unchanged it reuses the cached layer. Once an instruction changes, that layer and all subsequent layers are rebuilt.

  10. What does a .dockerignore file do?

    It lists files and directories excluded from the build context sent to the daemon, reducing build size and preventing secrets or unneeded files from entering the image.

  11. What is the difference between the COPY and ADD Dockerfile instructions?

    COPY simply copies local files/directories into the image; ADD does the same but additionally can auto-extract local tar archives and fetch remote URLs. COPY is preferred for clarity.

  12. What is a container registry?

    A storage and distribution system for container images, allowing images to be pushed, versioned by tags, and pulled by clients and clusters.

  13. Name three major managed container registries.

    Docker Hub, Amazon Elastic Container Registry (ECR), Azure Container Registry (ACR); also Google Artifact Registry / GCR.

  14. What is the format of a fully qualified image reference?

    registry/repository:tag (or registry/repository@digest), e.g. myregistry.io/team/app:1.2.0.

  15. How does Kubernetes authenticate to a private registry?

    Via an imagePullSecret of type kubernetes.io/dockerconfigjson referenced by the pod or service account, supplying registry credentials for pulling images.

  16. What is the default Docker bridge network?

    A private internal network (docker0) on the host that connects containers on the same host, giving them internal IPs and NAT-based outbound access.

  17. Compare a Docker volume with a bind mount.

    A volume is managed by Docker in its storage area and is portable and decoupled from the host path; a bind mount maps a specific host filesystem path directly into the container and depends on host layout.

  18. Why should persistent data be stored in volumes rather than the container's writable layer?

    The writable layer is ephemeral and destroyed when the container is removed; volumes persist independently of the container lifecycle and can be shared or backed up.

  19. What are the main Docker network drivers?

    bridge (default single-host), host (shares host network stack), none (no networking), overlay (multi-host across a swarm), and macvlan (assigns MAC/IP on the physical network).

  20. What are the two main plane components of Kubernetes cluster architecture?

    The control plane (manages cluster state) and the worker nodes (run the workloads/pods).

Show the other 50 Containers and Orchestration flashcards
  1. What are the core control plane components in Kubernetes?

    kube-apiserver, etcd (cluster datastore), kube-scheduler, kube-controller-manager, and cloud-controller-manager.

  2. What is etcd's role in Kubernetes?

    etcd is the distributed, consistent key-value store that holds all cluster state and configuration as the single source of truth.

  3. What components run on every Kubernetes worker node?

    kubelet (manages pods/containers on the node), kube-proxy (handles service networking rules), and a container runtime (e.g. containerd).

  4. What does the kube-scheduler do?

    It watches for newly created pods with no assigned node and selects an appropriate node for them based on resource requirements, affinity, taints, and constraints.

  5. What is a Pod in Kubernetes?

    The smallest deployable unit: one or more tightly coupled containers that share the same network namespace (IP), storage volumes, and lifecycle.

  6. What does a Deployment provide over a bare Pod?

    A Deployment manages a ReplicaSet to provide declarative scaling, self-healing, and rolling updates/rollbacks for stateless replicated pods.

  7. What is a ReplicaSet?

    A controller that ensures a specified number of identical pod replicas are running at all times, recreating pods that fail or are deleted.

  8. When would you use a StatefulSet instead of a Deployment?

    For stateful applications needing stable, unique network identities, ordered deployment/scaling, and stable persistent storage per pod (e.g. databases).

  9. What does a DaemonSet do?

    It ensures a copy of a pod runs on every (or selected) node, commonly used for node-level agents like log collectors, monitoring, or CNI plugins.

  10. What is the difference between a Job and a CronJob?

    A Job runs pods to completion for a finite task; a CronJob schedules Jobs to run repeatedly on a time-based cron schedule.

  11. What is a Kubernetes Service?

    An abstraction providing a stable virtual IP and DNS name that load-balances traffic across a dynamic set of pods selected by labels.

  12. Compare the ClusterIP, NodePort, and LoadBalancer service types.

    ClusterIP exposes the service only inside the cluster; NodePort opens a static port on every node's IP; LoadBalancer provisions an external cloud load balancer routing to the service.

  13. What is an Ingress in Kubernetes?

    An API object that manages external HTTP/HTTPS access to services, providing host/path-based routing, TLS termination, and virtual hosting via an ingress controller.

  14. Why does an Ingress require an Ingress Controller?

    The Ingress object only defines routing rules; an ingress controller (e.g. NGINX, Traefik, cloud LB controller) is the running component that actually implements and enforces those rules.

  15. What is a ConfigMap used for?

    To store non-confidential configuration data as key-value pairs, injected into pods as environment variables, command-line args, or mounted files.

  16. How does a Secret differ from a ConfigMap?

    A Secret stores sensitive data (passwords, tokens, keys); its values are base64-encoded and can be encrypted at rest, with tighter access controls, whereas a ConfigMap holds plain non-sensitive config.

  17. Are Kubernetes Secrets encrypted by default?

    No. By default they are only base64-encoded (not encrypted) in etcd; encryption at rest must be explicitly enabled via an EncryptionConfiguration.

  18. What is a Kubernetes Namespace?

    A virtual cluster partition that scopes and isolates groups of resources (names, quotas, access) within a single physical cluster.

  19. What does a ResourceQuota enforce?

    It caps the aggregate resource consumption (CPU, memory, storage, object counts) allowed within a namespace.

  20. What is the difference between a ResourceQuota and a LimitRange?

    A ResourceQuota limits total resource usage across a whole namespace; a LimitRange sets default/min/max resource constraints per individual pod or container.

  21. What is the Horizontal Pod Autoscaler (HPA)?

    A controller that automatically scales the number of pod replicas in a workload up or down based on observed metrics such as CPU utilization or custom metrics.

  22. State the formula the HPA uses to compute desired replicas.

    $$\text{desiredReplicas} = \left\lceil \text{currentReplicas} \times \frac{\text{currentMetricValue}}{\text{desiredMetricValue}} \right\rceil$$

  23. How does Horizontal Pod Autoscaling differ from Vertical Pod Autoscaling?

    HPA changes the number of pod replicas (scale out/in); VPA adjusts the CPU/memory requests and limits of existing pods (scale up/down).

  24. What is a rolling update in a Kubernetes Deployment?

    A gradual update strategy that incrementally replaces old pods with new ones, keeping the app available throughout, governed by maxSurge and maxUnavailable.

  25. What do maxSurge and maxUnavailable control in a rolling update?

    maxSurge sets how many extra pods above desired count may be created during the update; maxUnavailable sets how many pods may be unavailable at once.

  26. How do you roll back a Kubernetes Deployment to a previous version?

    Use `kubectl rollout undo deployment/<name>` (optionally `--to-revision=N`), which reverts to a prior ReplicaSet revision from the rollout history.

  27. Compare a rolling update with a recreate deployment strategy.

    Rolling update replaces pods incrementally with no downtime; Recreate terminates all old pods before creating new ones, causing downtime but ensuring no version overlap.

  28. What is a PersistentVolume (PV) versus a PersistentVolumeClaim (PVC)?

    A PV is a cluster-provisioned piece of storage; a PVC is a user's request for storage of a given size and access mode that binds to a matching PV.

  29. What are the PersistentVolume access modes?

    ReadWriteOnce (RWO, one node RW), ReadOnlyMany (ROX, many nodes RO), ReadWriteMany (RWX, many nodes RW), and ReadWriteOncePod (single pod RW).

  30. What is a StorageClass?

    An object that defines a 'class' of storage with a provisioner and parameters, enabling dynamic provisioning of PersistentVolumes on demand when a PVC requests it.

  31. What do the Retain, Delete, and Recycle reclaim policies mean for a PV?

    Retain keeps the volume and data after the PVC is deleted (manual cleanup); Delete removes the underlying storage automatically; Recycle (deprecated) scrubs and reuses it.

  32. What is Helm?

    The package manager for Kubernetes that bundles related manifests into reusable, versioned, templated packages called charts.

  33. What is a Helm chart and what is a release?

    A chart is a packaged collection of templated Kubernetes manifests plus metadata; a release is a specific installed instance of a chart running in a cluster.

  34. What is the role of values.yaml in a Helm chart?

    It supplies the default configuration values that are substituted into the chart's templates, and can be overridden at install/upgrade time to customize the release.

  35. How do you upgrade and roll back a Helm release?

    `helm upgrade <release> <chart>` applies changes and creates a new revision; `helm rollback <release> <revision>` reverts to a previous revision.

  36. What is Amazon EKS?

    Amazon Elastic Kubernetes Service, a managed Kubernetes offering where AWS runs and scales the control plane while you manage or offload the worker nodes.

  37. What are the worker node options for Amazon EKS?

    Self-managed nodes, EKS managed node groups, and serverless AWS Fargate profiles.

  38. Which AWS add-on provides pod networking in EKS by default?

    The Amazon VPC CNI plugin, which assigns pods IP addresses directly from the VPC subnet.

  39. What is Azure Kubernetes Service (AKS)?

    Microsoft Azure's managed Kubernetes service that hosts the control plane for free and lets you manage worker node pools, integrating with Azure AD, ACR, and Azure networking.

  40. What is a node pool in AKS?

    A group of nodes with identical configuration; AKS supports a system node pool (for critical system pods) and additional user node pools for workloads.

  41. What is Google Kubernetes Engine (GKE)?

    Google Cloud's managed Kubernetes service, offered in Standard mode (you manage nodes) and Autopilot mode (Google fully manages nodes and you pay per pod resources).

  42. Contrast GKE Standard and GKE Autopilot modes.

    Standard gives you control and billing over node configuration and infrastructure; Autopilot removes node management, auto-provisions and bills per running pod's requested resources with a hardened default config.

  43. What is cluster provisioning in the context of managed Kubernetes?

    The automated process of creating a cluster's control plane, node pools, networking, and IAM, typically via CLI (eksctl, az aks create, gcloud) or IaC tools like Terraform.

  44. What is a typical strategy for upgrading a Kubernetes cluster with minimal downtime?

    Upgrade the control plane first, then upgrade node pools using a rolling/surge approach: cordon and drain each node to reschedule pods before replacing it with an upgraded node.

  45. Why must the control plane version be upgraded before the nodes?

    Kubernetes supports a version skew where the kubelet may be up to two (older) minor versions behind the API server but never ahead, so the control plane must lead the upgrade.

  46. What is AWS Fargate?

    A serverless compute engine for containers (used with ECS and EKS) that runs pods/tasks without you provisioning, scaling, or managing EC2 worker nodes.

  47. What is a key benefit and a key limitation of AWS Fargate for EKS?

    Benefit: no node management and per-pod right-sized billing with strong isolation. Limitation: no DaemonSets, no privileged containers, limited to specified pod sizes, and each pod runs on its own isolated microVM.

  48. How does Fargate isolation differ from running pods on shared EC2 nodes?

    Fargate runs each pod in its own dedicated kernel/microVM (Firecracker), giving VM-level isolation, whereas EC2 nodes pack multiple pods sharing the same host kernel.

  49. What is a container runtime, and which one does modern Kubernetes use by default?

    Software that runs containers (pulls images, manages lifecycle) implementing the CRI. Modern Kubernetes uses containerd (or CRI-O) by default after Docker/dockershim removal.

  50. What is the purpose of readiness and liveness probes in Kubernetes?

    A liveness probe restarts a container that has become unhealthy/deadlocked; a readiness probe determines when a pod is ready to receive traffic and is added to service endpoints.

Cloud Computing Containers and Orchestration FAQ

What is in the Cloud Computing Containers and Orchestration syllabus?

Cloud Computing Containers and Orchestration is split into 5 chapters: Containerization with Docker, Kubernetes Fundamentals, Managing Kubernetes Workloads, Managed Kubernetes Services and Serverless Containers. Together they contain 20 topics.

How many chapters are in Cloud Computing Containers and Orchestration?

5 chapters, containing 20 topics. The largest chapter is Managing Kubernetes Workloads, with 5 topics.

Are there flashcards for Cloud Computing Containers and Orchestration?

Yes — a 70-card Containers and Orchestration deck, printed in full in the flashcards section of this page and available in the Examius app with spaced repetition. The free plan covers one exam of your choice, including its flashcards; Examius Pro, a one-time purchase, unlocks every other exam and deck.