centos

centos k8s部署怎样实现持久化存储

小樊
34
2025-04-25 02:18:33
栏目: 云计算

在CentOS上部署Kubernetes(k8s)并实现持久化存储,可以按照以下步骤进行:

1. 安装Kubernetes集群

首先,你需要在CentOS上安装Kubernetes集群。可以使用kubeadm工具来简化这个过程。

安装kubeadm, kubelet和kubectl

sudo yum install -y kubeadm kubelet kubectl --disable-gpg-check
sudo systemctl enable kubelet
sudo systemctl start kubelet

初始化Kubernetes集群

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

按照提示完成初始化过程,包括设置kubectl配置文件和加入工作节点。

2. 安装网络插件

为了使Pod之间能够通信,需要安装一个网络插件。常用的网络插件有Calico、Flannel等。

安装Calico

kubectl apply -f https://docs.projectcalico.org/v3.25/manifests/calico.yaml

3. 创建PersistentVolume和PersistentVolumeClaim

持久化存储需要使用PersistentVolume(PV)和PersistentVolumeClaim(PVC)。

创建PersistentVolume

apiVersion: v1
kind: PersistentVolume
metadata:
  name: my-pv
spec:
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: /mnt/data

保存为my-pv.yaml,然后应用:

kubectl apply -f my-pv.yaml

创建PersistentVolumeClaim

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

保存为my-pvc.yaml,然后应用:

kubectl apply -f my-pvc.yaml

4. 在Pod中使用PersistentVolumeClaim

创建一个Pod,并在其中使用PVC。

创建Pod定义文件

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: my-container
    image: nginx
    volumeMounts:
    - mountPath: "/usr/share/nginx/html"
      name: my-volume
  volumes:
  - name: my-volume
    persistentVolumeClaim:
      claimName: my-pvc

保存为my-pod.yaml,然后应用:

kubectl apply -f my-pod.yaml

5. 验证持久化存储

验证Pod是否正确挂载了PersistentVolume。

kubectl get pods
kubectl exec -it my-pod -- ls /usr/share/nginx/html

6. 清理资源

如果你不再需要这些资源,可以删除它们。

kubectl delete pod my-pod
kubectl delete pvc my-pvc
kubectl delete pv my-pv

通过以上步骤,你可以在CentOS上部署Kubernetes集群并实现持久化存储。根据实际需求,你可以调整PV和PVC的配置,例如使用不同的存储类(StorageClass)来支持动态存储分配。

0
看了该问题的人还看了