最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

volume 、namespace

2023-06-29 23:01 作者:阿兵云原生  | 我要投稿


順帶說一下 volume 和 namespace ,咱們就開始分享一下 service 是什么

volume 是什么

還記得 docker 的 volume 嗎,是一個數(shù)據(jù)卷

在 K8S 中,volume 是 pod 中能夠被多個容器訪問的共享目錄 ,實際上和 docker 是一樣的

volume 是被定義在 pod 上面的,因此,volume 的生命周期和 pod 是相同的

volume 會被該 pod 中的多個容器掛載到具體的文件目錄下面,若某個容器掛掉了,是不會影響 volume 的,也就是說 volume 中的數(shù)據(jù)是不會丟失的

我們可以使用 volume:

  • 在 pod 中指定 volume 的類型 和內容,可以使用spec.volumes字段

  • 需要將 volume 映射到容器中,我們可以使用 spec.containers.volumeMounts 字段

上面有說到 volume 的類型,這就可多了 , K8S 中支持的 volume 類型有:

  • awsElasticBlockStore

  • azureFile

  • cephfs

  • emptyDir

  • hostPath

  • configMap

  • fc (光纖通道)

  • 。。 。 等等

可以查看這上面的文檔,每一種 卷類型都有解釋到 ?點我開始卷一下

簡單看一下 emptyDir 卷類型

emptyDir ?見名知意,emptyDir ?在創(chuàng)建 pod 的時候就會被創(chuàng)建,而且是個空的 , 只要 pod 在運行,這個卷就會一直存在

但是,當 pod 從節(jié)點上刪除的時候,這個 emptyDir ? 也會被隨之永久刪除了

使用 emptyDir 我們可以這樣寫


emptyDir 卷存儲是依賴于我們節(jié)點的存儲介質的,例如,磁盤,SSD 或者網絡存儲等等

再來看看 hostPath 類型

hostPath ?類型的卷,能夠讓對應的容器訪問當當前宿主機上指定的目錄

對于 hostPath 類型,我們盡可能的少用,官方有一個這樣的警告

例如,我們需要運行一個訪問一個 docker ?系統(tǒng)目錄的容器,那么我們可以使用 /var/lib/docker 目錄作為一個 hostPath 類型的卷

但是,只要這個 pod 離開宿主機的話,hostPath 中的數(shù)據(jù)不會被永久刪除,但是數(shù)據(jù)也不會跟著 pod 遷移到別的宿主機上面

使用 hostPath 我們可以這樣寫

關于 卷 的,我們后續(xù)可以將高階用法,以及具體的原理可以分享一波

namespace

namespace 即 命名空間

命名空間在多數(shù)情況下是用于實現(xiàn)多用戶的資源隔離的,通過集群內部的資源對象分配到不同的 命名空間中,形成邏輯上的分組,

這樣可以讓不同的組在共享使用整個集群的資源的情況下,還能夠被分組管理

在 K8S 初始狀態(tài)下,K8S 會有 3 個命名空間

  • default

無名字空間對象的默認名字空間

在 K8S 中,集群啟動后,會創(chuàng)建一個 default 的命名空間 如果我們創(chuàng)建的 rc ,service,pod,不指定命名空間的話,那么這些資源都將被系統(tǒng)創(chuàng)建為 default 的命名空間中

  • kube-system

K8S ?系統(tǒng)創(chuàng)建的對象的名字空間

  • kube-public

是 K8S 自動創(chuàng)建且被所有用戶可讀的名字空間

關于命名空間共享集群我們可以查看這里: 點我 進入 命名空間

我們可以這樣使用命名空間:

  • 創(chuàng)建一個 NameSpace

apiVersion:?v1
kind:?NameSpace
metadata:
??name:?myns
--------------------
apiVersion:?v1
kind:?Pod
metadata:
??name:?busybox
??namespace:?myns
spec:
?containers:
?-?image:?busybox
???command:
???-?ls?
???name:?busybox

如上,我們創(chuàng)建了一個名為 ?myns的命名空間,創(chuàng)建了一個 pod ,指定命名空間為 ?myns

我們可以這樣查看命名空間:

kubectl get namesapces

image-20211128120410202

我們也可以直接通過命令創(chuàng)建命名空間

kubectl create namespace myns

創(chuàng)建一個 pod ,指定命名空間為 myns , 創(chuàng)建后,我們可以查看指定 命名空間下的 pod 資源

kubectl get pods --namespace=命名空間

image-20211128120919274

今天就到這里,學習所得,若有偏差,還請斧正

歡迎點贊,關注,收藏

朋友們,你的支持和鼓勵,是我堅持分享,提高質量的動力

好了,本次就到這里

技術是開放的,我們的心態(tài),更應是開放的。擁抱變化,向陽而生,努力向前行。

我是阿兵云原生,歡迎點贊關注收藏,下次見~


volume 、namespace的評論 (共 條)

分享到微博請遵守國家法律
凉城县| 云浮市| 扎兰屯市| 古蔺县| 虞城县| 云阳县| 油尖旺区| 桃源县| 那坡县| 柳江县| 绥德县| 巧家县| 越西县| 叙永县| 稷山县| 巴马| 金塔县| 葵青区| 崇信县| 谢通门县| 射洪县| 三门峡市| 沛县| 上蔡县| 宁城县| 日土县| 卢氏县| 满洲里市| 方城县| 杭锦后旗| 钟祥市| 资溪县| 壶关县| 万载县| 高雄市| 新泰市| 手机| 东平县| 内乡县| 涟源市| 出国|