在CentOS上配置Kubernetes的存储可以通过多种方式实现,以下是使用NFS和Ceph的两种常见方法:
使用NFS配置Kubernetes存储
- 在CentOS上安装NFS服务器:
- 安装NFS服务器软件包:
sudo yum install -y nfs-utils
- 配置NFS共享目录:
sudo mkdir -p /mnt/nfssudo groupadd nogroupsudo chown -R nobody:nogroup /mnt/nfs
- 配置NFS导出文件:
编辑
/etc/exports
文件,添加共享目录:/mnt/nfs *(rw,sync,no_subtree_check)
- 启动并启用NFS服务:
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
- 检查NFS状态:
sudo systemctl status nfs-server
- 在CentOS上安装NFS客户端:
- 安装NFS客户端软件包:
sudo yum install -y nfs-utils
- 挂载NFS共享:
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
- 在Kubernetes中使用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
使用Ceph配置Kubernetes存储
- 准备工作:
- 确保Kubernetes集群版本为1.22+,至少3个节点。
- Ceph存储节点:每个节点至少4GB内存和20GB存储。
- 操作系统:CentOS 7+。
- 安装必要工具:
kubectl helm
- 部署Ceph Operator:
- 添加Rook的Helm仓库:
helm repo add rook-release https://charts.rook.io/release helm repo update
- 部署Ceph Operator:
kubectl create namespace rook-ceph helm install rook-ceph rook-release/rook-ceph --namespace rook-ceph
- 验证Operator状态:
kubectl get pods -n rook-ceph
- 配置Ceph集群:
- 创建存储节点配置:
kubectl apply -f - <
- 验证Ceph集群状态:
kubectl -n rook-ceph get cephcluster
- 创建存储类:
- 配置RBD存储类:
kubectl apply -f - <
以上步骤涵盖了在CentOS上配置Kubernetes存储的基本流程,具体操作时请根据实际情况进行调整。