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

不会代码 怎么做网站做网站图片不够大

不会代码 怎么做网站,做网站图片不够大,网站开发方向c语言,深圳建设监理协会网站一、Volumes 1、HostPath 【使用场景#xff1a;容器目录 挂载到 主机目录】 【可以持久化到主机上】 将节点上的文件或目录挂载到 Pod 上#xff0c;此时该目录会变成持久化存储目录#xff0c;即使 Pod 被删除后重启#xff0c;也可以重新加载到该目录#xff0c;该目…一、Volumes 1、HostPath 【使用场景容器目录 挂载到 主机目录】 【可以持久化到主机上】 将节点上的文件或目录挂载到 Pod 上此时该目录会变成持久化存储目录即使 Pod 被删除后重启也可以重新加载到该目录该目录下的文件不会丢失 配置文件 apiVersion: v1 kind: Pod metadata:name: test-pd spec:containers:- image: nginxname: nginx-volumevolumeMounts: # 挂载数据卷- mountPath: /test-pd # 挂载到容器的哪个目录name: test-volume # 挂载哪个 volumevolumes: # 定义数据卷- name: test-volume # 数据卷名称hostPath: # 与主机共享目录加载主机中的指定目录到容器中path: /data # 节点中的目录type: DirectoryOrCreate # 检查类型在挂载前对挂载目录做什么检查操作有多种选项默认为空字符串不做任何检查 #最终效果容器的/test-pd目录 挂载到 主机的/data目录type类型 空字符串默认类型不做任何检查 DirectoryOrCreate如果给定的 path 不存在就创建一个 755 的空目录 Directory这个目录必须存在 FileOrCreate如果给定的文件不存在则创建一个空文件权限为 644 File这个文件必须存在 SocketUNIX 套接字必须存在 CharDevice字符设备必须存在 BlockDevice块设备必须存在 2、EmptyDir 【使用场景pod中多个容器需要共享目录多个容器目录 挂载到 pod目录】 【不可以持久化pod删除数据就丢失了】 EmptyDir 主要用于一个 Pod 中不同的 Container 共享数据使用的由于只是在 Pod 内部使用因此与其他 volume 比较大的区别是当 Pod 如果被删除了那么 emptyDir 也会被删除。 存储介质可以是任意类型如 SSD、磁盘或网络存储。可以将 emptyDir.medium 设置为 Memory 让 k8s 使用 tmpfs内存支持文件系统速度比较快但是重启 tmpfs 节点时数据会被清除且设置的大小会计入到 Container 的内存限制中。 配置文件 apiVersion: v1 kind: Pod metadata:name: test-pd spec:containers:- image: nginxname: nginx-emptydirvolumeMounts:- mountPath: /cachename: cache-volumevolumes:- name: cache-volumeemptyDir: {}二、NFS 挂载 【使用场景共享目录持久化数据】 nfs 卷能将 NFS (网络文件系统) 挂载到你的 Pod 中。 不像 emptyDir 那样会在删除 Pod 的同时也会被删除nfs 卷的内容在删除 Pod 时会被保存卷只是被卸载。 这意味着 nfs 卷可以被预先填充数据并且这些数据可以在 Pod 之间共享。 1安装 nfs # 安装 nfs yum install nfs-utils -y# 启动 nfs systemctl start nfs-server# 查看 nfs 版本 cat /proc/fs/nfsd/versions# 创建共享目录 mkdir -p /data/nfs cd /data/nfs mkdir rw mkdir ro# 设置共享目录 export vi /etc/exports /data/nfs/rw 192.168.100.0/24(rw,sync,no_subtree_check,no_root_squash) /data/nfs/ro 192.168.100.0/24(ro,sync,no_subtree_check,no_root_squash)# 重新加载 exportfs -f systemctl reload nfs-server# 到其他测试节点安装 nfs-utils 并加载测试 mkdir -p /mnt/nfs/rw mount -t nfs 192.168.100.101:/data/nfs/rw /mnt/nfs/rw配置文件: apiVersion: v1 kind: Pod metadata:name: ngs-test-pd1 spec:containers:- image: arm64v8/nginxname: test-containervolumeMounts:- mountPath: /my-nfs-dataname: test-volumevolumes:- name: test-volumenfs:server: 192.168.100.101 # 网络存储服务地址 path: /data/nfs/rw/www/wolfcode # 网络存储路径 readOnly: false # 是否只读三、PV 与 PVC 1、 生命周期 1构建 静态构建 集群管理员创建若干 PV 卷。这些卷对象带有真实存储的细节信息 并且对集群用户可用可见。PV 卷对象存在于 Kubernetes API 中可供用户消费使用。 动态构建 如果集群中已经有的 PV 无法满足 PVC 的需求那么集群会根据 PVC 自动构建一个 PV该操作是通过 StorageClass 实现的。 想要实现这个操作前提是 PVC 必须设置 StorageClass否则会无法动态构建该 PV可以通过启用 DefaultStorageClass 来实现 PV 的构建。 2绑定 当用户创建一个 PVC 对象后主节点会监测新的 PVC 对象并且寻找与之匹配的 PV 卷找到 PV 卷后将二者绑定在一起。 如果找不到对应的 PV则需要看 PVC 是否设置 StorageClass 来决定是否动态创建 PV若没有配置PVC 就会一致处于未绑定状态直到有与之匹配的 PV 后才会申领绑定关系。 3使用 Pod 将 PVC 当作存储卷来使用集群会通过 PVC 找到绑定的 PV并为 Pod 挂载该卷。 Pod 一旦使用 PVC 绑定 PV 后为了保护数据避免数据丢失问题PV 对象会受到保护在系统中无法被删除。 4回收策略 保留Retain 回收策略 Retain 使得用户可以手动回收资源。当 PersistentVolumeClaim 对象被删除时PersistentVolume 卷仍然存在对应的数据卷被视为已释放released。 由于卷上仍然存在这前一申领人的数据该卷还不能用于其他申领。 管理员可以通过下面的步骤来手动回收该卷 删除 PersistentVolume 对象。与之相关的、位于外部基础设施中的存储资产 例如 AWS EBS、GCE PD、Azure Disk 或 Cinder 卷在 PV 删除之后仍然存在。根据情况手动清除所关联的存储资产上的数据。手动删除所关联的存储资产。如果你希望重用该存储资产可以基于存储资产的定义创建新的 PersistentVolume 卷对象。 删除Delete: 对于支持 Delete 回收策略的卷插件删除动作会将 PersistentVolume 对象从 Kubernetes 中移除同时也会从外部基础设施如 AWS EBS、GCE PD、Azure Disk 或 Cinder 卷中移除所关联的存储资产。 动态制备的卷会继承其 StorageClass 中设置的回收策略 该策略默认为 Delete。管理员需要根据用户的期望来配置 StorageClass 否则 PV 卷被创建之后必须要被编辑或者修补。 回收Recycle: 警告 回收策略 Recycle 已被废弃。取而代之的建议方案是使用动态制备。 如果下层的卷插件支持回收策略 Recycle 会在卷上执行一些基本的擦除 rm -rf /thevolume/*操作之后允许该卷用于新的 PVC 申领。 2、 PV 配置文件: apiVersion: v1 kind: PersistentVolume metadata:name: pv0001 spec:capacity:storage: 5Gi # pv 的容量volumeMode: Filesystem # 存储类型为文件系统accessModes: # 访问模式ReadWriteOnce、ReadWriteMany、ReadOnlyMany- ReadWriteOnce # 可被单节点独写persistentVolumeReclaimPolicy: Recycle # 回收策略storageClassName: slow # 创建 PV 的存储类名需要与 pvc 的相同mountOptions: # 加载配置- hard- nfsvers4.1nfs: # 连接到 nfspath: /data/nfs/rw/test-pv # 存储路径server: 192.168.100.101 # nfs 服务地址STATUS: Available空闲未被绑定 Bound已经被 PVC 绑定 ReleasedPVC 被删除资源已回收但是 PV 未被重新使用 Failed自动回收失败 3、 PVC PVC配置文件 apiVersion: v1 kind: PersistentVolumeClaim metadata:name: nfs-pvc spec:accessModes:- ReadWriteOnce # 权限需要与对应的 pv 相同volumeMode: Filesystemresources:requests:storage: 5Gi # 资源可以小于 pv 的但是不能大于如果大于就会匹配不到 pvstorageClassName: slow # 名字需要与对应的 pv 相同 # selector: # 使用选择器精确选择对应的 pv # matchLabels: # release: stable # matchExpressions: # - {key: environment, operator: In, values: [dev]}Pod 绑定 PVC # 在 pod 的挂载容器配置中增加 pvc 挂载 containers:......volumeMounts:- mountPath: /tmp/pvc # 挂载到容器的目标目录name: nfs-pvc-test # 挂载到哪个存储卷 volumes:- name: nfs-pvc-test # 存储卷名称persistentVolumeClaim: # 关联pvcclaimName: nfs-pvc # pvc的名称4、 StorageClass 制备器Provisioner 每个 StorageClass 都有一个制备器Provisioner用来决定使用哪个卷插件制备 PV。 NFS 动态制备案例 Kubernetes集群中NFS类型的存储没有内置 Provisioner。但是你可以在集群中为NFS手动配置外部Provisioner。 1Provisioner制备器配置(NFS类型) nfs-provisioner-deploment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nfs-client-provisionernamespace: kube-systemlabels:app: nfs-client-provisioner spec:replicas: 1strategy:type: Recreateselector:matchLabels:app: nfs-client-provisionertemplate:metadata:labels:app: nfs-client-provisionerspec:serviceAccountName: nfs-client-provisionercontainers:- name: nfs-client-provisioner# 官方不支持SelfLink了导致一直Pending#image: quay.io/external_storage/nfs-client-provisioner:latest# 用这个国内镜像image: registry.cn-beijing.aliyuncs.com/pylixm/nfs-subdir-external-provisioner:v4.0.0imagePullPolicy: IfNotPresentvolumeMounts:- name: nfs-client-rootmountPath: /persistentvolumesenv:- name: PROVISIONER_NAMEvalue: fuseim.pri/ifs- name: NFS_SERVERvalue: 192.168.100.101- name: NFS_PATHvalue: /data/nfs/rwvolumes:- name: nfs-client-rootnfs:server: 192.168.100.101path: /data/nfs/rw2StorageClass 存储类配置 nfs-storage-class.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata:name: managed-nfs-storagenamespace: kube-system provisioner: fuseim.pri/ifs # 外部制备器提供者编写为提供者的名称 parameters:archiveOnDelete: false # 是否存档false 表示不存档会删除 oldPath 下面的数据true 表示存档会重命名路径 reclaimPolicy: Retain # 回收策略默认为 Delete 可以配置为 Retain volumeBindingMode: Immediate # 默认为 Immediate表示创建 PVC 立即进行绑定只有 azuredisk 和 AWSelasticblockstore 支持其他值3RBAC 配置 nfs-provisioner-rbac.yaml apiVersion: v1 kind: ServiceAccount metadata:name: nfs-client-provisionernamespace: kube-system --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata:name: nfs-client-provisioner-runnernamespace: kube-system rules:- apiGroups: []resources: [persistentvolumes]verbs: [get, list, watch, create, delete]- apiGroups: []resources: [persistentvolumeclaims]verbs: [get, list, watch, update]- apiGroups: [storage.k8s.io]resources: [storageclasses]verbs: [get, list, watch]- apiGroups: []resources: [events]verbs: [create, update, patch] --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata:name: run-nfs-client-provisionernamespace: kube-system subjects:- kind: ServiceAccountname: nfs-client-provisionernamespace: default roleRef:kind: ClusterRolename: nfs-client-provisioner-runnerapiGroup: rbac.authorization.k8s.io --- kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata:name: leader-locking-nfs-client-provisionernamespace: kube-system rules:- apiGroups: []resources: [endpoints]verbs: [get, list, watch, create, update, patch] --- kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata:name: leader-locking-nfs-client-provisionernamespace: kube-system subjects:- kind: ServiceAccountname: nfs-client-provisioner roleRef:kind: Rolename: leader-locking-nfs-client-provisionerapiGroup: rbac.authorization.k8s.io4使用 pvc模板, 创建应用测试动态添加PV --- apiVersion: v1 kind: Service metadata:name: nginx-sclabels:app: nginx-sc spec:type: NodePortports:- name: webport: 80protocol: TCPselector:app: nginx-sc --- apiVersion: apps/v1 kind: StatefulSet metadata:name: nginx-sc spec:replicas: 1serviceName: nginx-scselector:matchLabels:app: nginx-sctemplate:metadata:labels:app: nginx-scspec:containers:- image: arm64v8/nginxname: nginx-scimagePullPolicy: IfNotPresentvolumeMounts:- mountPath: /usr/share/nginx/html # 挂载到容器到哪个目录name: nginx-sc-test-pvc # 挂载哪个volumevolumeClaimTemplates: # PVC模板帮你创建出pvc和pv- metadata:name: nginx-sc-test-pvcspec:storageClassName: managed-nfs-storage # sc存储类名字accessModes:- ReadWriteManyresources:requests:storage: 1Gi # 声明至少需要1G资源问题PVC 处于 Pending 状态 原因在 k8s 1.20 之后出于对性能和统一 apiserver 调用方式的初衷移除了对 SelfLink 的支持而默认上面指定的 provisioner 版本需要 SelfLink 功能因此 PVC 无法进行自动制备。 解决方案 1配置 SelfLink修改 apiserver 配置文件 vim /etc/kubernetes/manifests/kube-apiserver.yamlspec:containers:- command:- kube-apiserver- --feature-gatesRemoveSelfLinkfalse # 新增该行......修改后重新应用该配置 kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml2不需要 SelfLink 的 provisioner 【推荐】 将 provisioner 修改为如下镜像之一即可 官方镜像gcr.io/k8s-staging-sig-storage/nfs-subdir-external-provisioner:v4.0.0 国内镜像registry.cn-beijing.aliyuncs.com/pylixm/nfs-subdir-external-provisioner:v4.0.0Kubernetes 动态分配存储卷之 NFS-Subdir-External-Provisioner PVC 测试配置 apiVersion: v1 kind: PersistentVolumeClaim metadata:name: auto-pv-test-pvc spec:accessModes:- ReadWriteOnceresources:requests:storage: 300MistorageClassName: managed-nfs-storage
http://www.w-s-a.com/news/688208/

相关文章:

  • 如何用dw做网站设计设计头条
  • 网站建设基础及流程北京商场购物中心排名
  • 青州市城乡建设局网站自建网站步骤
  • wordpress文章延迟加载优化设计答案四年级上册语文
  • 做网站源码要给客户嘛怎么在运行打开wordpress
  • 北海住房和城乡建设局网站wordpress标题去掉私密
  • 织梦网站安装视频做网站都有那些步骤
  • 网站空间大小选择沈阳微信网站制作
  • 网站分享对联广告网站结构的类型
  • 三维家是在网站上做还是在app上北京网站建设 专业10年
  • 模拟网站建设网站建设认准猪八戒网
  • godaddy网站建设教程微信手机网站搭建
  • 网站建设 商城淄博网站制作哪家好
  • 廊坊手机网站团队国际贸易进口代理公司
  • 运用django做网站网站建设问题及解决办法
  • 商丘企业网站服务c mvc 网站开发
  • 太仓建设工程网站广州seo排名外包
  • 成都的教育品牌网站建设做网站不给提供ftp
  • 建站行业市场人力管理系统
  • qq钓鱼网站在线生成器google关键词搜索工具
  • 化妆网站模板移动网站建设模板
  • 欢迎访问语文建设杂志网站网站蓝色配色
  • 最新网站发布重庆城乡建设部网站首页
  • 网站建设费用高鄂尔多斯seo
  • dw做网站怎么发布网站无后台可以上框架
  • 网络公司如何建网站网站的建设需要多少钱
  • 代刷网站推广快速泉州网页定制
  • 网站优秀网站地址做宣传册的公司
  • 苏州高端网站建设咨询wordpress云图插件
  • 河北省建设厅网站重新安装优秀中文网页设计