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

太原seo网站建设十大培训机构教育培训机构哪家好

太原seo网站建设,十大培训机构教育培训机构哪家好,上海网页制作服务商,ppt代做文章目录 emptyDirhostpathpv和pvc介绍nfs作为静态pv案例nfs作为动态pv案例使用本地文件夹作为pv改变默认存储类及回收策略参考文档 emptyDir 重启文件还有,但是如果杀了进程,则会丢失文件 创建pod # kubectl apply –f redis.yaml校验pod是否处于运行&…

文章目录

      • emptyDir
      • hostpath
      • pv和pvc介绍
      • nfs作为静态pv案例
      • nfs作为动态pv案例
      • 使用本地文件夹作为pv
      • 改变默认存储类及回收策略
      • 参考文档

emptyDir

重启文件还有,但是如果杀了进程,则会丢失文件
创建pod
# kubectl apply –f redis.yaml校验pod是否处于运行,并观察pod的改变
# kubectl get pod redis –-watch在其它终端上执行如下命令进入容器
# kubectl exec –it redis -- /bin/bash在shell中,进入/data/redis,然后创建文件
# cd /data/redis/
# echo Hello > test-file运行以下命令查找redis的进程
# apt-get update
# apt-get install procps
# ps aux杀掉redis进程,并观察redis pod的改变
# kill <pid>再次进入到redis的容器,查看文件是否存在。
# kubectl exec –it redis -- /bin/bash[root@k8s-01 chapter07]# cat redis.yaml 
apiVersion: v1
kind: Pod
metadata:name: redis
spec:containers:- name: redisimage: redisvolumeMounts:- name: redis-storagemountPath: /data/redisvolumes:- name: redis-storageemptyDir: {}

hostpath

只要在一个node 里面,就会找到文件
[root@k8s-01 chapter07]# cat hostpath.yaml 
apiVersion: v1
kind: Pod
metadata:name: test-pod
spec:containers:- image: nginxname: test-containervolumeMounts:- name: test-volumemountPath: /usr/share/nginxvolumes:- name: test-volumehostPath:path: /data

pv和pvc介绍

Pv: 是集群中的一段存储,由管理员提供或使用存储类动态提供。
Pvc(PersistentVolumeClaim)是用户对存储资源的请求。

在这里插入图片描述

nfs作为静态pv案例

新增nfs
[root@k8s-01 data]# vim /etc/exports
[root@k8s-01 data]# exportfs -rv
exporting 192.168.100.0/24:/data/nfs5
exporting 192.168.100.0/24:/data/nfs4
exporting 192.168.100.0/24:/data/nfs3
exporting 192.168.100.0/24:/data/nfs2
exporting 192.168.100.0/24:/data/nfs1
[root@k8s-01 data]# cat /etc/exports
/data/nfs1 192.168.100.0/24(rw,async,insecure,no_root_squash)
/data/nfs2 192.168.100.0/24(rw,async,insecure,no_root_squash)
/data/nfs3 192.168.100.0/24(rw,async,insecure,no_root_squash)
/data/nfs4 192.168.100.0/24(rw,async,insecure,no_root_squash)
/data/nfs5 192.168.100.0/24(rw,async,insecure,no_root_squash)
[root@k8s-01 data]# yum install -y nfs-utils rpcbind客户端安装 
yum install -y utils创建pv并查看Pv
# showmount –e 192.168.20.88 
# kubectl create –f nfs-pv.yaml
# kubectl get pv创建pvc
# kubectl create –f nfs-pvc.yaml使用以下命令查看pv和pvc是否绑定
kubectl get pvc创建pod使用先前创建的pvc
# kubectl create –f nginx-pvc.yaml
# kubectl get pod nginx-vol-pvc –o yaml[root@k8s-01 chapter07]# cat nfs-pv.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:name: pv001labels:name: pv001
spec:nfs:path: /data/nfs1server: 192.168.20.111accessModes: ["ReadWriteMany","ReadWriteOnce"]capacity:storage: 1Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:name: pv002labels:name: pv002
spec:nfs:path: /data/nfs2server: 192.168.20.111accessModes: ["ReadWriteMany","ReadWriteOnce"]capacity:storage: 1Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:name: pv003labels:name: pv003
spec:nfs:path: /data/nfs3server: 192.168.20.111accessModes: ["ReadWriteMany","ReadWriteOnce"]capacity:storage: 1Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:name: pv004labels:name: pv004
spec:nfs:path: /data/nfs4server: 192.168.20.111accessModes: ["ReadWriteMany","ReadWriteOnce"]capacity:storage: 2Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:name: pv005labels:name: pv005
spec:nfs:path: /data/nfs5server: 192.168.20.111accessModes: ["ReadWriteMany","ReadWriteOnce"]capacity:storage: 2Gi[root@k8s-01 chapter07]# 
[root@k8s-01 chapter07]# 
[root@k8s-01 chapter07]# cat nfs-pvc.yml 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: mypvcnamespace: default
spec:accessModes: ["ReadWriteMany"]resources:requests:storage: 2Gi[root@k8s-01 chapter07]# cat nginx-pvc.yml 
apiVersion: v1
kind: Pod
metadata:name: nginx-vol-pvcnamespace: default
spec:containers:- name: mywwwimage: nginxvolumeMounts:- name: wwwmountPath: /usr/share/nginx/htmlvolumes:- name: wwwpersistentVolumeClaim:claimName: mypvc[root@k8s-01 chapter07]# kubectl get pv
NAME    CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM           STORAGECLASS   REASON   AGE
pv001   1Gi        RWO,RWX        Retain           Available                                           2m46s
pv002   1Gi        RWO,RWX        Retain           Available                                           2m46s
pv003   1Gi        RWO,RWX        Retain           Available                                           2m46s
pv004   2Gi        RWO,RWX        Retain           Bound       default/mypvc                           2m46s
pv005   2Gi        RWO,RWX        Retain           Available                                           2m46s
[root@k8s-01 chapter07]# kubectl get pvc
NAME    STATUS   VOLUME   CAPACITY   ACCESS MODES   STORAGECLASS   AGE
mypvc   Bound    pv004    2Gi        RWO,RWX                       2m8s进去查看
[root@k8s-01 chapter07]# kubectl exec -it nginx-vol-pvc -- bash
root@nginx-vol-pvc:/# df -h   
Filesystem                 Size  Used Avail Use% Mounted on
overlay                     50G   11G   40G  21% /
tmpfs                       64M     0   64M   0% /dev
tmpfs                      1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda2                   50G   11G   40G  21% /etc/hosts
shm                         64M     0   64M   0% /dev/shm
192.168.100.30:/data/nfs4   50G  8.9G   41G  18% /usr/share/nginx/html
tmpfs                      1.9G   12K  1.9G   1% /run/secrets/kubernetes.io/serviceaccount
tmpfs                      1.9G     0  1.9G   0% /proc/acpi
tmpfs                      1.9G     0  1.9G   0% /proc/scsi
tmpfs                      1.9G     0  1.9G   0% /sys/firmware

nfs作为动态pv案例

安装部署存储
创建服务帐户
# kubectl create –f serviceaccount.yaml
创建集群角色并与服务帐户绑定
# kubectl create –f clusterrole.yaml
# kubectl create –f clusterrolebinding.yaml创建角色,并与服务帐户绑定
# kubectl create –f role.yaml
# kubectl create –f rolebinding.yaml创建动态存储类
# kubectl create –f class.yaml部署
# kubectl create –f deployment.yaml]
注意:以上也可以直接执行 kubectl apply –f ./nfs-de创建pv,pod及查看pvc是否通过类创建了pv并且绑定
# kubectl create –f test-claim.yaml
# kubectl create –f test-pod.yaml
# kubectl get pvc –n aishangwei文件内容
[root@k8s-01 nfs-de]# ll
total 28
-rw-r--r--. 1 root root 247 Aug 22 10:32 class.yaml
-rw-r--r--. 1 root root 306 Aug 22 10:32 clusterrolebinding.yaml
-rw-r--r--. 1 root root 525 Aug 22 10:32 clusterrole.yaml
-rw-r--r--. 1 root root 901 Aug 24 13:58 deployment.yaml
-rw-r--r--. 1 root root 311 Aug 22 10:32 rolebinding.yaml
-rw-r--r--. 1 root root 228 Aug 22 10:32 role.yaml
-rw-r--r--. 1 root root  76 Aug 22 10:32 serviceaccount.yaml
[root@k8s-01 nfs-de]# cat class.yaml 
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: managed-nfs-storage
provisioner: fuseim.pri/ifs # or choose another name, must match deployment's env PROVISIONER_NAME'
reclaimPolicy: Retain
parameters:archiveOnDelete: "false"[root@k8s-01 nfs-de]# cat clusterrolebinding.yaml 
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: run-nfs-client-provisioner
subjects:- kind: ServiceAccountname: nfs-client-provisionernamespace: default
roleRef:kind: ClusterRolename: nfs-client-provisioner-runnerapiGroup: rbac.authorization.k8s.io[root@k8s-01 nfs-de]# cat clusterrole.yaml 
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: nfs-client-provisioner-runner
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"][root@k8s-01 nfs-de]# cat deployment.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:name: nfs-client-provisioner
spec:replicas: 1selector:matchLabels:app: nfs-client-provisionerstrategy:type: Recreatetemplate:metadata:labels:app: nfs-client-provisionerspec:serviceAccountName: nfs-client-provisionercontainers:- name: nfs-client-provisionerimage: quay.io/external_storage/nfs-client-provisioner:latestvolumeMounts:- name: nfs-client-rootmountPath: /persistentvolumesenv:- name: PROVISIONER_NAMEvalue: fuseim.pri/ifs- name: NFS_SERVERvalue: 192.168.100.30- name: NFS_PATHvalue: /data/nfs1volumes:- name: nfs-client-rootnfs:server: 192.168.100.30path: /data/nfs1[root@k8s-01 nfs-de]# ls
class.yaml  clusterrolebinding.yaml  clusterrole.yaml  deployment.yaml  rolebinding.yaml  role.yaml  serviceaccount.yaml
[root@k8s-01 nfs-de]# ll
total 28
-rw-r--r--. 1 root root 247 Aug 22 10:32 class.yaml
-rw-r--r--. 1 root root 306 Aug 22 10:32 clusterrolebinding.yaml
-rw-r--r--. 1 root root 525 Aug 22 10:32 clusterrole.yaml
-rw-r--r--. 1 root root 901 Aug 24 13:58 deployment.yaml
-rw-r--r--. 1 root root 311 Aug 22 10:32 rolebinding.yaml
-rw-r--r--. 1 root root 228 Aug 22 10:32 role.yaml
-rw-r--r--. 1 root root  76 Aug 22 10:32 serviceaccount.yaml
[root@k8s-01 nfs-de]# cat rolebinding.yaml 
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: leader-locking-nfs-client-provisioner
subjects:- kind: ServiceAccountname: nfs-client-provisionernamespace: default
roleRef:kind: Rolename: leader-locking-nfs-client-provisionerapiGroup: rbac.authorization.k8s.io[root@k8s-01 nfs-de]# cat role.yaml 
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:name: leader-locking-nfs-client-provisioner
rules:- apiGroups: [""]resources: ["endpoints"]verbs: ["get", "list", "watch", "create", "update", "patch"][root@k8s-01 nfs-de]# cat serviceaccount.yaml 
apiVersion: v1
kind: ServiceAccount
metadata:name: nfs-client-provisioner[root@k8s-01 nfs-de]# [root@k8s-01 chapter07]# cat test-claim.yaml 
apiVersion: v1
kind: Namespace
metadata:name: aishangwei
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:name: test-claimnamespace: aishangweiannotations:volume.beta.kubernetes.io/storage-class: "managed-nfs-storage"
spec:accessModes:- ReadWriteManyresources:requests:storage: 10Mi[root@k8s-01 chapter07]# cat test-pod.yaml 
kind: Pod
apiVersion: v1
metadata:name: test-podnamespace: aishangwei
spec:containers:- name: test-podimage: busyboxcommand:- "/bin/sh"args:- "-c"- "touch /mnt/aishangwei-SUCCESS && exit 0 || exit 1"volumeMounts:- name: nfs-pvcmountPath: "/mnt"restartPolicy: "Never"volumes:- name: nfs-pvcpersistentVolumeClaim:claimName: test-claim

在这里插入图片描述

使用本地文件夹作为pv


创建文件夹,并创建文件
# mkdir /mnt/data
# echo ‘Hello from Kubernetes storage’ > /mnt/data/index.html执行如下命令创建pv,并查看创建的pv信息
# kubectl create –f pv-volume.yaml
# kubectl get pv task-pv-volume创建pvc并校验pv和pvc的信息
# kubectl create –f pvc-claim.yaml
# kubectl get pv task-pv-volume
# kubectl get pvc task-pv-claim创建pod,并引用使用的pvc
# kubectl create –f pv-pod.yaml
# kubectl get pod taks-pv-pod[root@k8s-01 chapter07]# cat pv-volume.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:name: task-pv-volumelabels:type: local
spec:storageClassName: manualcapacity:storage: 10GiaccessModes:- ReadWriteOncehostPath:path: "/mnt/data"[root@k8s-01 chapter07]# cat pv-claim.yaml 
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: task-pv-claim
spec:storageClassName: manualaccessModes:- ReadWriteOnceresources:requests:storage: 3Gi[root@k8s-01 chapter07]# cat pv-
pv-claim.yaml   pv-pod.yaml     pv-volume.yaml  
[root@k8s-01 chapter07]# cat pv-
pv-claim.yaml   pv-pod.yaml     pv-volume.yaml  
[root@k8s-01 chapter07]# cat pv-pod.yaml 
apiVersion: v1
kind: Pod
metadata:name: task-pv-pod
spec:volumes:- name: task-pv-storagepersistentVolumeClaim:claimName: task-pv-claimcontainers:- name: task-pv-containerimage: nginxports:- containerPort: 80name: "http-server"volumeMounts:- mountPath: "/usr/share/nginx/html"name: task-pv-storage

改变默认存储类及回收策略

查看存储类
# kubectl get storageclass2. 将存储类设置为非默认的
# kubectl patch storageclass <your-class-name> -p ‘{“metadata”:{“annotations”:{“storageclass.Kubernetes.io/is-default-class”:”false”}}}’3. 标记存储类为默认的
# kubectl patch storageclass <your-class-name> -p ‘{“metadata”:{“annotations”:{“storageclass.Kubernetes.io/is-default-class”:”true”}}}’列出持久卷
# kubectl get pv选择一个持久卷来改变它的回收策略
# kubectl patch pv <your-pv-name> -p ‘{“spec”:{“persistentVolumeReclaimPolicy”:”Retain”}}’查看设置是否正确
# kubectl get pv

参考文档

https://edu.csdn.net/course/detail/27762?spm=1003.2449.3001.8295.3

文章转载自:
http://dinncoawkward.wbqt.cn
http://dinncoastrodome.wbqt.cn
http://dinncocalory.wbqt.cn
http://dinncomoluccas.wbqt.cn
http://dinncoceasefire.wbqt.cn
http://dinncohillside.wbqt.cn
http://dinncocalefactive.wbqt.cn
http://dinncopinnatilobate.wbqt.cn
http://dinncotrio.wbqt.cn
http://dinncorhumba.wbqt.cn
http://dinncophagophobia.wbqt.cn
http://dinncoredone.wbqt.cn
http://dinncocitizenhood.wbqt.cn
http://dinncocuttloefish.wbqt.cn
http://dinncognomic.wbqt.cn
http://dinncordac.wbqt.cn
http://dinnconoma.wbqt.cn
http://dinncocordiform.wbqt.cn
http://dinncopostboat.wbqt.cn
http://dinncodivaricate.wbqt.cn
http://dinncosignaler.wbqt.cn
http://dinncochanteyman.wbqt.cn
http://dinncochromosome.wbqt.cn
http://dinncogoosander.wbqt.cn
http://dinncotangly.wbqt.cn
http://dinncoweensy.wbqt.cn
http://dinncoamortization.wbqt.cn
http://dinncothrew.wbqt.cn
http://dinncoalicyclic.wbqt.cn
http://dinncodumbwaiter.wbqt.cn
http://dinncoflaunty.wbqt.cn
http://dinncocastroism.wbqt.cn
http://dinncobanteringly.wbqt.cn
http://dinncoenravish.wbqt.cn
http://dinncorecognise.wbqt.cn
http://dinncorecalcitrate.wbqt.cn
http://dinncohectowatt.wbqt.cn
http://dinncosemicylindrical.wbqt.cn
http://dinncowealthy.wbqt.cn
http://dinncoisomerism.wbqt.cn
http://dinncotowing.wbqt.cn
http://dinncoisobar.wbqt.cn
http://dinncomauritius.wbqt.cn
http://dinncogalilean.wbqt.cn
http://dinncotongs.wbqt.cn
http://dinncojag.wbqt.cn
http://dinncoresplendently.wbqt.cn
http://dinncounclassifiable.wbqt.cn
http://dinncovasodilator.wbqt.cn
http://dinnconotch.wbqt.cn
http://dinncocowitch.wbqt.cn
http://dinncobiocatalyst.wbqt.cn
http://dinncogoldsmithry.wbqt.cn
http://dinncowirily.wbqt.cn
http://dinncosubaerial.wbqt.cn
http://dinncowatchfulness.wbqt.cn
http://dinncovorlage.wbqt.cn
http://dinncountold.wbqt.cn
http://dinncoromola.wbqt.cn
http://dinncobasketball.wbqt.cn
http://dinncopickwickian.wbqt.cn
http://dinncoillyrian.wbqt.cn
http://dinncoproverb.wbqt.cn
http://dinncocherrywood.wbqt.cn
http://dinncomisty.wbqt.cn
http://dinncoobdurability.wbqt.cn
http://dinncoindoctrinize.wbqt.cn
http://dinncojewry.wbqt.cn
http://dinncoentryman.wbqt.cn
http://dinncotimorous.wbqt.cn
http://dinncogeoprobe.wbqt.cn
http://dinncobouncing.wbqt.cn
http://dinncoearthling.wbqt.cn
http://dinncoembryon.wbqt.cn
http://dinncointervention.wbqt.cn
http://dinncosnowcem.wbqt.cn
http://dinncoincumbent.wbqt.cn
http://dinncojacksmelt.wbqt.cn
http://dinnconucleophilic.wbqt.cn
http://dinncoyorktown.wbqt.cn
http://dinncounaided.wbqt.cn
http://dinncoweedless.wbqt.cn
http://dinncoquarrion.wbqt.cn
http://dinncomacrodontism.wbqt.cn
http://dinncobutcher.wbqt.cn
http://dinncoperipteros.wbqt.cn
http://dinncowashingtonian.wbqt.cn
http://dinncogive.wbqt.cn
http://dinncodeceleration.wbqt.cn
http://dinncocytoplasm.wbqt.cn
http://dinncocoterminal.wbqt.cn
http://dinncomaintainability.wbqt.cn
http://dinncohalter.wbqt.cn
http://dinncoacidproof.wbqt.cn
http://dinncosuperstate.wbqt.cn
http://dinncodistractingly.wbqt.cn
http://dinncosandblast.wbqt.cn
http://dinncomarquisate.wbqt.cn
http://dinncosri.wbqt.cn
http://dinncosuit.wbqt.cn
http://www.dinnco.com/news/109094.html

相关文章:

  • 织梦笑话网站苏州百度推广公司
  • 网站空间域名申请网站宁波seo推广定制
  • 怎么做商务网站的架构百度一下你就知道啦
  • 百度 医疗网站建设万秀服务不错的seo推广
  • 坂田公司做网站windows7优化大师官方下载
  • 白云营销型网站建设广州百度seo排名优化
  • 手机网站seo优化b站推广2023
  • 网站创意模板百度seo正规优化
  • 中科院网站做的好的院所如何进行网站性能优化
  • 介绍一个电影的网站模板下载媒体发稿平台
  • 武汉网站建议公关公司提供的服务有哪些
  • 东莞网站建设效果网站建设
  • 绑定手机网站文件夹网站优化排名工具
  • 值得浏览的外国网站如何推广品牌
  • 京东网站难做吗seo外包靠谱
  • 淘宝网站的建设情况标题seo是什么意思
  • 网站建设800元全包西安网站关键词推广
  • mysql的网站开发西安seo网络优化公司
  • 各人可做的外贸网站站长工具seo查询
  • 做网站前端用什么软件海外网络推广平台
  • wordpress大前端d8主题免费下载网站关键词排名优化客服
  • 东营做网站公司百度推广开户价格
  • 软件公司网站建设seo搜外
  • 有商家免费建商城的网站吗万网域名注册教程
  • 甘肃做网站哪个平台好郑州seo优化顾问热狗
  • 越影网站建设郑州网站优化顾问
  • wordpress引入js插件武汉seo工作室
  • 网站的优化用什么软件网站怎么宣传
  • 一般做网站是用什么语言开发的自建站模板
  • 汉寿网站建设培训总结心得体会