Difference between revisions of "Kubernetes namespaces"

From wikieduonline
Jump to navigation Jump to search
 
(20 intermediate revisions by 5 users not shown)
Line 1: Line 1:
* https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
+
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.
  
* Default namespaces: <code>[[default]]</code> and <code>[[kube-system]]</code>
+
Additional documentation: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
 
+
Other typical namespaces: <code>[[Kubernetes monitoring|monitoring]], [[cluster-autoscaler]]</code>
[[kubectl create]] namespace MY_TEST_NAMESPACE
 
namespace/MY_TEST_NAMESPACE created
 
 
 
[[kubectl create]] ns MY_TEST_NAMESPACE
 
namespace/MY_TEST_NAMESPACE created
 
  
 +
== Commands ==
 +
* <code>[[kubectl get namespaces]]</code>
 +
* <code>[[kubectl create namespace]] MY_TEST_NAMESPACE</code>
 
* <code>[[kubectl create namespace]] [[argocd]]</code>
 
* <code>[[kubectl create namespace]] [[argocd]]</code>
* <code>[[kubectl get namespaces]]</code>
+
* <code>[[kubectl describe namespace]]</code>
 
* <code>[[kubectl get all --all-namespaces]]</code>
 
* <code>[[kubectl get all --all-namespaces]]</code>
 
* <code>[[kubectl get pods]] --all-namespaces</code>
 
* <code>[[kubectl get pods]] --all-namespaces</code>
 +
* <code>[[kubectl label namespace]]</code>
  
 
== Activities ==
 
== Activities ==
Line 24: Line 27:
 
* <code>[[kubectl get configmaps -A]]</code>
 
* <code>[[kubectl get configmaps -A]]</code>
 
* <code>default, [[kube-node-lease]], [[kube-public]], [[kube-system]]</code>
 
* <code>default, [[kube-node-lease]], [[kube-public]], [[kube-system]]</code>
 +
* [[Namespace controller]]
 +
* <code>[[kubens]]</code>
  
EKS
+
EKS namespaces:
 
* <code>[[logging]]</code>
 
* <code>[[logging]]</code>
 
* <code>[[aws-load-balancer-controller]]</code> [[Ingress controller]]
 
* <code>[[aws-load-balancer-controller]]</code> [[Ingress controller]]
 +
* [[Terraform resource: kubernetes_namespace]]
  
 
== See also ==
 
== See also ==

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: