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

做网站卖掉网络营销软文范例大全800

做网站卖掉,网络营销软文范例大全800,服装公司网站背景图,qq刷赞网站推广软件博客原文 文章目录 前言集群环境nfs 环境搭建pod 挂载 nfs架构图 pvc 方式挂载 nfs架构图 storageclass 方式动态申请 pv架构图 参考 前言 持久化卷(Persistent Volume, PV)允许用户将外部存储映射到集群,而持久化卷申请(Persist…

在这里插入图片描述
博客原文

文章目录

    • 前言
    • 集群环境
    • nfs 环境搭建
    • pod 挂载 nfs
      • 架构图
    • pvc 方式挂载 nfs
      • 架构图
    • storageclass 方式动态申请 pv
      • 架构图
    • 参考

前言

持久化卷(Persistent Volume, PV)允许用户将外部存储映射到集群,而持久化卷申请(Persistent Volume Claim, PVC)则类似于许可证,使有授权的应用(Pod)可以使用PV。

  • 持久化卷(Persistent Volume,PV)。

  • 持久化卷申请(Persistent Volume Claim,PVC)。

  • 存储类(Storage Class,SC)。

概括地说,PV代表的是Kubernetes中的存储;PVC就像许可证,赋予Pod访问PV的权限;sc则使分配过程是动态的。

集群环境

操作系统: Ubuntu 20.04

IPHostname配置
192.168.254.130master012C 4G 30G
192.168.254.131node012C 4G 30G
192.168.254.132node022C 4G 30G
192.168.254.133nfs-tools2C 4G 30G

nfs 环境搭建

安装 nfs

sudo apt-get install -y nfs-kernel-server  # 安装 NFS服务器端
sudo apt-get install -y nfs-common         # 安装 NFS客户端

nfs服务器端,只在集群中某一台安装即可

创建nfs共享目录

mkdir -p /nfs/share
chmod -R 777 /nfs/share

修改配置 vim /etc/exports

# 当登录NFS主机使用共享目录的使用者是root时,其权限将被转换成为匿名使用者,通常它的UID与GID都会变成nobody身份,添加no_root_squash参数,确保root账户能用
/nfs/share *(rw,sync,no_root_squash)     # * 表示允许任何网段 IP 的系统访问该 NFS 目录

配置生效

exportfs -r
exportfs  # 查看生效

启动服务

sudo /etc/init.d/nfs-kernel-server restart
mount -t nfs 192.168.254.130:/nfs/share /nfsremote -o nolock
  1. 如果提示 mount.nfs: access denied by server while mounting

    在服务器端 ``/etc/exports中加入insecure`

    如: /nfs/share *(insecure,rw,sync,no_root_squash)

实例数据

echo "hello world" > /nfs/share/index.html

pod 挂载 nfs

架构图

image-20240128164131754

pod_nfs.yaml:

apiVersion: v1
kind: Pod
metadata:name: nfs-testpodlabels:app: nfs-testpod
spec:containers:- name: nfs-testpodimage: nginximagePullPolicy: IfNotPresentsecurityContext:privileged: trueports:- containerPort: 80hostPort: 8080   # 将该端口暴露在主机的 8080volumeMounts:- mountPath: /usr/share/nginx/htmlname: datadirrestartPolicy: Alwaysvolumes:- name: datadirnfs:server: 192.168.254.133path: /nfs/share

验证结果:

$ k create -f pod_nfs.yaml$ k get po -owide
NAME             READY   STATUS    RESTARTS   AGE   IP               NODE     NOMINATED NODE   READINESS GATES
nfs-testpod      1/1     Running   0          16m   10.244.196.134   node01   <none>           <none>$ curl node01:8080
hello world

pvc 方式挂载 nfs

架构图

image-20240128164806076

pod_nfs_pv_pvc.yaml:

# pv 分配资源
apiVersion: v1
kind: PersistentVolume
metadata:name: nfs-pv01labels:pv: nfs-pv01
spec:capacity:storage: 1GiaccessModes:- ReadWriteMany# 挂载 nfsnfs:path: /nfs/shareserver: 192.168.254.133
---
# pvc 向一个 pv 去请求资源
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: nfs-pvc01labels:pv: nfs-pvc01
spec:# 向 pv 请求的存储大小resources:requests:storage: 500MiaccessModes:- ReadWriteMany# 通过 label 选择 pvselector:matchLabels:pv: nfs-pv01
---
apiVersion: v1
kind: Pod
metadata:name: nfs-pv-pvc-podlabels:app: nfs-pv-pvc-pod
spec:containers:- name: nfs-pv-pvc-podimage: nginximagePullPolicy: IfNotPresentports:- containerPort: 80hostPort: 8081   # 暴露 8081 volumeMounts:- mountPath: /usr/share/nginx/htmlname: datadirrestartPolicy: Alwaysvolumes:- name: datadirpersistentVolumeClaim:claimName: nfs-pvc01

验证结果:

$ k get po -owide
NAME             READY   STATUS    RESTARTS   AGE   IP               NODE     NOMINATED NODE   READINESS GATES
nfs-pv-pvc-pod   1/1     Running   0          97s   10.244.196.135   node01   <none>           <none>
nfs-testpod      1/1     Running   0          16m   10.244.196.134   node01   <none>           <none>$ k get pv
NAME       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM               STORAGECLASS   VOLUMEATTRIBUTESCLASS   REASON   AGE
nfs-pv01   1Gi        RWX            Retain           Bound    default/nfs-pvc01                  <unset>                          8s
$ k get pvc
NAME        STATUS   VOLUME     CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE
nfs-pvc01   Bound    nfs-pv01   1Gi        RWX                           <unset>                 10s$ curl node01:8081
hello world

注意: 1 个 pv 能绑定一个 pvc

storageclass 方式动态申请 pv

架构图

image-20240128165511823

sc 要方式动态申请 pv, 需要一个与存储对应的 provisioner, 可以是云服务器的 provisioner. 参考

我们使用的是 nfs, 所以需要 nfs-provisioner

安装 nfs-provisioner

本次使用的是 nfs-provisionernfs subdir

# 通过 helm 安装, 安装 helm
wget https://get.helm.sh/helm-v3.7.0-linux-amd64.tar.gz 
tar zxvf helm-v3.7.0-linux-amd64.tar.gz
mv linux-amd64/helm /usr/local/bin/$ helm repo add nfs-subdir-external-provisioner https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/
$ helm install nfs-subdir-external-provisioner nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \--set nfs.server=192.168.254.133 \--set nfs.path=/nfs/share
# 也可以 helm pull nfs-subdir-external-provisioner/nfs-subdir-external-provisioner 后修改 values 的值
# 推荐 helm pull 下来后修改镜像地址 aifeierwithinmkt/nfs-subdir-external-provisioner (无法拉取镜像, 我推到 dockerhub的镜像)
NAME: nfs-subdir-external-provisioner
LAST DEPLOYED: Sun Jan 28 15:39:16 2024
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None# 查看 pod
$ k get po -owide
NAME                                              READY   STATUS    RESTARTS   AGE   IP               NODE     NOMINATED NODE   READINESS GATES
nfs-pv-pvc-pod                                    1/1     Running   0          50m   10.244.196.135   node01   <none>           <none>
nfs-subdir-external-provisioner-f8db66c64-cgpqk   1/1     Running   0          52s   10.244.196.137   node01   <none>           <none>
nfs-testpod                                       1/1     Running   0          65m   10.244.196.134   node01   <none>           <none># 我们需要从 pod 中获取 provisioner 的地址(pod 的环境变量), 用作 sc 的 provisioner 地址
k describe po nfs-subdir-external-provisioner-f8db66c64-cgpqk | grep PROVISIONER_NAME

pod_nfs_sc_pvc.yaml:

# 构建 storageclass
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: nfs-sc
provisioner: cluster.local/nfs-subdir-external-provisioner
mountOptions:- nfsvers=4
#parameters:
#  server: nfs-server.example.com
#  path: /share
#  readOnly: "false"
---
# pvc 向一个 pv 去请求资源
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: nfs-pvc02labels:pv: nfs-pvc02
spec:# 向 pv 请求的存储大小resources:requests:storage: 500MiaccessModes:- ReadWriteMany# 指定 storageclassstorageClassName: nfs-sc# 通过 label 选择 pv
#  selector:
#    matchLabels:
#      pv: nfs-pv01
---
apiVersion: v1
kind: Pod
metadata:name: nfs-sc-pvc-podlabels:app: nfs-sc-pvc-pod
spec:containers:- name: nfs-sc-pvc-podimage: nginximagePullPolicy: IfNotPresentports:- containerPort: 80hostPort: 8082volumeMounts:- mountPath: /usr/share/nginx/htmlname: datadirrestartPolicy: Alwaysvolumes:- name: datadirpersistentVolumeClaim:claimName: nfs-pvc02

验证结果:

$ k get po -owide
NAME                                              READY   STATUS    RESTARTS   AGE   IP               NODE     NOMINATED NODE   READINESS GATES
nfs-sc-pvc-pod                                    1/1     Running   0          10s   10.244.196.138   node01   <none>           <none>$ k get pvc
NAME        STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE
nfs-pvc02   Bound    pvc-7ebac745-38f2-4ea7-8d18-0465f6fdf2d1   500Mi      RWX            nfs-sc         <unset>                 2m4s$ curl node01:8082
hello world

参考

  1. https://kubernetes.io/zh-cn/docs/concepts/storage/storage-classes/#nfs

文章转载自:
http://dinncoskinnerian.tqpr.cn
http://dinncohyperbole.tqpr.cn
http://dinncocontradictorily.tqpr.cn
http://dinncoconduct.tqpr.cn
http://dinncopony.tqpr.cn
http://dinncolumberyard.tqpr.cn
http://dinncohemizygote.tqpr.cn
http://dinncoambroid.tqpr.cn
http://dinncoexurb.tqpr.cn
http://dinncodouce.tqpr.cn
http://dinncoleady.tqpr.cn
http://dinncothermometer.tqpr.cn
http://dinncononcommitment.tqpr.cn
http://dinncodigenesis.tqpr.cn
http://dinncodownline.tqpr.cn
http://dinncoendosporium.tqpr.cn
http://dinncoagrology.tqpr.cn
http://dinncocypriot.tqpr.cn
http://dinncodepression.tqpr.cn
http://dinncojumbly.tqpr.cn
http://dinncokampar.tqpr.cn
http://dinncodetchable.tqpr.cn
http://dinncoprimaeval.tqpr.cn
http://dinncocabob.tqpr.cn
http://dinncogoose.tqpr.cn
http://dinncourochrome.tqpr.cn
http://dinncounmoral.tqpr.cn
http://dinncomisprision.tqpr.cn
http://dinncoaphylly.tqpr.cn
http://dinncocorniness.tqpr.cn
http://dinncodassie.tqpr.cn
http://dinncodisherison.tqpr.cn
http://dinncobecome.tqpr.cn
http://dinncowarning.tqpr.cn
http://dinncosubtitling.tqpr.cn
http://dinncoguiyang.tqpr.cn
http://dinncoboscage.tqpr.cn
http://dinncounbound.tqpr.cn
http://dinncounfetter.tqpr.cn
http://dinncostopcock.tqpr.cn
http://dinncosunderland.tqpr.cn
http://dinncoanaerobiosis.tqpr.cn
http://dinncoheterotopy.tqpr.cn
http://dinncoorganule.tqpr.cn
http://dinncoperimeter.tqpr.cn
http://dinncoplerocercoid.tqpr.cn
http://dinncocheckgate.tqpr.cn
http://dinncoforbidding.tqpr.cn
http://dinncopiccaninny.tqpr.cn
http://dinncoabusive.tqpr.cn
http://dinnconamurian.tqpr.cn
http://dinncodigs.tqpr.cn
http://dinncoveritable.tqpr.cn
http://dinncocctv.tqpr.cn
http://dinncohvar.tqpr.cn
http://dinncopseudaxis.tqpr.cn
http://dinncoanguifauna.tqpr.cn
http://dinncofulfillment.tqpr.cn
http://dinncoreline.tqpr.cn
http://dinncoufologist.tqpr.cn
http://dinncoforepleasure.tqpr.cn
http://dinncomachiavellian.tqpr.cn
http://dinncooverspill.tqpr.cn
http://dinncosniggle.tqpr.cn
http://dinncogeocentrical.tqpr.cn
http://dinncoturbomolecular.tqpr.cn
http://dinncosettleable.tqpr.cn
http://dinncointerposition.tqpr.cn
http://dinncotorsi.tqpr.cn
http://dinncovichy.tqpr.cn
http://dinncotirewoman.tqpr.cn
http://dinncodisheveled.tqpr.cn
http://dinncosylph.tqpr.cn
http://dinncoextraphysical.tqpr.cn
http://dinncoturcophil.tqpr.cn
http://dinncovitaminic.tqpr.cn
http://dinncowitty.tqpr.cn
http://dinncohartebeest.tqpr.cn
http://dinncohollingshead.tqpr.cn
http://dinncoimmunoelectrophoresis.tqpr.cn
http://dinncocinnamene.tqpr.cn
http://dinncotardyon.tqpr.cn
http://dinncoasexuality.tqpr.cn
http://dinncoinfernal.tqpr.cn
http://dinncoprecopulatory.tqpr.cn
http://dinncocoin.tqpr.cn
http://dinncoglisten.tqpr.cn
http://dinncochat.tqpr.cn
http://dinncoappro.tqpr.cn
http://dinncohonduranean.tqpr.cn
http://dinncoquondam.tqpr.cn
http://dinncotumbler.tqpr.cn
http://dinncodizziness.tqpr.cn
http://dinncoantifungal.tqpr.cn
http://dinncoquemoy.tqpr.cn
http://dinncolepidopteral.tqpr.cn
http://dinncomalarious.tqpr.cn
http://dinncodrawtube.tqpr.cn
http://dinncoletty.tqpr.cn
http://dinncoopportunistic.tqpr.cn
http://www.dinnco.com/news/116032.html

相关文章:

  • 数码产品网站建设策划书东莞seo网络培训
  • icp备案和网站不符惠州市seo广告优化营销工具
  • 做网站为什么一定要留住用户用模板快速建站
  • 在internet上建设网站微信公众号怎么推广
  • 济南哪家公司可以做网站黑帽seo教程
  • 设计一个网页的代码网站关键词优化费用
  • 在家做的打字兼职的网站广州网站制作公司
  • 深圳建设网站制作成都网站优化排名推广
  • 做国外夏令营的网站十大接单推广平台
  • 江阳建设集团网站品牌营销的四大策略
  • 找人做网站会给源代码吗广州信息流推广公司
  • 新开传奇网站发布站百度seo优化教程
  • 宣城网站 建设自动点击器软件
  • 网页设计框架结构seo分析网站
  • 长沙岳麓区做网站网站查询网
  • 网站做网页百度网盘搜索引擎入口在哪里
  • 有没有免费做任务赚钱的网站片多多可以免费看电视剧吗
  • 福建设计院网站青岛seo网站排名优化
  • 网站水晶头怎么做看b站视频软件下载安装
  • 成都灯光设计公司日照seo公司
  • 什么网站可以做旅行行程博客程序seo
  • 临夏市做网站电话信息流广告优化师
  • 郑州东区网站建设南宁seo规则
  • 17网站一起做网店档口出租全域seo
  • 制作企业网站的新闻艾滋病多久可以查出来
  • 广东学校网站建设公司长沙百度搜索网站排名
  • 一站式网站建设哪家专业性价比高的seo网站优化
  • 德州企业网站优化公司seo全称是什么
  • 1m带宽做网站速度怎么样网络营销的特点举例说明
  • 多个网站域名 是新增接入网站的优化seo