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

怎么做网站内部链接的优化wordpress快速仿站视频教程

怎么做网站内部链接的优化,wordpress快速仿站视频教程,一级造价工程师教材,如何快速推广网上国网kubernetes系列10—存储卷详解 1、认识存储卷 1.1 背景 默认情况下容器中的磁盘文件是非持久化的#xff0c;容器中的磁盘的生命周期是短暂的#xff0c;这就带来了一系列的问题#xff1a;第一#xff0c;当一个容器损坏之后#xff0c;kubelet 会重启这个容器#xff0…kubernetes系列10—存储卷详解 1、认识存储卷 1.1 背景   默认情况下容器中的磁盘文件是非持久化的容器中的磁盘的生命周期是短暂的这就带来了一系列的问题第一当一个容器损坏之后kubelet 会重启这个容器但是文件会丢失-这个容器会是一个全新的状态第二当很多容器在同一Pod中运行的时候很多时候需要数据文件的共享。Kubernete Volume解决了这个问题。   1.2 介绍   Docker有一个Volumes的概念虽然这个Volume有点宽松和管理性比较小。在Docker中一个 Volume 是一个简单的所在主机的一个目录或者其它容器中的。生命周期是没有办法管理直到最近才有 local-disk-backed 磁盘。Docker现在提供了磁盘驱动但是功能非常有限例如Docker1.7只能挂在一个磁盘每个容器并且无法传递参数   从另外一个方面讲Kubernetes volume拥有明确的生命周期与所在的Pod的生命周期相同。因此Kubernetes volume独立与任何容器与Pod相关所以数据在重启的过程中还会保留当然如果这个Pod被删除了那么这些数据也会被删除。更重要的是Kubernetes volume 支持多种类型任何容器都可以使用多个Kubernetes volume。   它的核心一个 volume 就是一个目录可能包含一些数据这些数据对pod中的所有容器都是可用的这个目录怎么使用什么类型由什么组成都是由特殊的volume 类型决定的。   要使用Volumepod需要指定Volume的类型和内容spec.volumes字段和映射到容器的位置spec.containers.volumeMounts字段。   容器中的进程可以看成由Docker镜像和卷组成的文件系统视图。Docker镜像位于文件系统层次结构的根目录下任何卷都安装在图像中的指定路径上。卷无法装入其他卷或具有到其他卷的硬链接。Pod中的每个容器必须独立指定每个卷的安装位置。   1.3 存储卷常用类型  非持久性存储  emptyDir hostPath 网络连接性存储  SANiSCSI NFSnfscfs 分布式存储  glusterfs、rbd、cephfs 云端存储  EBS、Azure Disk、阿里云、gitRepo ? 1 $ kubectl explain pod.spec.volumes 查询k8s支持的所有类型存储卷   2、emptyDir存储卷 2.1 emptyDir介绍   使用emptyDir当Pod分配到Node上时将会创建emptyDir并且只要Node上的Pod一直运行Volume就会一直存。当Pod不管任何原因从Node上被删除时emptyDir也同时会删除存储的数据也将永久删除。   常用于作为临时目录、或缓存使用。   2.2 演示创建emptyDir存储卷 1编写yaml文件并创建 先创建一个名为html的存储卷再由2个pod都挂载此存储卷 pod1基于此存储卷作为nginx的主目录pod2向此存储卷目录写入东西 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [rootmaster volumes]# vim vol-emptyDir-demo.yaml apiVersion: v1 kind: Pod metadata:   name: pod-vol-demo   namespace: default   labels:     app: myapp     tier: frontend   annotations:     along.com/created-by: cluster admin spec:   volumes:   - name: html     emptyDir: {}   containers:   - name: myapp     image: ikubernetes/myapp:v1     imagePullPolicy: IfNotPresent     ports:     - name: http       containerPort: 80     volumeMounts:     - name: html       mountPath: /usr/share/nginx/html/   - name: busybox     image: busybox:latest     imagePullPolicy: IfNotPresent     volumeMounts:     - name: html       mountPath: /data/     command:     - /bin/sh     - -c     - while true; do echo $(date) /data/index.html; sleep 2; done [rootmaster volumes]# kubectl apply -f vol-emptyDir-demo.yaml pod/pod-vol-demo created    2验证 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ---pod创建成功 [rootmaster ~]# kubectl get pods -o wide NAME           READY     STATUS    RESTARTS   AGE       IP             NODE pod-vol-demo   2/2       Running   0          13s       10.244.1.106   node1 ---访问业务输出是pod2的输入 [rootmaster ~]# curl 10.244.1.106 Tue Jan 29 07:19:13 UTC 2019 Tue Jan 29 07:19:15 UTC 2019 Tue Jan 29 07:19:17 UTC 2019 Tue Jan 29 07:19:19 UTC 2019 Tue Jan 29 07:19:21 UTC 2019 Tue Jan 29 07:19:23 UTC 2019 Tue Jan 29 07:19:25 UTC 2019 Tue Jan 29 07:19:27 UTC 2019 Tue Jan 29 07:19:29 UTC 2019    3、hostPath存储卷 3.1 emptyDir介绍   hostPath允许挂载Node宿主机上的文件系统到Pod里面去。如果Pod需要使用Node上的文件可以使用hostPath。   3.2 hostPath类型 值行为空空字符串默认用于向后兼容这意味着在安装hostPath卷之前不会执行任何检查。DirectoryOrCreate如果给定路径中不存在任何内容则将根据需要创建一个空目录权限设置为0755与Kubelet具有相同的组和所有权。Directory目录必须存在于给定路径中FileOrCreate如果给定路径中不存在任何内容则会根据需要创建一个空文件权限设置为0644与Kubelet具有相同的组和所有权。File文件必须存在于给定路径中SocketUNIX套接字必须存在于给定路径中CharDevice字符设备必须存在于给定路径中BlockDevice块设备必须存在于给定路径中  3.2 演示创建hostPath存储卷 1编写yaml文件并创建 创建存储卷使用DirectoryOrCreate类型node节点不存在会自动创建 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [rootmaster volumes]# vim vol-hostpath-demo.yaml apiVersion: v1 kind: Pod metadata:   name: vol-hostpath   namespace: default spec:   volumes:   - name: html     hostPath:       path: /data/pod/volume1/       type: DirectoryOrCreate   containers:   - name: myapp     image: ikubernetes/myapp:v1     volumeMounts:     - name: html       mountPath: /usr/share/nginx/html/ [rootmaster volumes]# kubectl apply -f vol-hostpath-demo.yaml pod/vol-hostpath created    2查询验证 ? 1 2 3 4 5 6 [rootmaster volumes]# kubectl get pods -o wide NAME           READY     STATUS    RESTARTS   AGE       IP             NODE vol-hostpath   1/1       Running   0          3s        10.244.1.111   node1 ---在node1上查询是否生产目录 [rootnode1 ~]# ll -d /data/pod/volume1/index.html -rw-r--r-- 1 root root 17 Sep 21 14:44 /data/pod/volume1/index.html    3验证存储卷功能 ? 1 2 3 4 5 ---在node1上生成文件 [rootnode1 ~]# echo node01.along.com /data/pod/volume1/index.html ---访问pod内服务显示成功 [rootmaster volumes]# curl 10.244.1.111 node01.along.com    4就算pod被删除再重建只要node还在存储卷就还在 ? 1 2 3 4 5 6 7 8 9 [rootmaster volumes]# kubectl delete -f vol-hostpath-demo.yaml pod vol-hostpath deleted [rootmaster volumes]# kubectl apply -f vol-hostpath-demo.yaml pod/vol-hostpath created [rootmaster volumes]# kubectl get pods -o wide NAME           READY     STATUS    RESTARTS   AGE       IP             NODE vol-hostpath   1/1       Running   0          3s        10.244.1.112   node1 [rootmaster volumes]# curl 10.244.1.112 node01.along.com    4、共享存储NFS存储卷 4.1 NFS存储卷介绍   NFS 是Network File System的缩写即网络文件系统。Kubernetes中通过简单地配置就可以挂载NFS到Pod中而NFS中的数据是可以永久保存的同时NFS支持同时写操作。Pod被删除时Volume被卸载内容被保留。这就意味着NFS能够允许我们提前对数据进行处理而且这些数据可以在Pod之间相互传递。   4.2 演示创建NFS存储卷 4.2.1 在一台服务器搭建NFS 1事前准备 ① 修改k8s集群服务的hosts文件使之能解析nfs服务器 ? 1 2 3 4 5 [rootmaster volumes]# vim /etc/hosts 192.168.130.103 master 192.168.130.104 node1 192.168.130.105 node2 192.168.130.106 nfs ② 在k8s集群服务器安装nfs-utils 工具 ? 1 $ yum -y install nfs-utils    2在106服务器上提供nfs服务 ? 1 2 3 4 5 6 7 [rootnfs ~]# yum -y install nfs-utils [rootnfs ~]# mkdir /data/volumes -p [rootnfs ~]# vim /data/volumes/index.html h1NFS stor/h1 [rootnfs ~]# vim /etc/exports /data/volumes   192.168.130.0/24(rw,no_root_squash) [rootnfs ~]# systemctl start nfs    4.2.1 创建NFS存储卷 1编写yaml文件并创建 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [rootmaster volumes]# vim vol-nfs-demo.yaml apiVersion: v1 kind: Pod metadata:   name: vol-nfs   namespace: default spec:   volumes:   - name: html     nfs:       path: /data/volumes       server: nfs   containers:   - name: myapp     image: ikubernetes/myapp:v1     volumeMounts:     - name: html       mountPath: /usr/share/nginx/html/ [rootmaster volumes]# kubectl apply -f vol-nfs-demo.yaml pod/vol-nfs created    2验证访问服务成功 ? 1 2 3 4 5 [rootmaster ~]# kubectl get pods -o wide NAME      READY     STATUS    RESTARTS   AGE       IP             NODE vol-nfs   1/1       Running   0          9s        10.244.1.115   node1 [rootmaster ~]# curl 10.244.1.115 h1NFS stor/h1 删除pod再创建也还存在数据。   5、一些不常用的存储卷 5.1 gitRepo 1介绍 gitRepo volume将git代码下拉到指定的容器路径中   2示例 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 apiVersion: v1 kind: Pod metadata:   name: server spec:   volumes:   - name: git-volume     gitRepo:       repository: gitgithub.com:alonghub/my-git-repository.git      revision: 22f1d8406d464b0c0874075539c1f2e96c253775   containers:   - name: myapp     image: ikubernetes/myapp:v1     imagePullPolicy: IfNotPresent     ports:     - name: http       containerPort: 80     volumeMounts:     - name: git-volume       mountPath: /usr/share/nginx/html/    5.2 glusterfs   glusterfs允许将Glusterfs一个开源网络文件系统Volume安装到pod中。不同于emptyDirPod被删除时Volume只是被卸载内容被保留。味着glusterfs能够允许我们提前对数据进行处理而且这些数据可以在Pod之间“切换”。   注意必须先运行自己的GlusterFS安装然后才能使用它。   有关更多详细信息请参阅GlusterFS示例。   5.3 RBD   RBD允许Rados Block Device格式的磁盘挂载到Pod中同样的当pod被删除的时候rbd也仅仅是被卸载内容保留rbd能够允许我们提前对数据进行处理而且这些数据可以在Pod之间“切换”。   有关更多详细信息请参阅RBD示例。   5.4 cephfs   cephfs Volume可以将已经存在的CephFS Volume挂载到pod中与emptyDir特点不同pod被删除的时cephfs仅被被卸载内容保留。cephfs能够允许我们提前对数据进行处理而且这些数据可以在Pod之间“切换”。   提示可以使用自己的Ceph服务器运行导出然后在使用cephfs。   有关更多详细信息请参阅CephFS示例 转载于:https://www.cnblogs.com/dengbingbing/p/10399203.html
http://wiki.neutronadmin.com/news/343346/

相关文章:

  • 网站改版 域名404错误页面放在网站的哪里
  • 长春网站制作平台互联网电商是干什么的
  • 做网站推广要注意什么wordpress编辑器分段
  • 网站代码怎么改wordpress腾讯云插件
  • wordpress站点统计免费咨询图标
  • 深圳沙头角网站建设网站备案审核制度
  • 做外国美食的视频网站软文广告经典案例300大全
  • 图派科技做网站怎么样自己做网站可以盗图吗
  • 山西建设官方网站网站开发获客渠道
  • 开发区网站开发语言wordpress教程帕兰
  • 做游戏直播那个网站好如何注册网站免费的
  • 网站互动性装修网站怎么做推广
  • 盐城网站优化服务上海建站中心
  • 深圳大眼睛网站建设网站管理助手建站
  • ups国际快递网站建设模块分析怎么创建微信公众号免费
  • html语言中文解释大全 | 网站建设 - 红黑联盟论坛python如何开发小软件
  • 廊坊网站建设方案生活服务网站开发与设计
  • 网站应包括的基本功能和高级功能wordpress注册页面地址
  • 58同城新密网站建设网站邮箱代码
  • 惠州网站建设信息wordpress插件的安装目录下
  • seo网站培训做类似昵图网网站
  • 淮南专业网站建设穆棱seo
  • 搜狗推广效果好吗北京网站sem、seo
  • 网站的ftp上传地址企业网站建设专家
  • 一般做网站宽度是多少网站制作的语言
  • 页面设计排版网站滨州北京网站建设价格
  • 项城网站互联网网站建设计划书
  • 公司注册网站官网wordpress 搜索页
  • 做网站大约需要多少钱什么建设网站好
  • 网站在线制作生成做网站的带宽