【k8s】Kubernetes ~ Namespace ~

■ はじめに

Kubernetes の Namespace (名前空間) について
徐々にメモっていく。

目次

【1】Namespace (名前空間)
【2】関連する kubectlコマンド
 1)Namespace一覧
 2)Namespace作成
 3)Namespace削除
【3】Hello world

【1】Namespace (名前空間)

* 同一の物理クラスター上で複数の仮想クラスターの動作をサポートしているのだが
 この仮想クラスターをNamespaceと呼ぶ

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

【2】関連する kubectlコマンド

1)Namespace一覧

$ kubectl get namespace
NAME              STATUS   AGE
default           Active   69m
kube-node-lease   Active   69m
kube-public       Active   69m
kube-system       Active   69m

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

Namespace Explanations
default 他にNamespaceを持っていないオブジェクトのためのデフォルトNamespace
kube-system Kubernetesシステムによって作成されたオブジェクトのためのNamespace
kube-public 自動的に作成され、全てのユーザーから読み取り可能。(認証されていないユーザーも含む)
kube-node-lease クラスターのスケールに応じたノードハートビートのパフォーマンスを向上させる各ノードに関連したLeaseオブジェクトのためのNamespace

2)Namespace作成

# kubectl create namespace [NAMESPACE_NAME]
kubectl create namespace demo-space

使用上の注意:Namespaceは半角英数小文字・「-」

# アンバーバー入りだとエラーになる
$ kubectl create namespace demo_space
The Namespace "demo_space" is invalid: metadata.name: Invalid value:
"demo_space": a lowercase RFC 1123 label must consist of lower case alphanumeric characters
 or '-', and must start and end with an alphanumeric character
 (e.g. 'my-name',  or '123-abc', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?')

3)Namespace削除

$ kubectl delete namespace demo-space

【3】Hello world

[1] Namespce作成

kubectl create namespace hello-world

[2] Namespce作成

$ kubectl run --image gcr.io/google-samples/hello-app:1.0 \
--namespce hello-world --restart=Never helloworld

[3] Namespce作成

kubectl get pod --namespace hello-world

[4] Namespce削除

kubectl delete namespace hello-world

参考文献

https://qiita.com/tom_negocia/items/d1302cc3ad4657ad3466
https://zenn.dev/ofton/articles/03373f8fb8af33

関連記事

KubernetesLinux / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2024/01/02/005053
KubernetesWindows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/05/01/000000
Kubernetes ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/27/224624
Kubernetes ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/04/013529
Kubernetes ~ 基本編 / Pod ~
https://dk521123.hatenablog.com/entry/2024/03/16/111336
Kubernetes ~ 基本編 / minikube ~
https://dk521123.hatenablog.com/entry/2023/05/07/214515
kubectlコマンド ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2022/01/12/110555