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

有没有专业做网站的建设网站怎么输入分子式

有没有专业做网站的,建设网站怎么输入分子式,纸牌网站建设,网站seo在哪里设置一、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.hkea.cn/news/14482387/

相关文章:

  • 安顺市哪里可以做网站网站设计方案模板
  • 做前端网站用什么软件写代码吗开发手机网站多少钱
  • 后期网站建设及维护推广宿迁网站推广公司
  • 去类似美团网站做软件开发seo最好的cms系统
  • iis5.1 建立网站南昌网站建设公司行情
  • 北京专业网站建设大全做百度关键词网站
  • 域名回收网站做网站网页版和手机版
  • 整站优化加盟钓鱼网站网址
  • wordpress版权声明株洲百度seo
  • 广东网站建设网站室内设计可以做网站吗
  • 高端网站特色找广告商的平台
  • 做新网站 备案证明交接线上平台名称大全
  • 做网站运营买什么电脑WordPress附件空间
  • 购物网站设计人员兰州网站seo分析
  • wordpress网站开发代码wordpress模板dux主题
  • 杭州网站开发外包公司武义公司网站建设
  • 做购物网站能赚钱吗好单库网站是怎么做的
  • 莱州市招聘网站个人摄影作品网站
  • 网站未备案怎么做淘宝客中国建设银行手机银行下载官方网站
  • dede手机网站开发怎么查自己专业是否符合一建
  • 怎么建设投票网站国外网站模板下载
  • 石柱网站建设砍价小程序怎么制作
  • 动漫网站建设的目标查看公司股票的网站
  • 怎样做才能让自己的网站注册小微公司流程及费用
  • 石家庄网站制作福州公司网站建设进度表
  • 烟台做网站建设电话邯郸网站建设推荐驰捷网络公司
  • 实惠的网站建设公司福州+网站建设+医疗
  • 咨询网站 模板网站推广的六种方式
  • 清丰网站建设公司网站如何做3d产品展示
  • 男女做羞羞完整版网站东莞做营销网站建设