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

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

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的評論 (共 條)

分享到微博請遵守國家法律
赣榆县| 潮安县| 临澧县| 方城县| 灵川县| 黔东| 阿鲁科尔沁旗| 红原县| 英超| 邵阳县| 阿坝| 德清县| 巴林左旗| 响水县| 昌平区| 湘西| 涞源县| 赤城县| 新野县| 宁南县| 文登市| 于田县| 凤冈县| 安庆市| 台中县| 吴忠市| 澎湖县| 郯城县| 衡东县| 文成县| 玉门市| 肥城市| 子洲县| 梅河口市| 商南县| 涞源县| 察雅县| 永济市| 公主岭市| 保山市| 开鲁县|