在CentOS上配置Kubernetes的存储可以通过多种方式实现,以下是使用NFS和Ceph的两种常见方法:
sudo yum install -y nfs-utils
sudo mkdir -p /mnt/nfssudo groupadd nogroupsudo chown -R nobody:nogroup /mnt/nfs
/etc/exports
文件,添加共享目录:/mnt/nfs *(rw,sync,no_subtree_check)
sudo systemctl start nfs-serversudo systemctl enable nfs-server
sudo exportfs -a
sudo firewall-cmd --permanent --add-service=nfssudo firewall-cmd --permanent --add-service=mountdsudo firewall-cmd --permanent --add-service=rpc-bindsudo firewall-cmd --reload
sudo systemctl status nfs-server
sudo yum install -y nfs-utils
sudo mount 192.168.56.115:/mnt/nfs /mnt/nfs-client
/etc/fstab
文件中:192.168.56.115:/mnt/nfs /mnt/nfs-client nfs defaults 0 0
sudo chmod 777 /mnt/nfs
创建PersistentVolume (PV):
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-pv
spec:
capacity:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
nfs:
path: /mnt/nfs
server: 192.168.56.115
创建PersistentVolumeClaim (PVC):
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
kubectl
helm
helm repo add rook-release https://charts.rook.io/release
helm repo update
kubectl create namespace rook-ceph
helm install rook-ceph rook-release/rook-ceph --namespace rook-ceph
kubectl get pods -n rook-ceph
kubectl apply -f - <<EOF
apiVersion: ceph.rook.io/v1
kind: CephCluster
metadata:
name: rook-ceph
namespace: rook-ceph
spec:
cephVersion: image: ceph/ceph:v16.2.6
allowUnsupported: false
dataDirHostPath: /var/lib/rook
useAllNodes: true
useAllDevices: false
devices:
- name: /dev/sdb
network: hostNetwork: false
EOF
kubectl -n rook-ceph get cephcluster
kubectl apply -f - <<EOF
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: rook-ceph-block
provisioner: rook-ceph.rbd.csi.ceph.com
parameters:
clusterID: rook-ceph
pool: replicapool
imageFormat: "2"
imageFeatures: layering
csi.storage.k8s.io/provisioner-secret-name: rook-csi-rbd-provisioner
csi.storage.k8s.io/provisioner-secret-namespace: rook-ceph
csi.storage.k8s.io/node-stage-secret-name: rook-csi-rbd-n
EOF
以上步骤涵盖了在CentOS上配置Kubernetes存储的基本流程,具体操作时请根据实际情况进行调整。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: MongoDB配置中的安全选项有哪些