当前位置: 首页 > wzjs >正文

凡科网站怎么做网站创建软件

凡科网站怎么做,网站创建软件,小程序编程,wordpress如何登录一、Kubernetes 存储类(StorageClass)详解 1. 什么是 StorageClass? 在 Kubernetes 中,StorageClass(存储类)是一种用于动态创建 PersistentVolume(PV)的资源对象。它允许管理员根…

一、Kubernetes 存储类(StorageClass)详解

1. 什么是 StorageClass?

在 Kubernetes 中,StorageClass(存储类)是一种用于动态创建 PersistentVolume(PV)的资源对象。它允许管理员根据不同的存储需求创建不同的存储策略,用户只需要声明 PersistentVolumeClaim(PVC)并指定 StorageClass,Kubernetes 就能自动分配相应的存储。

2. 为什么需要 StorageClass?

在没有 StorageClass 的情况下,管理员需要手动创建 PersistentVolume,并与 PersistentVolumeClaim 进行匹配。这种方式适用于静态存储,但在大规模集群或云环境下,动态创建存储更加灵活。因此,StorageClass 解决了以下问题:

  • 自动化存储分配:无需手动创建 PV,而是由 Kubernetes 负责创建和管理。

  • 支持不同的存储后端:适用于 AWS EBS、Google Persistent Disk、Azure Disk、NFS、Ceph 等多种存储方案。

  • 提供不同的存储策略:支持不同的存储性能(高 IOPS、低延迟)、快照、备份等需求。

3. StorageClass 的关键字段

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: fast-storage
provisioner: kubernetes.io/aws-ebs
parameters:type: gp2
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true
主要字段解析:
  • provisioner:指定存储供应商,例如 AWS EBS(kubernetes.io/aws-ebs)、Google Cloud Persistent Disk(kubernetes.io/gce-pd)等。

  • parameters:存储类的参数,例如磁盘类型、性能级别等。

  • reclaimPolicy(回收策略):定义存储释放后的行为。

    • Delete(删除):删除 PV 和底层存储。

    • Retain(保留):数据仍然保留,需要手动清理。

    • Recycle(回收):(已废弃)清理数据后重新使用。

  • volumeBindingMode(卷绑定模式):

    • Immediate(立即绑定):PVC 创建时立即绑定。

    • WaitForFirstConsumer(等待首个消费者):只有 Pod 使用 PVC 时才会绑定 PV,适用于多可用区调度。

  • allowVolumeExpansion(允许扩容):是否允许存储动态扩展。

4. 常见存储供应商

存储后端Provisioner适用场景
AWS EBSkubernetes.io/aws-ebsAWS 云环境,块存储
GCE PDkubernetes.io/gce-pdGCP 云存储
Azure Diskkubernetes.io/azure-diskAzure 云存储
NFSkubernetes.io/nfs共享存储
Cephceph.com/rbd分布式存储

5. PVC 使用 StorageClass 示例

创建 PVC 时使用 StorageClass
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: example-pvc
spec:accessModes:- ReadWriteOnceresources:requests:storage: 10GistorageClassName: fast-storage
Pod 挂载 PVC 示例
apiVersion: v1
kind: Pod
metadata:name: example-pod
spec:containers:- name: app-containerimage: nginxvolumeMounts:- mountPath: "/usr/share/nginx/html"name: storagevolumes:- name: storagepersistentVolumeClaim:claimName: example-pvc

6. StorageClass 的应用场景

  1. 自动化存储管理:减少手动创建 PV 的复杂性,适用于云环境。

  2. 多种存储策略:支持不同的存储性能需求,如 SSD、高吞吐磁盘等。

  3. 多可用区支持:结合 WaitForFirstConsumer 模式,提高存储调度灵活性。

  4. 动态扩展存储:支持 PVC 扩容,提高存储弹性。

7. 总结

  • StorageClass 允许 Kubernetes 动态创建 PV,简化存储管理。

  • 适用于云存储、分布式存储和本地存储等多种场景。

  • 通过 reclaimPolicyvolumeBindingModeallowVolumeExpansion 提供灵活的存储策略。

  • 在 CI/CD、数据库存储、日志存储等场景下广泛应用。

二、在 Kubernetes 中使用 NFS 作为存储类(StorageClass)

1. 部署 NFS 服务器与客户端

在 Kubernetes 集群的某个节点上安装 NFS 服务器。(但是在每个节点都要安装NFS客户端)

安装 NFS 服务器(以 Ubuntu 为例)
sudo apt update && sudo apt install -y nfs-kernel-server
sudo mkdir -p /mnt/nfs-share
sudo chmod 777 /mnt/nfs-share
sudo echo "/mnt/nfs-share *(rw,sync,no_root_squash,no_subtree_check)" | sudo tee -a /etc/exports
sudo exportfs -rav
sudo systemctl restart nfs-kernel-server

安装 NFS 客户端

sudo apt update && sudo apt install -y nfs-common

2. 创建 NFS StorageClass

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: nfs-storage
provisioner: nfs-provisioner
parameters:archiveOnDelete: "false"

3. 部署 NFS Provisioner(Dynamic Provisioning)

apiVersion: apps/v1
kind: Deployment
metadata:name: nfs-provisioner
spec:replicas: 1selector:matchLabels:app: nfs-provisionertemplate:metadata:labels:app: nfs-provisionerspec:containers:- name: nfs-provisionerimage: quay.io/external_storage/nfs-client-provisioner:latestvolumeMounts:- mountPath: /persistentvolumesname: nfs-volumeenv:- name: NFS_SERVERvalue: "<NFS服务器IP>"- name: NFS_PATHvalue: "/mnt/nfs-share"volumes:- name: nfs-volumenfs:server: "<NFS服务器IP>"path: "/mnt/nfs-share"

4. 创建 PersistentVolumeClaim (PVC)

apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: nfs-pvc
spec:accessModes:- ReadWriteManyresources:requests:storage: 5GistorageClassName: nfs-storage

5. 在 Pod 中挂载 PVC

apiVersion: v1
kind: Pod
metadata:name: nfs-pod
spec:containers:- name: app-containerimage: nginxvolumeMounts:- mountPath: "/usr/share/nginx/html"name: nfs-storagevolumes:- name: nfs-storagepersistentVolumeClaim:claimName: nfs-pvc

6. 验证 NFS 挂载是否成功

kubectl apply -f nfs-storageclass.yaml
kubectl apply -f nfs-provisioner.yaml
kubectl apply -f nfs-pvc.yaml
kubectl apply -f nfs-pod.yaml
kubectl get pods
kubectl exec -it nfs-pod -- df -h

如果成功,Pod 内 /usr/share/nginx/html 目录将会挂载到 NFS 服务器的 /mnt/nfs-share,多个 Pod 可以共享此存储。


文章转载自:

http://UkI6Qhk3.prgnp.cn
http://S78vVKLP.prgnp.cn
http://w0wcQXc7.prgnp.cn
http://BlEIMUQK.prgnp.cn
http://ftUwp6Z5.prgnp.cn
http://HT9m6D3c.prgnp.cn
http://z6zLfPZF.prgnp.cn
http://iw9zjCtb.prgnp.cn
http://M0AkBJo2.prgnp.cn
http://9hynV8Gx.prgnp.cn
http://oe87ZCgZ.prgnp.cn
http://MCCUN0xO.prgnp.cn
http://pQI5tqu7.prgnp.cn
http://WMbBU36y.prgnp.cn
http://RaBVyGZf.prgnp.cn
http://CHQmiyLv.prgnp.cn
http://xV7lYzcP.prgnp.cn
http://h3Jgm9kd.prgnp.cn
http://wMB9kk6M.prgnp.cn
http://1Fcjavfy.prgnp.cn
http://2CcXGch6.prgnp.cn
http://E1mv7dRB.prgnp.cn
http://mbtCdyEY.prgnp.cn
http://FDD6VmaZ.prgnp.cn
http://hK8sOW0Q.prgnp.cn
http://jcAKucV9.prgnp.cn
http://we5t55it.prgnp.cn
http://T2UuajXF.prgnp.cn
http://DGpV3X2n.prgnp.cn
http://uVrQzZqM.prgnp.cn
http://www.dtcms.com/wzjs/660712.html

相关文章:

  • 怎么用php做网站后台程序辽宁响应式网站建设推荐
  • 四川省工程项目建设投标发布网站莱芜上汽大众4s店
  • 基于oa系统的网站建设青岛seo代理计费
  • 怎么登录已注册的网站支付宝签约网站
  • 帮一个公司做网站多少钱wordpress nana
  • 商业机构的网站是什么文山知名网站建设哪家好
  • 做软件的网站建设深圳平价的专业建站公司
  • 看视频做那个网站好网络服务提供者知道或应当知道
  • 门户网站 方案网站前台模块包括什么软件
  • 昆山做网站微信网站模版下载
  • 给人做网站的wordpress主题安装完后前台打不开
  • 甘肃企业网站建设网页开发报价单
  • 东莞网站设计师重庆速代网络科技
  • python做网站的实例wordpress添加边栏
  • 吴忠网站建设公司鄂尔多斯网站推广
  • 四川鸿业建设集团网站快速排名工具免费查询
  • 网站开发 毕业答辩ppt平台搭建步骤
  • 手机网站建设广州唐山seo优化
  • 网站做sem优化杭州网站设计的公司
  • 好的电商网站建设与维护意味着什么官方网站建设公司排名
  • 电脑版浏览器在线使用长春网站seo外包
  • 旅游网站开发设计毕设论文杨永生的设计风格
  • 网站建设着wordpress注册表单插件
  • 网站title标点改动 影响海外网站备案
  • 制作企业网站是怎么收费的登录注册页面模板
  • 网站建设费用预算明细知名网站建设是哪家便宜
  • wordpress增加搜索框长沙seo推广营销
  • 哪个网站有激光打标业务做wordpress md
  • 门户网站开发技术北京大兴网站建设公司咨询
  • asp网站会员管理模板手机网站移动应用