Difference between revisions of "Kubernetes namespaces"

From wikieduonline
Jump to navigation Jump to search
 
(48 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
Kubernetes starts with four initial namespaces: <ref>https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/</ref>
 +
* <code>[[default]]</code> is the default namespace for objects with no other namespace.
 +
* <code>[[kube-system]]</code> for objects created by the Kubernetes system.
 +
* <code>[[kube-public]]</code> is created automatically and is readable by all users (including those not authenticated). This namespace is mostly reserved for cluster usage, in case that some resources should be visible and readable publicly throughout the whole cluster. The public aspect of this namespace is only a convention, not a requirement.
 +
* <code>[[kube-node-lease]]</code> holds [[lease objects]] associated with each node. Node leases allow the <code>[[kubelet]]</code> to send [[heartbeats]] so that the control plane can detect node failure.
  
 +
Additional documentation: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
 +
Other typical namespaces: <code>[[Kubernetes monitoring|monitoring]], [[cluster-autoscaler]]</code>
  
Defaults: <code>default</code> and <code>[[kube-system]]</code>
+
== Commands ==
 
+
* <code>[[kubectl get namespaces]]</code>
<code>[[kubectl create]] namespace MY_TEST_NAMESPACE</code> or  <code>[[kubectl create]] ns MY_TEST_NAMESPACE</code>  
+
* <code>[[kubectl create namespace]] MY_TEST_NAMESPACE</code>
namespace/MY_TEST_NAMESPACE created
+
* <code>[[kubectl create namespace]] [[argocd]]</code>
 
+
* <code>[[kubectl describe namespace]]</code>
[[kubectl get namespaces]]  
+
* <code>[[kubectl get all --all-namespaces]]</code>
[[kubectl get pods]] --all-namespaces
+
* <code>[[kubectl get pods]] --all-namespaces</code>
 +
* <code>[[kubectl label namespace]]</code>
  
 
== Activities ==
 
== Activities ==
Line 14: Line 22:
 
== Related terms ==
 
== Related terms ==
 
* <code>[[kind:|kind: namespace]]</code>
 
* <code>[[kind:|kind: namespace]]</code>
 +
* <code>[[helm list]]</code>
 +
* <code>[[helm install]] -n, --namespace</code>
 +
* <code>[[No resources found in default namespace.]]</code>
 +
* <code>[[kubectl get configmaps -A]]</code>
 +
* <code>default, [[kube-node-lease]], [[kube-public]], [[kube-system]]</code>
 +
* [[Namespace controller]]
 +
* <code>[[kubens]]</code>
 +
 +
EKS namespaces:
 +
* <code>[[logging]]</code>
 +
* <code>[[aws-load-balancer-controller]]</code> [[Ingress controller]]
 +
* [[Terraform resource: kubernetes_namespace]]
  
 
== See also ==
 
== See also ==
 
* {{kubectl}}
 
* {{kubectl}}
* {{Linux Kernel}}
+
* {{Namespace}}
* {{dockerd}}
 
* {{K8s}}
 
 
 
  
 
[[Category:Kubernetes]]
 
[[Category:Kubernetes]]

Latest revision as of 11:18, 26 January 2024

Kubernetes starts with four initial namespaces: [1]

  • default is the default namespace for objects with no other namespace.
  • kube-system for objects created by the Kubernetes system.
  • kube-public is created automatically and is readable by all users (including those not authenticated). This namespace is mostly reserved for cluster usage, in case that some resources should be visible and readable publicly throughout the whole cluster. The public aspect of this namespace is only a convention, not a requirement.
  • kube-node-lease holds lease objects associated with each node. Node leases allow the kubelet to send heartbeats so that the control plane can detect node failure.

Additional documentation: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ Other typical namespaces: monitoring, cluster-autoscaler

Commands[edit]

Activities[edit]

Related terms[edit]

EKS namespaces:

See also[edit]

  • https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
  • Advertising: