使用NAS動態儲存卷建立有狀態應用
介紹:
目前動態生成NAS儲存卷的實現:在一個已有檔案系統上,自動生成子檔案系統(子目錄),並生成目標儲存卷(PV);
生成的PV名字為:pvc-${pv-uid}
映象介紹:
registry.cn-hangzhou.aliyuncs.com/acs/alicloud-nas-controller:v3.1.0-k8s1.11
部署:
部署前要先建立一個NAS檔案系統,並新增掛載點。注意:掛載點需要和叢集處於同一個VPC內部。
部署模板中,建立Storageclass的時候可以定義reclaimPolicy型別,可以為Retain或者Delete;
根據自己NAS掛載點修改NFS_SERVER、server的值;
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: alicloud-nas
mountOptions:
- vers=4.0
provisioner: alicloud/nas
reclaimPolicy: Retain
---
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: alicloud-nas-controller
namespace: kube-system
spec:
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
app: alicloud-nas-controller
spec:
tolerations:
- effect: NoSchedule
operator: Exists
key: node-role.kubernetes.io/master
- effect: NoSchedule
operator: Exists
key: node.cloudprovider.kubernetes.io/uninitialized
nodeSelector:
node-role.kubernetes.io/master: ""
serviceAccount: admin
containers:
- name: alicloud-nas-controller
image: registry.cn-hangzhou.aliyuncs.com/acs/alicloud-nas-controller:v3.1.0-k8s1.11
volumeMounts:
- mountPath: /persistentvolumes
name: nfs-client-root
env:
- name: PROVISIONER_NAME
value: alicloud/nas
- name: NFS_SERVER
value: 0cd8b4a576-mmi32.cn-hangzhou.nas.aliyuncs.com
- name: NFS_PATH
value: /
volumes:
- name: nfs-client-root
nfs:
server: 0cd8b4a576-mmi32.cn-hangzhou.nas.aliyuncs.com
path: /
測試:
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: web
spec:
serviceName: "nginx"
replicas: 2
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:alpine
volumeMounts:
- mountPath: "/data"
name: html
volumeClaimTemplates:
- metadata:
name: html
spec:
accessModes:
- ReadWriteOnce
storageClassName: alicloud-nas
resources:
requests:
storage: 2Gi
# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-945ca15d-e0ab-11e8-9d2f-00163e145c08 2Gi RWO Retain Bound default/html-web-0 alicloud-nas-retain 13m
pvc-9a162bb2-e0ab-11e8-9d2f-00163e145c08 2Gi RWO Retain Bound default/html-web-1 alicloud-nas-retain 13m
相關文章
- 19c pdb如何儲存啟動狀態
- canvas 儲存與還原狀態Canvas
- Amazon EKS 上有狀態服務啟用儲存加密加密
- Win10 20H1新增功能,登出時可以自動儲存應用狀態Win10
- Azure Terraform(四)狀態檔案儲存ORM
- 使用 Provider 管理 Flutter 應用狀態 (下)IDEFlutter
- 使用 Provider 管理 Flutter 應用狀態 (上)IDEFlutter
- PL/SQL中動態掉用儲存過程SQL儲存過程
- OpenHarmony頁面級UI狀態儲存:LocalStorageUI
- iOS UI狀態儲存和恢復(三)iOSUI
- 動態表單儲存設計
- 利用Dectorator分模組儲存Vuex狀態(上)Vue
- 利用Dectorator分模組儲存Vuex狀態(下)Vue
- Android Activity 重建之狀態儲存與恢復Android
- 分散式儲存Ceph之PG狀態詳解分散式
- MySQL儲存過程裡動態SQL的使用UXMySql儲存過程UX
- iNeuOS工業網際網路作業系統,釋出實時儲存方式:實時儲存、變化儲存、定時儲存,增加裝置振動狀態和電能狀態監測驅動,v3.6.2作業系統
- 儲存過程vs.動態SQL:如何選用?PV儲存過程SQL
- 海量資料儲存之動態SchemaOU
- SmartX 釋出 K8s 雲原生儲存 IOMesh,加速有狀態應用容器化程式K8S
- 探索FSM (有限狀態機)應用
- 使用 useState 管理響應式狀態
- k8s使用glusterfs實現動態持久化儲存K8S持久化
- k8s使用ceph實現動態持久化儲存K8S持久化
- k8s動態儲存篇--NFSK8SNFS
- 「譯」有限狀態機在 CSS 動畫中的應用CSS動畫
- 固態硬碟儲存原理硬碟
- 使用jstack檢測Java應用的死鎖(deadlock)狀態JSJava
- SAP BSP應用有狀態和無狀態行為差異比較
- Java應用異常狀態監測Java
- ASP.NET Core 應用程式狀態ASP.NET
- Kubernetes 實戰——有狀態應用(StatefulSet)
- 物件和函式的區別就是物件可以儲存狀態物件函式
- NAS儲存人人影視安裝使用教程
- [譯] 使用原生 JavaScript 構建狀態管理系統JavaScript
- [譯] Flutter 中的原生應用程式狀態Flutter
- SqlServer儲存過程應用二:分頁查詢資料並動態拼接where條件SQLServer儲存過程
- React-Keeper 前端路由快取 儲存狀態(大部分轉)React前端路由快取