溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

kubernetes1.4有哪些新特性

發(fā)布時(shí)間:2022-02-19 14:07:49 來源:億速云 閱讀:136 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“kubernetes1.4有哪些新特性”,在日常操作中,相信很多人在kubernetes1.4有哪些新特性問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”kubernetes1.4有哪些新特性”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

kubernetes1.4有哪些新特性

背景介紹

從圖中可以看到結(jié)構(gòu)體PodSpec有個(gè)屬性是Volumes,通過這個(gè)Volumes屬性可以關(guān)聯(lián)到結(jié)構(gòu)體Volume和結(jié)構(gòu)體VolumeSource,而且這個(gè)Volumes屬性是一個(gè)數(shù)組類型,就是說POD可以關(guān)聯(lián)到多個(gè)不同類型的卷上面。

結(jié)構(gòu)體Container表示POD中的容器,這個(gè)結(jié)構(gòu)體有一個(gè)屬性VolumeMounts,通過這個(gè)屬性讓容器知道具體掛載的存儲(chǔ)路徑,這個(gè)VolumeMounts屬性也是一個(gè)數(shù)組類型,就是說容器可以掛載多個(gè)存儲(chǔ)路徑。

支持新的卷插件

Kubernetes一共支持22種卷插件。在Kubernetes1.4中又新增了兩種新的卷插件:Quobyte和AzureDisk。

Quobyte

這是Quobyte公司推出的分布式文件系統(tǒng)。要想在kubernetes中使用Quobyte存儲(chǔ),需要提前部署Quobyte軟件,要求必須是1.3以及更高版本,并且在kubernetes管理的節(jié)點(diǎn)上面部署Quobyte客戶端。

為什么要使用1.3以及更高版本?因?yàn)檫@些版本中Quobyte提供了一個(gè)特性:fixed-user掛載,這個(gè)新特性允許所有Quobyte卷都會(huì)被掛載到一個(gè)路徑下面,同時(shí)又可以按照不同用戶來進(jìn)行分別使用。所有對(duì)Quobyte卷的訪問都是區(qū)分用戶和組的,當(dāng)然也可以不區(qū)分,區(qū)分的好處就是可以實(shí)現(xiàn)多租戶隔離。下圖是一個(gè)fixed-user掛載的示例:

容器A設(shè)計(jì)成只能通過wordpress這個(gè)用戶來執(zhí)行操作,但是對(duì)于quobyte來說,容器A實(shí)際上是通過用戶job來執(zhí)行實(shí)際讀寫操作的;容器B設(shè)計(jì)成通過root用戶來執(zhí)行操作,但是對(duì)于quobyte來說,容器B實(shí)際上是通過root組中的用戶mike來執(zhí)行操作的。也就是說做了個(gè)用戶映射,而不是使用容器內(nèi)的用戶來執(zhí)行讀寫操作。

如何啟用fixed-user掛載這個(gè)特性?安裝完Quobyte客戶端后,在配置文件/etc/quobyte/client.cfg中增加一行allow-usermapping-in-volumename。

如果不使用kubernetes,直接使用Docker,那么也可以不安裝Quobyte客戶端,而是使用Quobyte提供的Docker插件,在Docker中,所有Quobyte卷都會(huì)掛載到/run/docker/quobyte/mnt目錄下。這個(gè)插件在下面環(huán)境中已經(jīng)測(cè)試過:

但是比較遺憾的是Quobyte提供的Docker插件現(xiàn)在還不支持fixed-user掛載這個(gè)特性,如果想使用這個(gè)特性,就必須安裝Quobyte客戶端。

下面是quobyte卷對(duì)應(yīng)的結(jié)構(gòu)體:

變量Registry:QuoByte注冊(cè)服務(wù)入口,如果配置了多個(gè)注冊(cè)服務(wù)入口,那么每個(gè)注冊(cè)服務(wù)入口可以通過分號(hào)分割。

變量Volume:QuoByte已經(jīng)創(chuàng)建好的卷。

變量ReadOnly:這是一個(gè)布爾型變量,默認(rèn)是false,表示可以對(duì)QuoByte已經(jīng)創(chuàng)建好的卷進(jìn)行讀寫操作,如果配置成true,那么就表示只能對(duì)QuoByte已經(jīng)創(chuàng)建好的卷進(jìn)行只讀操作。

變量User:操作QuoByte卷的用戶。

變量Group:操作QuoByte卷的組。

下面是使用Quobyte卷創(chuàng)建POD的示例文件quobyte-pod.yaml:

接著通過下面命令創(chuàng)建POD:

在POD創(chuàng)建成功后,可以檢查確認(rèn)quobyte卷testVolume已經(jīng)被掛載上了:

AzureDisk

Azure是微軟提供的公有云服務(wù),如果使用Azure上面的虛擬機(jī)來作為Kubernetes集群使用時(shí),那么可以通過AzureDisk這種類型的卷插件來掛載Azure提供的數(shù)據(jù)磁盤。

下面是Azure上數(shù)據(jù)磁盤的介紹:

數(shù)據(jù)磁盤是附加到虛擬機(jī)的 VHD,用于存儲(chǔ)應(yīng)用程序數(shù)據(jù)或其他需要保留的數(shù)據(jù)。數(shù)據(jù)磁盤注冊(cè)為 SCSI 驅(qū)動(dòng)器并且?guī)в兴x擇的字母標(biāo)記。每個(gè)數(shù)據(jù)磁盤的最大容量為 1023 GB。虛擬機(jī)的大小決定了可附加的磁盤數(shù)目,以及可用來托管磁盤的存儲(chǔ)類型。Azure 中使用的 VHD 是在 Azure 的標(biāo)準(zhǔn)或高級(jí)存儲(chǔ)帳戶中作為頁 Blob 存儲(chǔ)的 .vhd 文件。

Azure數(shù)據(jù)磁盤的核心就是Blob,Blob 就是保存大型二進(jìn)制對(duì)象,比如用來存儲(chǔ)文件、圖片、文檔等二進(jìn)制格式的文件。

Blob 分為兩種類型:

1、Block Blob (塊 Blob)。這種類型適合存儲(chǔ)二進(jìn)制文件,支持?jǐn)帱c(diǎn)續(xù)傳,可以最大以 4M 為一個(gè)區(qū)塊單位,單一文件最大可以存儲(chǔ) 200GB,且區(qū)塊不會(huì)連續(xù)存儲(chǔ),可能會(huì)在不同的存儲(chǔ)服務(wù)器分塊存放。為了適應(yīng)文件的上傳和下載而專門進(jìn)行了優(yōu)化。Block Blob 可以通過 2 種方式創(chuàng)建。不超過 64MB 的 Block Blobs 可以通過調(diào)用 PutBlob 操作進(jìn)行上傳。大于 64M 的 Block Blobs 必須分塊上傳,且每塊的大小不能超過 4MB。Block Blob 可以近似理解為網(wǎng)盤。

2、Page Blob (頁 Blob)。這類存儲(chǔ)優(yōu)化了隨機(jī)訪問。它會(huì)在存儲(chǔ)區(qū)中劃分一個(gè)連續(xù)的區(qū)域供應(yīng)用程序存放數(shù)據(jù),可以用來存放 VHD,單一文件最大可以存儲(chǔ)1TB。

Blob 服務(wù)由 Blob 本身以及其收納容器 (Container) 構(gòu)成,容器可以視為一般本機(jī)上的文件夾。

你可以通過 REST API 來訪問 Blob:

http://.blob.core.chinacloudapi.cn//

accountname 表示哪個(gè) Azure 存儲(chǔ)賬號(hào)下的資源,是全局唯一的。

blob.core.chinacloudapi.cn 表示 azure chinablob 存儲(chǔ)資源,是固定的。

containername 表示容器的名字,可以認(rèn)為是訪問某一文件夾下的資源

blobname 表示要訪問的資源名稱,可以認(rèn)為是一個(gè) mp3 文件,或者是一個(gè) jpg 文件。

舉例說明:

保存在 leizhangstorage 存儲(chǔ)賬號(hào)下,containername 為 photo,blobname 為 myphoto.jpg。則這個(gè) URL 地址為:

http://leizhangstorage.blob.core.chinacloudapi.cn/photo/myphoto.jpg

保存在 leizhangstorage 存儲(chǔ)賬號(hào)下,containername 為 vhd,blobname 為 myvm.vhd。則這個(gè) URL 地址為:

http://leizhangstorage.blob.core.chinacloudapi.cn/vhd/myvm.vhd

Container 的命名規(guī)則:

containername 只能是一級(jí)目錄,沒有辦法在containername 下再設(shè)置下一級(jí)別 containername

必須以英文或數(shù)字開頭,且名稱內(nèi)只能有英文、數(shù)字及 dash(-)

不能以 dash(-) 開頭或結(jié)尾,dash(-) 不能連續(xù)出現(xiàn)

所有英文的字符必須是小寫

長(zhǎng)度為 3-63 之間

Blob 的命名規(guī)則:

除了 url 的保留字符以外,其他的字符組合都可以使用

長(zhǎng)度為 1-1024 個(gè)字符

盡量避免以 dot(.) 或者是 forward slash(/) 結(jié)尾。否則會(huì)造成 Blob Service 誤判。

下面是Kubernetes中AzureDisk卷對(duì)應(yīng)的結(jié)構(gòu)體:

變量DiskName:必選參數(shù),表示數(shù)據(jù)磁盤的名稱。

變量DataDiskURI:必選參數(shù),表示數(shù)據(jù)磁盤的訪問路徑。

變量CachingMode:可選參數(shù),表示數(shù)據(jù)磁盤緩沖模式,可以選擇None、ReadOnly和ReadWrite,默認(rèn)是None。

變量FSType:可選參數(shù),表示數(shù)據(jù)磁盤掛載到操作系統(tǒng)上之后格式化成的文件系統(tǒng)類型,比如:”ext4″、”xfs”、”ntfs”,默認(rèn)是”ext4″。

變量ReadOnly:可選參數(shù),這是一個(gè)布爾型變量,表示數(shù)據(jù)磁盤是否為只讀使用,默認(rèn)是false,表示可以進(jìn)行讀寫操作。

到此,關(guān)于“kubernetes1.4有哪些新特性”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI