pv+statefulset 喜欢ヅ旅行 2022-09-04 00:53 12阅读 0赞 集群外部很多类存储。是存储工程师创建的 k8s想使用的话关联方式都不同。 因此提供了新的对象资源pv,持久卷。 他先在k8s中将pv卷创建出来。持久卷会对应到相应的存储上。 也就是不用的存储对应不用的存储卷。 应用工程师部署pod直接调用集群的内部的存储卷即可完成存储的使用。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70] 创建pod会附带一个pvc .pvc的请求相当于去寻找一个合适的pv进行绑定。 pvc就是pv的请求方案。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 1] 优先选择资源量小的pv进行使用。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 2] pv独立与pod的生命周期之外。比如pv挂载在pod的某个目录上,pod被删除了,pv也依然保存。 类似卷。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 3] 动态pv就比如根据云存储进行一些存储的申请等。目前没使用。很贵。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 4] 一个pvc只能绑定一个pv. 一一对应 一个pv也只能被一个pvc绑定。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 5] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 6] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 7] 使用nfs机制。 访问策略:只有一个人读写 存储卷的大小为5G 存储类名称:slow 存储类就是划分存储情况的一个指标 比如pvc请求2类的资源就会去找2类的资源pv。 mountoptions就是一些说明, ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 8] nfs服务 path挂在到某个服务器的某个目录下 把nfs封装为pv0003,并且存储类是slow.大小为5G ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 9]readwriteonce只能被单个节点挂载使用。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 10] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 11] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 12]保留就是如果PV不使用了,会进入保留的状态,等待管理员手动释放掉。 回收:删除对应卷下的所有内容。最新版本中已经被删除了。 删除:都是跟云相关的。 PV的状态: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 13]已释放指的就是等待K8S重新声明化。 # !!PV.PVC,Statefulset # ## 实验部分 ## 一、 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 14] 当然NFS可以在第三方主机安装。 比如在Harbor安装66.100 ![在这里插入图片描述][67795887b30c4a24923bad2002581f55.png] 创建共享目录 根下的所有允许读写,no\_root\_squash的权限以及sync的同步方式。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 15] ![在这里插入图片描述][7deb8994c519445cac489cbd193099bc.png] rw:读写权限 sync:数据同步写内存硬盘 async:将数据先保存在内存缓冲区中,必要时才写入磁盘; all_squash:不管你访问共享目录的用户是谁,都必须压缩为nfsnobody用户的权限; no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组; root_squash: 如果访问共享目录是root的权限用户,对共享目录的权限会被压缩为nfsnobody用户的权 no_root_squash:来访的root用户保持root帐号权限; nfs服务:https://blog.csdn.net/weixin_52184735/article/details/112510977 ![在这里插入图片描述][8bb08a0c7d2245e3a04c36387fb730fb.png] ![在这里插入图片描述][0d5a70f14e1e42ff83a747b866d158c2.png] 尝试NFS是否能被节点所使用、 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 16] 可以使用。解除挂在。删除目录。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 17] ![在这里插入图片描述][9a5262049e934181ba3551f81b88d664.png] 只允许一个节点读写。 NFS服务的访问路径是/nfs ![在这里插入图片描述][485d05931b794beab268dacf185426cb.png] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 18] ![在这里插入图片描述][3c50ee6d4a11469ca48ca0b6069495f3.png] 这个PV已经可以正常挂载到POD使用了。但是一般都是采用PVC的模式去调用。 ![在这里插入图片描述][7c98e6a3aa9c4e25876e0fd68e23593e.png] 注意:如果是statefulset的话对应的serviceName必须是无头服务。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 19] 因为采用CluserIP为none.所以下面在Statefulset中将serviceName指定为nginx和上面的service服务的name对应。 注意:如果想要创建一个statefulset的控制器必须先创建一个service的无头服务。 volumrvlsimtrmplates就是一个PV模板。挂载点volumeMounts的名字为www其实就是下面PV模板创建的www。挂载路径在/usr/share/nginx/html上。 ### 以上就是通过statefulset调用pv的过程。 ### 为了实验效果多创建几个 ![在这里插入图片描述][2ce280f684214f0e96453c5ae0475f6a.png] ![在这里插入图片描述][b55c971cc34d4ad6aa6fc69f6054c82c.png] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 20] ![在这里插入图片描述][31ec802431ef41abb5854da9ca4f785f.png] 测试: 注意在master节点测试下nfs ![在这里插入图片描述][07009f0c45df417a9873f34c58d317dc.png] 可以正常访问和使用。 继续创建新的PV ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 21]注意更改了访问方式以及挂载目录 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 22] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 23] ![在这里插入图片描述][02110365f229482f9a9876036754324f.png] ![在这里插入图片描述][27e568c2f86b451f9f20adc5d6722d9f.png]4个PV,但是都是NFS类的 更改下、 ![在这里插入图片描述][12e509653feb47748f5fd49b36968896.png] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 24]![在这里插入图片描述][2fcdd5e094ed4453873bf4c87291ab25.png] 创建SVC和Statefulset ![在这里插入图片描述][8821823a28e540d299442319df3edf7d.png] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 25]![在这里插入图片描述][109b9b44e8864e01b27bb47e141fc07b.png] 挂载的是名字为WWW的卷 挂载在XX目录下 声明一个卷的请求的模板 访问模式是readwriteonce 类必须是nfs类 申请的卷的大小必须满足1Gi ![在这里插入图片描述][9cd728760f0c4464b76d4171d9a489c1.png] ![在这里插入图片描述][b5d4667f474f41c59383f566a6021608.png] ![在这里插入图片描述][67d784545152448ea7703db494e00483.png]没有对应的请求能被绑定了 ![在这里插入图片描述][00f2390ae621403089c65cb6680d72de.png]查看pod.yaml ![在这里插入图片描述][109b9b44e8864e01b27bb47e141fc07b.png] PVC的请求中需求是RWO,nfs,必须是满足的。大小大于等于即可。优先选择小资源绑定。 只有第一个是符合的 所以被绑定了 Bound 因为副本数目是3,第二个都没有绑定成功。 ![在这里插入图片描述][98201e1181d84a8989ddfbf08272a452.png] 所以第二个也没有创建成功,因为按顺序执行,第一个没有running后续无法继续 因为每个POD只能挂载一个PV。 因为绑定不了,所以更改pv3和4为符合要求的重新测试下。 ![在这里插入图片描述][531655c5c7494c4aa051fc7b438939a0.png] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 26] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 27]![在这里插入图片描述][8722c16dffa547008c3dcab3265ad60f.png] ![在这里插入图片描述][fd8d36abdcff455aaec3261b892bba41.png] 可以看到pod也绑定成功并创建出来了 ![在这里插入图片描述][a24607f559fb4b38af8f16c77222ad68.png] ![在这里插入图片描述][304622394d044b279f34707b438bb7df.png] 因为每个Pod都有自己的请求模板。会创建对应的pvc,pvc跟pv匹配。匹配成功后与之绑定。 ![在这里插入图片描述][dc0ad2f0b73f42ddb8d450685076641b.png] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 28]到nfs中看下 cd /nfs ![在这里插入图片描述][b67fbbd55a8d45238411773d8503b838.png] 内容:aaaaaaa ![在这里插入图片描述][6c14217c612248dbb0c5ce11c482f1a0.png] ![在这里插入图片描述][c8edf8958f524d13bc2c774a11b20656.png]看另外的 ![在这里插入图片描述][4cacadd23c2b4735966cc2428a8c81e1.png] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 29]pv3用的是nfs2的存储 ![在这里插入图片描述][122f310d9f9546e183ebdec18fe97b3a.png] bbbbbbbb ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 30]其他的类似访问。 删除一个pod ![在这里插入图片描述][b7da9ec0989e404491d6be25ae67a802.png] ![在这里插入图片描述][343c03aeb8f348cab329ec7a507b5a72.png]重新启动了一个 ![在这里插入图片描述][08be512a80b74d679ded634547856387.png] ip变了,但是内容没变。数据不丢失,就是statefulset的特点。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 31]2.dns域名的这个 尝试Ping ![在这里插入图片描述][ca39856ad9b4451ca9782f343a11ef24.png]ping podname.svc的name 比如web-0 随便进入一个Pod 然后访问web-0看是否能访问成功 ![在这里插入图片描述][3449ea03d38141fc9b3e1e0017494fe6.png] ![在这里插入图片描述][7f7d234cf0634a2590e3b3d4dd88d3d3.png] ![在这里插入图片描述][2da61e672cac41d18d4b3ff716892bfd.png] 可以看到ip是10.244.2.87就是web-0的pod的ip 删除改pod ![在这里插入图片描述][e76056937866490c9fa539749e1559a5.png] 重启了一个新的 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 32] ![在这里插入图片描述][3328c595302c44eea7534b647b6681c7.png] 所以想在pod访问web-0服务,通过这种pod的dns域名的方式访问。 ![在这里插入图片描述][b920fcc809a04a4783b47a80075ea77c.png] ![在这里插入图片描述][c8827f15b192485c9e9f383978c81af9.png]![在这里插入图片描述][f861bdd5ed414d1582c44df6b74aace3.png] ![在这里插入图片描述][a17114dd231b476bbde1d995bbada9c8.png] 这也就是为什么能实现绑定地址不同的原因,通过无头服务绑定的 ![在这里插入图片描述][95a6325868e245c4a41a3c91736041db.png] ![在这里插入图片描述][f0429140d8604d918fa687431208fd0f.png] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 33] 可以看到是从web-2开始删除的 ![在这里插入图片描述][8cedeaf7dc4d4a8f88987f51a1d19a15.png] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 34] 如何删除? ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 35]![在这里插入图片描述][f0d7be3522c44d2799a222b6187ea736.png] pvc这些请求不会因为pod的删除而被删除。 ![在这里插入图片描述][3fe3ec0011ad469b9877b8e93846075a.png] ![在这里插入图片描述][194ac3f4b7e14dfea4ffb7a8cb2da960.png]发现也没有被api调度了, 手动释放资源 ![在这里插入图片描述][b769223c7e5e4c3fa8ee81340b9e900a.png] ![在这里插入图片描述][194ac3f4b7e14dfea4ffb7a8cb2da960.png]发现还是没变 因为nfspv1不会看default/www-web-1下面是什么内容 他只知道在他的数据里依然有一个pvc在连接, ![在这里插入图片描述][a3c601c1b8fa496cb336ca647e1683be.png] ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 36] 还是有使用者信息。 就以为还有人使用 ![在这里插入图片描述][86fea71331b743819a55b02106365ea9.png] 把claimRef部分都删除 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 37]![在这里插入图片描述][bea21cacada4413886b2c1e193466f73.png] 发现已经可用; ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 38] 其他两个回收同理 ![在这里插入图片描述][da53d16ece964528bdb0646ff478ba4f.png] # 连接关系图 # statefulset控制器定义了一些pvc模板, statefulset创建pod,再创建对应的会创建出对应的pvc,pvc就是匹配pv的一些属性准则。 pvc再与pv关联 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 39] [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70]: /images/20220829/e063baf3a0224036b3feead1dd8b6813.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 1]: /images/20220829/3bd35a9a74a141b19ed5e3b6dcb60eca.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 2]: /images/20220829/c03428e1e31e49db9345b92e9d950aef.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 3]: /images/20220829/ca3690c763594d34a8a10037c1075c35.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 4]: /images/20220829/7d5b9e1a5bfc42f2a2b780dcf6db8a9e.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 5]: /images/20220829/dd5aea3ef3c84a089ba08e2cad3ce26f.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 6]: /images/20220829/8969755b99774c8b9463317c68c58a29.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 7]: /images/20220829/3156149d2fc54535ad35566e9e119b24.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 8]: /images/20220829/5229051bc46842888fae9daebcd7b11a.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 9]: /images/20220829/771c5618a0fc416db02954bbfcfca2f0.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 10]: /images/20220829/a16081fcaf12481da31ed76bc2ceb872.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 11]: /images/20220829/35a044b8cf474708853b68b1b32b9093.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 12]: /images/20220829/e27b01d1c9824812aee36556e4299f2c.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 13]: /images/20220829/2dd96f4fb87f434e8bf5283980744dd9.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 14]: /images/20220829/110fd4c225e14707bc0c0c99534e6959.png [67795887b30c4a24923bad2002581f55.png]: /images/20220829/6e02b7e966cd4e768866973764abdbd7.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 15]: /images/20220829/635bc2aadecb46d5a620e96a558956c6.png [7deb8994c519445cac489cbd193099bc.png]: /images/20220829/09f6d564920c4882878ad7e6fd6cbfae.png [8bb08a0c7d2245e3a04c36387fb730fb.png]: /images/20220829/c0ea1863fe314e9d968b7076b29522e3.png [0d5a70f14e1e42ff83a747b866d158c2.png]: /images/20220829/d33812bf329d4f0e8c8329a7ff494449.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 16]: /images/20220829/311cdbd3349e432db3f0e32cc00bfdbc.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 17]: /images/20220829/5b5e187fba91418cb3ff799ab6bb7d0e.png [9a5262049e934181ba3551f81b88d664.png]: /images/20220829/7b39ce9d7a1e470e990968c293d8bc57.png [485d05931b794beab268dacf185426cb.png]: /images/20220829/5bbbf3b54ad941609ec81ae141812d04.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 18]: /images/20220829/b24ff592a1814b03bc1eb59fb020f79a.png [3c50ee6d4a11469ca48ca0b6069495f3.png]: /images/20220829/d2e66aae25f943f6a4d1ce81b5c215ee.png [7c98e6a3aa9c4e25876e0fd68e23593e.png]: /images/20220829/70066424c3794808bf2e2e39637972ad.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 19]: /images/20220829/7789d3d3a84a402fba62e5d5fa3c3c30.png [2ce280f684214f0e96453c5ae0475f6a.png]: /images/20220829/8b588fdda68149b9a1fb6037010bb8a7.png [b55c971cc34d4ad6aa6fc69f6054c82c.png]: /images/20220829/e7183de542ce454c8572456d0e9c52dd.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 20]: /images/20220829/cbab45e843994240b2c65d3acd81ffb9.png [31ec802431ef41abb5854da9ca4f785f.png]: /images/20220829/c0227a4e372b486a8a26ef8d4fe304b1.png [07009f0c45df417a9873f34c58d317dc.png]: /images/20220829/2563eff56000424fbd9e23fafd9fd009.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 21]: /images/20220829/8716a725d8f743bfa4cd0d9857088b21.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 22]: /images/20220829/75014110c3d04ed9bba526a6deececf9.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 23]: /images/20220829/181bd3ef28eb424e998d4cb51f334dae.png [02110365f229482f9a9876036754324f.png]: /images/20220829/f6a4e4d6d49f4a1d8d8c6b8b8dbd9a55.png [27e568c2f86b451f9f20adc5d6722d9f.png]: /images/20220829/a2d4106b8085406389f42aa54b4b418e.png [12e509653feb47748f5fd49b36968896.png]: /images/20220829/04bd585ffca74db6a853d385d0cd5a9c.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 24]: https://img-blog.csdnimg.cn/172420f38ed14315be0562f72b92c8ea.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh,size_16,color_FFFFFF,t_70 [2fcdd5e094ed4453873bf4c87291ab25.png]: /images/20220829/414c70a557a1490e800e1136d4f35b95.png [8821823a28e540d299442319df3edf7d.png]: /images/20220829/c0ab3acae9e24de28afa4586fe83d1fd.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 25]: https://img-blog.csdnimg.cn/7e9bf3d253b947c3a437c33ad40e3f53.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh,size_16,color_FFFFFF,t_70 [109b9b44e8864e01b27bb47e141fc07b.png]: /images/20220829/a28c32e41bb6438290cfcd12166b7c79.png [9cd728760f0c4464b76d4171d9a489c1.png]: /images/20220829/1ff2c65742ae40ea87b0f1853590f0ed.png [b5d4667f474f41c59383f566a6021608.png]: /images/20220829/687192106b6349a9be9c3b85ec4882d5.png [67d784545152448ea7703db494e00483.png]: /images/20220829/93bf3346517e4afda796fd60d1f1a0ad.png [00f2390ae621403089c65cb6680d72de.png]: /images/20220829/5b7e0fd18a884b438183abfca470e35a.png [98201e1181d84a8989ddfbf08272a452.png]: /images/20220829/58544d32352f46e6963f2b0d4a3e4586.png [531655c5c7494c4aa051fc7b438939a0.png]: /images/20220829/48dcba5c230441dbb14536facf15f169.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 26]: /images/20220829/4f263d923b614eafbecfeaa1dd8c5bc0.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 27]: https://img-blog.csdnimg.cn/9ba28bcd754641dc904aa066577225dd.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh,size_16,color_FFFFFF,t_70 [8722c16dffa547008c3dcab3265ad60f.png]: /images/20220829/351a86aa97ca4e79b7186debb32929a4.png [fd8d36abdcff455aaec3261b892bba41.png]: /images/20220829/2105d83751954e4590bcd8530870d1f4.png [a24607f559fb4b38af8f16c77222ad68.png]: /images/20220829/860442cf8f39450fa914711c19a87fcd.png [304622394d044b279f34707b438bb7df.png]: /images/20220829/2a40631d51694d6f9a914b4315d2912a.png [dc0ad2f0b73f42ddb8d450685076641b.png]: /images/20220829/dc02829fe50e472ba85d3e938de8ee72.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 28]: /images/20220829/040fc9673cfb492a9fcc222d1e186a05.png [b67fbbd55a8d45238411773d8503b838.png]: /images/20220829/a47bd01ebb0f44e283fd7e3d0137705a.png [6c14217c612248dbb0c5ce11c482f1a0.png]: /images/20220829/4a9e4a8d83eb4937a8885dbb2bacc6f4.png [c8edf8958f524d13bc2c774a11b20656.png]: /images/20220829/a22d99bb2daa4cf194899771d8517431.png [4cacadd23c2b4735966cc2428a8c81e1.png]: /images/20220829/49b97b39912d40d3a5d0bb0f005bed3e.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 29]: /images/20220829/047d1771491e46d89ca17dc06fddfea5.png [122f310d9f9546e183ebdec18fe97b3a.png]: /images/20220829/cd32b806210d45a997838187450a166e.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 30]: /images/20220829/ef2b86079f1a4806a53bf7913a97552d.png [b7da9ec0989e404491d6be25ae67a802.png]: /images/20220829/4b540a87341848caad4e49c30b828d8e.png [343c03aeb8f348cab329ec7a507b5a72.png]: /images/20220829/2d51e4c2332c4bf190df529ec4c7fa59.png [08be512a80b74d679ded634547856387.png]: /images/20220829/774f6c3f0c6543aebf8de938d6d456bc.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 31]: /images/20220829/cffd39cc5993461580261269cfa0da39.png [ca39856ad9b4451ca9782f343a11ef24.png]: /images/20220829/36d82e88c3f34c8398008091b3fdf52e.png [3449ea03d38141fc9b3e1e0017494fe6.png]: /images/20220829/72e6a8db42e94d6aa6c3cdde53fdd4e1.png [7f7d234cf0634a2590e3b3d4dd88d3d3.png]: /images/20220829/cac0577c72aa4e8e98c95918ec964402.png [2da61e672cac41d18d4b3ff716892bfd.png]: /images/20220829/56c035e42019491580a35628d7da9e5e.png [e76056937866490c9fa539749e1559a5.png]: /images/20220829/eb4a0668f8874124b1987f97b8a81679.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 32]: /images/20220829/f6117652c37545008d6da533a719b242.png [3328c595302c44eea7534b647b6681c7.png]: /images/20220829/0d7914604a504d94b6f928482385c725.png [b920fcc809a04a4783b47a80075ea77c.png]: /images/20220829/c461727ee084413eb2d39c8a0e463c52.png [c8827f15b192485c9e9f383978c81af9.png]: https://img-blog.csdnimg.cn/c8827f15b192485c9e9f383978c81af9.png [f861bdd5ed414d1582c44df6b74aace3.png]: /images/20220829/7c9b413d4264410c998093b29c52b4f3.png [a17114dd231b476bbde1d995bbada9c8.png]: /images/20220829/d22edf0c563543acafa6c3180bc3b29b.png [95a6325868e245c4a41a3c91736041db.png]: /images/20220829/f1d2fab9cdec4aaa8a298241c3a07a77.png [f0429140d8604d918fa687431208fd0f.png]: /images/20220829/595cc9293ae14d04a631883df79634be.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 33]: /images/20220829/92b07f59da0744cc9fcd3bf7b5b29e92.png [8cedeaf7dc4d4a8f88987f51a1d19a15.png]: /images/20220829/c16ad4cc5784431eb792029400a6169c.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 34]: /images/20220829/2806eedb09624261b5536198acdfe667.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 35]: https://img-blog.csdnimg.cn/f541aa22a5db4db59f5b6bebe910f492.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh,size_16,color_FFFFFF,t_70 [f0d7be3522c44d2799a222b6187ea736.png]: /images/20220829/de33d33912a244ba91a6d5d0c9fcc27b.png [3fe3ec0011ad469b9877b8e93846075a.png]: /images/20220829/248e2f84ba9947edb48ffd85c750809d.png [194ac3f4b7e14dfea4ffb7a8cb2da960.png]: /images/20220829/a23934d0ae914cb2beba05f6475e1771.png [b769223c7e5e4c3fa8ee81340b9e900a.png]: /images/20220829/0b7b9c2eb0b844ee880c387157828b8f.png [a3c601c1b8fa496cb336ca647e1683be.png]: /images/20220829/66c19783dd1a4ceda2bb4d962afc5f8d.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 36]: /images/20220829/02806b0adc1e4a2eaeb778cc8a81f77c.png [86fea71331b743819a55b02106365ea9.png]: /images/20220829/86852236b98847c4b01babc203c6ccb8.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 37]: https://img-blog.csdnimg.cn/b2f32d0ab6974636b7c3bbf9610adf08.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh,size_16,color_FFFFFF,t_70 [bea21cacada4413886b2c1e193466f73.png]: /images/20220829/9e3687c1ed0e49d28bfd8c5ebee5a81c.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 38]: /images/20220829/12565ed4a07d421497de6a15bd2ee255.png [da53d16ece964528bdb0646ff478ba4f.png]: /images/20220829/9a87cf9a742d40d992566142d864568b.png [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FzdWZlaXlh_size_16_color_FFFFFF_t_70 39]: /images/20220829/2ac74d2ebb454fcdb0a80f929503366d.png
还没有评论,来说两句吧...