Bird
Raised Fist0
Kubernetesdevops~20 mins

Default namespaces overview in Kubernetes - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Namespace Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
What is the purpose of the 'kube-system' namespace in Kubernetes?

In Kubernetes, several default namespaces exist. What is the main role of the kube-system namespace?

AIt contains system components and services managed by Kubernetes itself.
BIt is used for user-created applications and workloads.
CIt stores temporary data and logs for debugging purposes.
DIt is reserved for network policies and ingress controllers only.
Attempts:
2 left
💡 Hint

Think about where Kubernetes keeps its own essential services.

💻 Command Output
intermediate
2:00remaining
Output of listing namespaces in a fresh Kubernetes cluster

What is the output of the command kubectl get namespaces immediately after installing a new Kubernetes cluster?

Kubernetes
kubectl get namespaces
A
NAME          STATUS   AGE
default       Active   1m
kube-system   Active   1m
kube-public   Active   1m
B
NAME          STATUS   AGE
default       Active   1m
user-space    Active   1m
kube-system   Active   1m
C
NAME          STATUS   AGE
default       Active   1m
kube-system   Active   1m
kube-public   Active   1m
kube-node-lease Active   1m
D
NAME          STATUS   AGE
default       Active   1m
kube-public   Active   1m
kube-node-lease Active   1m
Attempts:
2 left
💡 Hint

Remember the default namespaces Kubernetes creates for system and node management.

❓ Configuration
advanced
2:00remaining
Effect of creating a pod without specifying a namespace

If you create a pod using kubectl apply -f pod.yaml and the pod manifest does not specify a namespace, where will the pod be created?

AIn a new namespace named after the pod.
BIn the <code>default</code> namespace.
CIn the <code>kube-system</code> namespace.
DThe command will fail due to missing namespace.
Attempts:
2 left
💡 Hint

Think about Kubernetes' default behavior when no namespace is given.

❓ Troubleshoot
advanced
2:00remaining
Why can't a pod in 'default' namespace access a service in 'kube-system' namespace without specifying namespace?

You have a pod in the default namespace trying to access a service named dns-service in the kube-system namespace using just dns-service as the hostname. Why does this fail?

ABecause the service <code>dns-service</code> does not exist in <code>kube-system</code>.
BBecause services in <code>kube-system</code> are blocked by default network policies.
CBecause pods in <code>default</code> cannot communicate with pods in <code>kube-system</code> at all.
DBecause DNS resolution in Kubernetes requires the full service name including namespace for cross-namespace access.
Attempts:
2 left
💡 Hint

Think about how Kubernetes DNS resolves service names across namespaces.

✅ Best Practice
expert
2:00remaining
Recommended namespace usage for multi-team Kubernetes cluster

You manage a Kubernetes cluster shared by multiple teams. What is the best practice regarding namespaces to isolate team workloads?

ACreate a separate namespace for each team to isolate resources and apply team-specific policies.
BUse the <code>default</code> namespace for all teams to simplify management.
CCreate namespaces only for system components and put all teams in one namespace.
DAvoid namespaces and use labels on pods to separate teams.
Attempts:
2 left
💡 Hint

Think about how namespaces help with resource isolation and access control.

Practice

(1/5)
1. What is the purpose of namespaces in Kubernetes?
easy
A. To replace pods in the cluster
B. To increase the CPU speed of nodes
C. To organize resources into separate groups within a cluster
D. To store container images

Solution

  1. Step 1: Understand what namespaces do

    Namespaces help group and isolate resources in a Kubernetes cluster.
  2. Step 2: Identify the correct purpose

    They do not affect CPU speed, store images, or replace pods.
  3. Final Answer:

    To organize resources into separate groups within a cluster -> Option C
  4. Quick Check:

    Namespaces organize resources [OK]
Hint: Namespaces group resources logically in Kubernetes [OK]
Common Mistakes:
  • Thinking namespaces speed up nodes
  • Confusing namespaces with image storage
  • Believing namespaces replace pods
2. Which of the following is a default namespace in Kubernetes?
easy
A. user-space
B. production
C. development
D. kube-system

Solution

  1. Step 1: Recall default namespaces

    Kubernetes provides default namespaces like default, kube-system, and kube-public.
  2. Step 2: Identify the correct default namespace

    kube-system is a default namespace for system components, while others are user-defined.
  3. Final Answer:

    kube-system -> Option D
  4. Quick Check:

    kube-system is default namespace [OK]
Hint: Remember kube-system for system pods [OK]
Common Mistakes:
  • Assuming production is default
  • Confusing user namespaces with defaults
  • Thinking development is built-in
3. What will the command kubectl get pods -n default show?
medium
A. Pods in the default namespace
B. All pods in all namespaces
C. Pods in the kube-system namespace
D. No pods, because default namespace is empty

Solution

  1. Step 1: Understand the command syntax

    kubectl get pods -n default lists pods in the namespace named default.
  2. Step 2: Identify the namespace targeted

    The -n default flag limits output to the default namespace only.
  3. Final Answer:

    Pods in the default namespace -> Option A
  4. Quick Check:

    kubectl -n default shows default pods [OK]
Hint: -n specifies namespace for kubectl commands [OK]
Common Mistakes:
  • Thinking it shows pods from all namespaces
  • Confusing default with kube-system
  • Assuming default namespace is always empty
4. You run kubectl get pods but get an error: error: namespace "defaultt" not found. What is the likely cause?
medium
A. Pods do not exist in any namespace
B. The namespace name is misspelled
C. kubectl is not installed
D. The cluster is down

Solution

  1. Step 1: Analyze the error message

    The error says namespace "defaultt" not found, indicating a typo.
  2. Step 2: Check command usage

    Likely the user typed defaultt instead of default as namespace.
  3. Final Answer:

    The namespace name is misspelled -> Option B
  4. Quick Check:

    Namespace typo causes not found error [OK]
Hint: Check spelling of namespace names carefully [OK]
Common Mistakes:
  • Assuming pods don't exist anywhere
  • Blaming kubectl installation
  • Thinking cluster is down without checking
5. You want to deploy an app only visible to system components. Which default namespace should you use?
hard
A. kube-system
B. kube-public
C. default
D. custom-namespace

Solution

  1. Step 1: Understand namespace roles

    kube-system holds system components and is isolated from normal user apps.
  2. Step 2: Choose namespace for system visibility

    Deploying in kube-system makes the app visible only to system components.
  3. Final Answer:

    kube-system -> Option A
  4. Quick Check:

    System apps use kube-system namespace [OK]
Hint: Use kube-system for system-only apps [OK]
Common Mistakes:
  • Using default namespace for system apps
  • Choosing kube-public which is for public info
  • Using a custom namespace without system access
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard