iT邦幫忙

2021 iThome 鐵人賽

DAY 20
0
DevOps

k8s歷險記系列 第 20

Day20-名稱宇宙? 什麼是Namespace

前一章我們提到了daemonset 建立出來的pod,不在deafult的Namespaces內,所以直接 get pods拿不到,那麼Namespaces到底是什麼呢?

什麼是Namespaces

k8s支援在同個物理的cluster上面建立多個虛擬的cluster,這些cluster就是Namespaces。
什麼情況下適合使用Namespace呢,當一個環境同時被多個團隊所使用,或者在使用雲端平台時,避免浪費錢,將同個cluster切成開發和正式環境。

建立namespace

跟前面一樣,可以使用create指令建立Namespace

kubectl create namespace k8stest

如果要查看建立出來的Namespace,一樣使用get

kubectl get namespaces

結果就會像下圖:
https://ithelp.ithome.com.tw/upload/images/20210928/20129607FH4dOIDr8X.png

除了剛剛新增的 k8stest外,順便說明一下其他Namespace

  1. default:
    沒有指定Namespace時,預設被賦予的Namespace。
  2. kube-system:
    k8s系統建立出來的物件,會被放入這個Namespace內。
  3. kube-public:
    可被所有使用者看到的共用Namespace。
  4. kube-node-lease:
    這個Namespace擁有各個node的lease物件。node的lease物件允許kubelet送出心跳,讓control plane偵測到node是否有掛掉。

而在1.21版本,control plane會在所有Namespace上設置一個不可變的label kubernetes.io/metadata.name,而label的值則是Namespace名稱。
不過提到label,到底什麼是label呢?
就讓我們在下一章來介紹它。


上一篇
Day19-不是惡魔 介紹DaemonSet
下一篇
Day21-又給人貼標籤 Labels and Selectors
系列文
k8s歷險記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言