AKS使用Azure File實(shí)現(xiàn)動(dòng)態(tài)持久化存儲(chǔ)

來(lái)源:搪瓷小娃娃博客園
作者:搪瓷小娃娃
時(shí)間:2020-08-11
3026
本篇文章就帶領(lǐng)大家操作一遍,如何動(dòng)態(tài)創(chuàng)建Azure File文件共享,以供集群中的多個(gè)Pod使用。

如我們所知,Kubernetes通過(guò)Volume為集群中的容器提供存儲(chǔ),通過(guò)Persistent Volume和Persistent Volume Claim實(shí)現(xiàn)Volume的靜態(tài)供給和動(dòng)態(tài)供給。Azure File和Azure Disk也在Kubernetes支持的動(dòng)態(tài)供給PV的Provisioner之列(如下圖:https://kubernetes.io/docs/concepts/storage/storage-classes/#provisioner),本篇文章就帶領(lǐng)大家操作一遍,如何動(dòng)態(tài)創(chuàng)建Azure File文件共享,以供集群中的多個(gè)Pod使用。

ia_1200000001.jpg

(1)準(zhǔn)備工作:

創(chuàng)建好一個(gè)AKS集群,并且升級(jí)Azure CLI到最新版本

登錄到你創(chuàng)建好的集群中,確認(rèn)下各Node節(jié)點(diǎn)狀態(tài)是否正常:

ia_1200000002.jpg

(2)添加StorageClass:

創(chuàng)建一個(gè)azure-file-sc.yaml文件并編輯如下:

ia_1200000003.jpg

如上我們創(chuàng)建的這個(gè)Storage Class封裝的名稱(name)為azurefile,provisioner指定為kubernetes.io/azure-file,參數(shù)parameter部分,指定冗余形式,目前支持Standard的三張,其他暫不支持:

Standard_LRS-standard locally redundant storage(LRS)

Standard_GRS-standard geo-redundant storage(GRS)

Standard_RAGRS-standard read-access geo-redundant storage(RA-GRS)

創(chuàng)建好之后執(zhí)行kubectl apply-f azure-file-sc.yaml。

(3)創(chuàng)建集群角色并綁定

作為Azure平臺(tái)上的服務(wù),AKS仍然使用的RBAC去控制集群的權(quán)限和安全。為了使Azure平臺(tái)能夠創(chuàng)建所需要的存儲(chǔ)資源,這一步我們需要添加一個(gè)集群角色:

---

apiVersion: rbac.authorization.k8s.io/v1

kind: ClusterRole

metadata:

  name: system:azure-cloud-provider

rules:

- apiGroups: ['']

  resources: ['secrets']

  verbs:     ['get','create']

---

apiVersion: rbac.authorization.k8s.io/v1

kind: ClusterRoleBinding

metadata:

  name: system:azure-cloud-provider

roleRef:

  kind: ClusterRole

  apiGroup: rbac.authorization.k8s.io

  name: system:azure-cloud-provider

subjects:

- kind: ServiceAccount

  name: persistent-volume-binder

  namespace: kube-system

執(zhí)行kubectl apply-f azure-pvc-roles.yaml如下:

ia_1200000004.jpg

(4)創(chuàng)建PVC:

這一步就是動(dòng)態(tài)申請(qǐng)存儲(chǔ)資源的文件了,命名這個(gè)PVC yaml文件為azure-file-pvc.yml,編輯如下,指定metadata為第(2)步中的StorageClassName,配置好訪問(wèn)模式和容量,編輯好保存并運(yùn)行,可以看到這個(gè)PVC已經(jīng)被成功創(chuàng)建。

   apiVersion: v1

kind: PersistentVolumeClaim

metadata:

  name: azurefile

spec:

  accessModes:

    - ReadWriteMany

  storageClassName: azurefile

  resources:

    requests:

      storage: 5Gi

ia_1200000005.jpg

(5)使用并檢驗(yàn)

首先我們創(chuàng)建一個(gè)pod,命令為mypod1.yml,這個(gè)pod運(yùn)行的是一個(gè)busybox鏡像,通過(guò)PVC將Azure File mount到容器的/datatest目錄中。

apiVersion: v1

kind: Pod

metadata:

  name: mypod1

spec:

  containers:

  - image: busybox

    name: mycontainer1

    volumeMounts:

    - mountPath: /datatest

      name: datatest

    args:

    - /bin/sh

    - -c

    - sleep 30000

  volumes:

  - name: datatest

    persistentVolumeClaim:

      claimName: my-azurefile-pvc

然后依次執(zhí)行:

kubectl apply -f mypod1.yaml

#查看pod狀態(tài)

kubectl get pod -o wide

#在pod里的datatest目錄下創(chuàng)建一個(gè)名字為hello的文件

kubectl exec mypod1 touch /datatest/hello

ia_1200000006.jpg

如上是截圖,在pod中創(chuàng)建完名字為hello的文件后,我們檢驗(yàn)下這個(gè)文件有沒(méi)有更新到Azure File中,這里說(shuō)明一下,AKS動(dòng)態(tài)配置完后的AzureFile會(huì)默認(rèn)創(chuàng)建在MC_的集群中,portal上找到這個(gè)存儲(chǔ)賬戶進(jìn)去,找到Azure File下面的文件,如截圖,發(fā)現(xiàn)hello.txt已經(jīng)存在了。

ia_1200000007.jpg

ia_1200000008.jpg

以上就是整個(gè)實(shí)驗(yàn)過(guò)程,演示了AKS如何使用Azure File實(shí)現(xiàn)動(dòng)態(tài)持久化存儲(chǔ)。希望對(duì)大家有用。

原文鏈接:點(diǎn)擊前往 >
文章來(lái)源:搪瓷小娃娃博客園
版權(quán)說(shuō)明:本文內(nèi)容來(lái)自于搪瓷小娃娃博客園,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
隨著人工智能技術(shù)持續(xù)重塑企業(yè)運(yùn)營(yíng)方式,企業(yè)需要能夠處理海量數(shù)據(jù)的系統(tǒng),以支持實(shí)時(shí)洞察,同時(shí)幫助他們應(yīng)對(duì)跨IT和OT環(huán)境(包括云端、邊緣和本地)中運(yùn)營(yíng)、應(yīng)用、數(shù)據(jù)和基礎(chǔ)設(shè)施的協(xié)作難題。
Azure
微軟云
云服務(wù)
2024-12-17
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來(lái)
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來(lái)
.NET 9現(xiàn)已正式發(fā)布,它為.NET平臺(tái)的發(fā)展掀開(kāi)了嶄新的一頁(yè),突破了性能、云原生開(kāi)發(fā)和AI技術(shù)集成的邊界。
Azure
微軟云
云服務(wù)
2024-12-16
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
智能Microsoft Copilot副駕駛for Azure網(wǎng)絡(luò)服務(wù)現(xiàn)已推出公共預(yù)覽版。
Azure
微軟云
云服務(wù)
2024-12-10
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺(tái)加速應(yīng)用創(chuàng)新
一年前,我們正式推出了一款端到端數(shù)據(jù)平臺(tái),旨在幫助組織推動(dòng)人工智能轉(zhuǎn)型,并重新定義數(shù)據(jù)的連接、管理和分析方式。
Azure
微軟云
云服務(wù)
2024-12-09
優(yōu)質(zhì)服務(wù)商推薦
更多
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家