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

网站开发的付款方式石家庄网站如何制作

网站开发的付款方式,石家庄网站如何制作,长春做网站公司哪家好,网站规划的任务不同的PV可以使用相同的StorageClass#xff0c;它们是一对多的关系。 PV可以设置节点亲和性。比如下图#xff0c;local-storage-class-waitforfirstconsumer-pv-ubuntuc只能在节点ubuntuc上#xff1b;local-storage-class-waitforfirstconsumer-pv-ubuntud只能在节点ubu…不同的PV可以使用相同的StorageClass它们是一对多的关系。 PV可以设置节点亲和性。比如下图local-storage-class-waitforfirstconsumer-pv-ubuntuc只能在节点ubuntuc上local-storage-class-waitforfirstconsumer-pv-ubuntud只能在节点ubuntud上。 如果我们使用《研发工程师玩转Kubernetes——PVC使用storageClassName选择PV》一文中的“立即绑定”型的StorageClass。 # local_storage_class_immediate.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata:name: local-storage-class-immediate provisioner: kubernetes.io/no-provisioner volumeBindingMode: Immediate则在创建PVC时立即会选择一个PV。这样这个PVC可能绑定到节点ubuntuc对应的PV上也可能绑定到节点ubuntud对应的PV上。现在我们假定它绑定到ubuntuc对应的PV——local-storage-class-immediate-pv-ubuntuc上。 假如PVC的使用者——Pod在调度时清单文件要求它只能在ubuntud上使用。而其PVC却在ubuntuc上则会调度失败。 立即绑定导致Pod调度失败的案例 StorageClass 注意volumeBindingMode是Immediate即PVC创建时立即绑定PV。 # local_storage_class_immediate.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata:name: local-storage-class-immediate provisioner: kubernetes.io/no-provisioner volumeBindingMode: ImmediatePersistentVolume ubuntuc # local_storage_class_immediate_pv_ubuntuc.yaml apiVersion: v1 kind: PersistentVolume metadata:name: local-storage-class-immediate-pv-ubuntuc spec:capacity:storage: 1MivolumeMode: FilesystemaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: DeletestorageClassName: local-storage-class-immediatelocal:path: /tmpnodeAffinity:required:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/hostnameoperator: Invalues:- ubuntucubuntud # local_storage_class_immediate_pv_ubuntud.yaml apiVersion: v1 kind: PersistentVolume metadata:name: local-storage-class-immediate-pv-ubuntud spec:capacity:storage: 1MivolumeMode: FilesystemaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: DeletestorageClassName: local-storage-class-immediatelocal:path: /tmpnodeAffinity:required:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/hostnameoperator: Invalues:- ubuntudPersistentVolumeClaim # local_storage_class_immediate_pvc_600k.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata:name: local-storage-class-immediate-pvc-600k spec:resources:requests:storage: 600KiaccessModes:- ReadWriteOncestorageClassName: local-storage-class-immediate创建完上述组件我们查看下PVC的状态。 kubectl describe persistentvolumeclaims local-storage-class-immediate-pvc-600k Name: local-storage-class-immediate-pvc-600k Namespace: default StorageClass: local-storage-class-immediate Status: Bound Volume: local-storage-class-immediate-pv-ubuntuc Labels: none Annotations: pv.kubernetes.io/bind-completed: yespv.kubernetes.io/bound-by-controller: yes Finalizers: [kubernetes.io/pvc-protection] Capacity: 1Mi Access Modes: RWO VolumeMode: Filesystem Used By: none Events: none可以看到这个PVC处于绑定状态。 Deployment # local_deployment_immediate.yaml apiVersion: apps/v1 kind: Deployment metadata:name: local-pv-app-immediate-deployment spec:replicas: 1selector:matchLabels:app: local-pv-app-immediatetemplate:metadata:labels:app: local-pv-app-immediatespec:containers:- name: local-pv-app-immediateimage: busyboxcommand: [/bin/sh, -c, if [ -f /tempdir/lockfile ] ! { set -C; 2/dev/null /tempdir/lockfile; }; then tail -f /tempdir/lockfile; else exec 3/tempdir/lockfile; if [ -n \$POD_NAME\ ]; then name$POD_NAME; else name\unknown\; fi; while true; do echo \this is $name.$name write something to lockfile\; echo \$name write something to lockfile\ 3; sleep 1; done; fi] volumeMounts:- name: local-pvc-volumemountPath: /tempdirenv:- name: POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.namevolumes:- name: local-pvc-volumepersistentVolumeClaim:claimName: local-storage-class-immediate-pvc-600kaffinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/hostnameoperator: Invalues:- ubuntud 这个清单要求Pod使用local-storage-class-immediate-pvc-600k这个PVC但是要求自己只能被部署在节点ubuntud上。 错误表现 kubectl describe pod local-pv-app-immediate-deployment-6dd57d98f5-s5vpz Name: local-pv-app-immediate-deployment-6dd57d98f5-s5vpz Namespace: default Priority: 0 Service Account: default Node: none Labels: applocal-pv-app-immediatepod-template-hash6dd57d98f5 Annotations: none Status: Pending IP: IPs: none Controlled By: ReplicaSet/local-pv-app-immediate-deployment-6dd57d98f5 Containers:local-pv-app-immediate:Image: busyboxPort: noneHost Port: noneCommand:/bin/sh-cif [ -f /tempdir/lockfile ] ! { set -C; 2/dev/null /tempdir/lockfile; }; then tail -f /tempdir/lockfile; else exec 3/tempdir/lockfile; if [ -n $POD_NAME ]; then name$POD_NAME; else nameunknown; fi; while true; do echo this is $name.$name write something to lockfile; echo $name write something to lockfile 3; sleep 1; done; fiEnvironment:POD_NAME: local-pv-app-immediate-deployment-6dd57d98f5-s5vpz (v1:metadata.name)Mounts:/tempdir from local-pvc-volume (rw)/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-r48fn (ro) Conditions:Type StatusPodScheduled False Volumes:local-pvc-volume:Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)ClaimName: local-storage-class-immediate-pvc-600kReadOnly: falsekube-api-access-r48fn:Type: Projected (a volume that contains injected data from multiple sources)TokenExpirationSeconds: 3607ConfigMapName: kube-root-ca.crtConfigMapOptional: nilDownwardAPI: true QoS Class: BestEffort Node-Selectors: none Tolerations: node.kubernetes.io/not-ready:NoExecute opExists for 300snode.kubernetes.io/unreachable:NoExecute opExists for 300s Events:Type Reason Age From Message---- ------ ---- ---- -------Warning FailedScheduling 8s default-scheduler 0/5 nodes are available: 1 node(s) didnt match Pods node affinity/selector. preemption: 0/5 nodes are available: 1 Preemption is not helpful for scheduling, 4 No preemption victims found for incoming pod..可以看到Pod调度失败处于Pending状态。 延迟绑定导致Pod调度成功的案例 StorageClass 注意volumeBindingMode是WaitForFirstConsumer即PVC创建时不绑定PV。而在PVC被使用Pod被调度到时绑定PV。 # local_storage_class_waitforfirstconsumer.yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata:name: local-storage-class-waitforfirstconsumer provisioner: kubernetes.io/no-provisioner volumeBindingMode: WaitForFirstConsumerPersistentVolume 和之前的PV设置相似核心就是storageClassName不同使用了延迟绑定的StorageClass。 ubuntuc # local_storage_class_waitforfirstconsumer_pv_ubuntuc.yaml apiVersion: v1 kind: PersistentVolume metadata:name: local-storage-class-waitforfirstconsumer-pv-ubuntuc spec:capacity:storage: 1MivolumeMode: FilesystemaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: DeletestorageClassName: local-storage-class-waitforfirstconsumerlocal:path: /tmpnodeAffinity:required:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/hostnameoperator: Invalues:- ubuntucubuntud # local_storage_class_waitforfirstconsumer_pv_ubuntud.yaml apiVersion: v1 kind: PersistentVolume metadata:name: local-storage-class-waitforfirstconsumer-pv-ubuntud spec:capacity:storage: 1MivolumeMode: FilesystemaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: DeletestorageClassName: local-storage-class-waitforfirstconsumerlocal:path: /tmpnodeAffinity:required:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/hostnameoperator: Invalues:- ubuntudPersistentVolumeClaim 和之前例子的区别就是storageClassName选择了延迟绑定的local-storage-class-waitforfirstconsumer。 # local_storage_class_waitforfirstconsumer_pvc_600k.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata:name: local-storage-class-waitforfirstconsumer-pvc-600k spec:resources:requests:storage: 600KiaccessModes:- ReadWriteOncestorageClassName: local-storage-class-waitforfirstconsumer我们先创建上述组件然后观察PVC的状态。 kubectl describe persistentvolumeclaims local-storage-class-waitforfirstconsumer-pvc-600kName: local-storage-class-waitforfirstconsumer-pvc-600k Namespace: default StorageClass: local-storage-class-waitforfirstconsumer Status: Pending Volume: Labels: none Annotations: none Finalizers: [kubernetes.io/pvc-protection] Capacity: Access Modes: VolumeMode: Filesystem Used By: none Events:Type Reason Age From Message---- ------ ---- ---- -------Normal WaitForFirstConsumer 2s (x2 over 11s) persistentvolume-controller waiting for first consumer to be created before binding可以看到这次PVC没有立即绑定而是处于Pending状态且原因是等待第一个使用者触发绑定。 Deployment # local_deployment_waitforfirstconsumer.yaml apiVersion: apps/v1 kind: Deployment metadata:name: local-pv-app-waitforfirstconsumer-deployment spec:replicas: 1selector:matchLabels:app: local-pv-app-waitforfirstconsumertemplate:metadata:labels:app: local-pv-app-waitforfirstconsumerspec:containers:- name: local-pv-app-waitforfirstconsumerimage: busyboxcommand: [/bin/sh, -c, if [ -f /tempdir/lockfile ] ! { set -C; 2/dev/null /tempdir/lockfile; }; then tail -f /tempdir/lockfile; else exec 3/tempdir/lockfile; if [ -n \$POD_NAME\ ]; then name$POD_NAME; else name\unknown\; fi; while true; do echo \this is $name.$name write something to lockfile\; echo \$name write something to lockfile\ 3; sleep 1; done; fi] volumeMounts:- name: local-pvc-volumemountPath: /tempdirenv:- name: POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.namevolumes:- name: local-pvc-volumepersistentVolumeClaim:claimName: local-storage-class-waitforfirstconsumer-pvc-600kaffinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:- matchExpressions:- key: kubernetes.io/hostnameoperator: Invalues:- ubuntud 创建完我们查看Pod的状态。 kubectl describe pod local-pv-app-waitforfirstconsumer-deployment-84449895c4-x7ddxName: local-pv-app-waitforfirstconsumer-deployment-84449895c4-x7ddx Namespace: default Priority: 0 Service Account: default Node: ubuntud/172.22.244.197 Start Time: Wed, 09 Aug 2023 17:07:01 0000 Labels: applocal-pv-app-waitforfirstconsumerpod-template-hash84449895c4 Annotations: cni.projectcalico.org/containerID: cb10dba20771f872b242bc6284eb9d790565b7f2c1a2fbb096ff1581a73d4de5cni.projectcalico.org/podIP: 10.1.202.206/32cni.projectcalico.org/podIPs: 10.1.202.206/32 Status: Running IP: 10.1.202.206 IPs:IP: 10.1.202.206 Controlled By: ReplicaSet/local-pv-app-waitforfirstconsumer-deployment-84449895c4 Containers:local-pv-app-waitforfirstconsumer:Container ID: containerd://3fda11a2670236dc37409dd1fd6c5efae36d48bbcf1ce71266f72bd7b0b55b98Image: busyboxImage ID: docker.io/library/busyboxsha256:3fbc632167424a6d997e74f52b878d7cc478225cffac6bc977eedfe51c7f4e79Port: noneHost Port: noneCommand:/bin/sh-cif [ -f /tempdir/lockfile ] ! { set -C; 2/dev/null /tempdir/lockfile; }; then tail -f /tempdir/lockfile; else exec 3/tempdir/lockfile; if [ -n $POD_NAME ]; then name$POD_NAME; else nameunknown; fi; while true; do echo this is $name.$name write something to lockfile; echo $name write something to lockfile 3; sleep 1; done; fiState: RunningStarted: Wed, 09 Aug 2023 17:07:04 0000Ready: TrueRestart Count: 0Environment:POD_NAME: local-pv-app-waitforfirstconsumer-deployment-84449895c4-x7ddx (v1:metadata.name)Mounts:/tempdir from local-pvc-volume (rw)/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-52426 (ro) Conditions:Type StatusInitialized True Ready True ContainersReady True PodScheduled True Volumes:local-pvc-volume:Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)ClaimName: local-storage-class-waitforfirstconsumer-pvc-600kReadOnly: falsekube-api-access-52426:Type: Projected (a volume that contains injected data from multiple sources)TokenExpirationSeconds: 3607ConfigMapName: kube-root-ca.crtConfigMapOptional: nilDownwardAPI: true QoS Class: BestEffort Node-Selectors: none Tolerations: node.kubernetes.io/not-ready:NoExecute opExists for 300snode.kubernetes.io/unreachable:NoExecute opExists for 300s Events:Type Reason Age From Message---- ------ ---- ---- -------Normal Scheduled 8s default-scheduler Successfully assigned default/local-pv-app-waitforfirstconsumer-deployment-84449895c4-x7ddx to ubuntudNormal Pulling 8s kubelet Pulling image busyboxNormal Pulled 5s kubelet Successfully pulled image busybox in 2.266071612s (2.266078813s including waiting)Normal Created 5s kubelet Created container local-pv-app-waitforfirstconsumerNormal Started 5s kubelet Started container local-pv-app-waitforfirstconsumer可以看到Pod按清单要求被成功调度到ubuntud上。 kubectl describe persistentvolumeclaims local-storage-class-waitforfirstconsumer-pvc-600k Name: local-storage-class-waitforfirstconsumer-pvc-600k Namespace: default StorageClass: local-storage-class-waitforfirstconsumer Status: Bound Volume: local-storage-class-waitforfirstconsumer-pv-ubuntud Labels: none Annotations: pv.kubernetes.io/bind-completed: yespv.kubernetes.io/bound-by-controller: yes Finalizers: [kubernetes.io/pvc-protection] Capacity: 1Mi Access Modes: RWO VolumeMode: Filesystem Used By: local-pv-app-waitforfirstconsumer-deployment-84449895c4-x7ddx Events:Type Reason Age From Message---- ------ ---- ---- -------Normal WaitForFirstConsumer 2m23s (x16 over 6m2s) persistentvolume-controller waiting for first consumer to be created before binding这个Pod使用的PVC也被分配到ubuntud上。 参考资料 https://www.qikqiak.com/k8strain/storage/local/
http://www.hkea.cn/news/14580950/

相关文章:

  • 企业网站的网络营销功能长沙城乡建设网站
  • 太原市免费网站建设广告联盟官网
  • 网站产品的详情页怎么做西安学校网站建设费用
  • 建立网站的平台展示型网站搭建
  • 网站开发 保修期微页制作网站模板下载软件
  • 网站权重值在较长时间内是一定的页面优化asp.net企业网站源码
  • 用wordpress建站要不要用宝塔西安手机网站建站
  • 南昌网站关键词排名tuzicms做企业手机网站如何
  • 网站建设中倒计时模板自己用电脑做虚拟机怎么建网站
  • 如何做网站导航栏重庆公司大学派斯学院
  • 大连手机自适应网站建设服务黑龙江网站建设业务
  • dedecms医院网站wap模板(橙色)网站选项卡代码
  • 长兴建设局网站莆田网站建设收费标准
  • 网站上传文件功能实现网站网站开发软件
  • 公司网站怎么建站内江网站建设
  • 品牌网站建设 磐石网络的确好如何看网站点击量
  • 自己怎么在网上做网站源码出售网站
  • 湖南营销型网站建设 干净磐石网络网站内页的设计
  • 网站注册哪个好石家庄的网站建设公司哪家好
  • 网店装修网站c 网站开发实战
  • 网站备案当面核验软件技术开发
  • 自己做网站上传相册店铺位置怎么免费注册定位
  • 批量查询网站是否正常可以用于制作网页的软件
  • 温州网站建设公司电话哈尔滨品牌设计公司
  • 怎么做镜像网站投资网站模板
  • 成都分销商城网站建设百度知道网页版地址
  • 房产中介网站开发与设计代码网站管理工具
  • 什么是网页站点网站建设图片怎么做
  • 涟水网站开发公司点击查看商标设计注册一条龙价格
  • 成都市成华区建设局官方网站莱芜金点子最新招聘信息港