在存儲方面雇初,k8s 提供“卷”來存儲數(shù)據(jù),卷的種類很多翰铡,我們在部署中使用 NFS (網(wǎng)絡(luò)文件系統(tǒng))卷來作為服務(wù)的網(wǎng)絡(luò)存儲卷
1. Linux 上將目錄設(shè)置為 NFS 共享卷
假設(shè) CentOS 已經(jīng)安裝好了 nfs server,編輯 /etc/exports
,寫入
/ifs/kubernetes *(rw,no_root_squash)
重新啟動(dòng) nfs server
systemctl restart nfs-server
之后承冰,centOS 就將目錄 /ifs/kubernetes
共享為 nfs 目錄了
2. 在 k8s 中,將 nfs 卷掛載到 pod 中
以 nginx 的web 目錄為例
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-nfs
spec:
selector:
matchLabels:
app: nginx-nfs
replicas: 3
template:
metadata:
labels:
app: nginx-nfs
spec:
containers:
- name: nginx-nfs
image: nginx
volumeMounts:
- name: wwwroot # 容器掛載卷名
mountPath: /usr/share/nginx/html # 掛載到容器里的目錄
ports:
- containerPort: 80
volumes:
- name: wwwroot # 卷名
nfs: # 使用 nfs 協(xié)議
server: 10.100.24.85 # 提供 nfs 服務(wù)的服務(wù)器地址
path: /ifs/kubernetes # nfs 上共享的目錄