自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(108)
  • 收藏
  • 关注

原创 RedHat 8 破解root密码

1.首先开机进入grub界面2.内核选择界面按e,将光标移到Linux 那一行末尾,如果是物理机,添加rd.break,如果是虚拟机,添加rd.break console=tty0,这里我们是实验环境就后面那个选项tty即使指向激活的终端,而一般Linux系统都有tty1——6共6个虚拟终端,一个图形终端,tty0也是默认是当然使用(激活)的终端3.下面进入switch——root4.这边进行重新挂载得跟文件系统 -o <选项> 指定挂载文件系统时的选项 defaul

2021-01-12 16:20:50 2076

原创 特殊权限-SUID,SGID,Stick讲解

SUID :运行某程序时,相应进程的属主是程序文件自身的属主,而不是启动者​ chmod u+s FILENAME (添加 SUID 权限) chmod u-s FILENAME (除去SUID 权限)​ 如果 FILE 本身原来就有执行权限,则 SUID 显示为 s ; 否则显示 S;​ passwd 命令默认具有 SUID 权限SGID :运行某程序时,相应进程的属组是程序文件自身的属组,而不是启动者​ (目录有SGID权限后,在该

2020-12-30 16:35:44 490

原创 搭建Gitlab教程详解

文章目录一:git的优点1.1:GitLab与GitHub的不同1.2:Gitlab的优势和应用场景1.3:GitLab主要服务构成1.4:GitLab的工作流程一:安装ssh1.1将ssh服务器设置成开机启动1.2:关闭防火墙1.3:安装Postfix以发送邮件通知1.4:wget用于外网下载插件1.5:配置域名二:添加GitLab镜像源并安装gitlab服务器2.1:添加gitlab镜像2.2:安装gitlab2.3:修改gitlab配置文件指定服务器IP和自定义端口2.4:重启Gitlab2.5:G.

2020-11-08 22:53:07 10577

原创 Squid安装与配置

文章目录一:squid概述1.1:squid代理的作用1.2:缓存代理概述1.21:Web代理的工作机制1.3:代理的基本类型二:案例一:传统代理2.1:安装squid服务2.2:修改主配置文件2.3:创建systemctl启动脚本2.4:设置缓存参数2.5:设置防火墙规则2.6:配置web端和客户端2.7:打开客户进行配置2.8:查看web端httpd的访问日志三:squid缓存服务器---透明代理3.1:在传统模式的基础上配置【全部仅主机模式】3.2:配置squid双网卡 ens33内网 ens36外.

2020-10-24 15:25:36 5069

原创 Redis持久化AOF与RDB讲解

Redis持久化AOF与RDB讲解文章目录Redis持久化AOF与RDB讲解一、持久化流程1.1:什么是RDB?1.2:RDB优缺点二:AOF(Append Only File)2.1:AOF优缺点2.2:性能建议2.3:RDB和AOF到底该如何选择redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失。幸好Redis还为我们提供了持久化的机制,分别是RDB(Redis DataBase)和AOF(Append Only File)。一、持久化流程既然re

2020-10-22 00:28:49 231

原创 zabbix设置报警发邮件你都学会了?

zabbix设置报警发邮件文章目录zabbix设置报警发邮件一:服务端配置邮件报警功能Mailx1.1:配置网易163授权码1.2:配置邮件发送1.3:编写发邮件脚本本篇文章主要介绍如何配置zabbix借助外部邮件进行发送邮件报警,zabbix通过配置文件调用mailx来进行邮件的发送。在Centos6以上的版本默认已经安装了mailx。一:服务端配置邮件报警功能Mailx[root@zabbix ~]# yum install mailx -y1.1:配置网易163授权码1.2:配置邮件发

2020-10-21 00:36:27 2784 4

原创 LAMP环境下zabbix 4.0安装配置

文章目录一:zabbix概述1.1:Zabbix功能1.2:Zabbix 优劣势二:zabbix部署安装2.1:安装LNMP2.2:安装mysql 5.72.3:安装php7.22.4:配置nginx支持php2.5:优化php配置文件2.6:测试连接数据库2.61:mysql数据库创建zabbix用户2.7:部署zabbix的server2.8:在页面安装过程中遇到无法创建的问题三:配置代理端3.1:安装yum源与zabbix代理3.2:修改zabbix代理配置文件并开启服务3.3:进行添加新主机Za.

2020-10-20 22:03:53 670 2

原创 Ansible之使用Playbooks详解

Ansible之使用Playbooks详解文章目录Ansible之使用Playbooks详解一:Playbook概述1.1:playbook格式1.2:inventory主机清单1.3:inventory变量1.31:inventory变量参数1.4:YAML标记语言1.5:Playbook核心元素1.6:hosts和users介绍1.7:tasks列表和action1.8:Handlers介绍1.9:playbook使用变量的方法2.0:条件测试2.11:多条件判断2.12:组条件判断2.13:自定义变

2020-10-20 21:10:04 1932 1

原创 Ansible常用几种命令行模块详解示例

Ansible可以使用命令行方式进行自动化管理,它的命令行管理工具都是由一系列模块、参数所支持的文章目录1、command模块2、cron模块【计划性任务】3、user模块4、group模块5、copy模块6、file模块7、ping模块8、yum模块9、service模块10、shell模块11、script模块12、setup模块1、command模块命令格式-m选项指定使用模块,默认使用command模块,用于在被管理主机上运行命令。ansible [主机] [-m 模块] [-a arg.

2020-10-18 14:04:51 1128 2

原创 ansible基础-ansible角色的使用

ansible基础-ansible角色的使用一:Roles的概述Roles能够根据层次型结构自动装载变量文件、task以及handlers等。简单来讲,Roles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中,并可以便捷地include它们。Roles一般用于基于主机构建服务的场景中,但也可以用于构建守护进程等场景中。1.1:Roles的目录目录名称具体含义files用来存放由copy模块或script模块调用的文件templates用来存放j正

2020-10-16 12:21:09 261

原创 自动化运维Ansible之安装部署

自动化运维Ansible之安装部署文章目录自动化运维Ansible之安装部署一:ansible简单介绍1.1:Ansible架构图及工作流程1:2:ansible工作机制二:Ansible基础安装部署2.1:安装Ansible2.2:配置ssh分发2.21:生成密钥2.22:分发密钥到被管理端2.3:设置免交互ssh-agent代理一:ansible简单介绍ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric

2020-10-16 10:51:26 423 2

原创 k8s之安全信息(secret)及配置信息(configmap)管理

k8s之安全信息(secret)及配置信息(configmap)管理文章目录k8s之安全信息(secret)及配置信息(configmap)管理一:secret和configMap的区别2.2:通过YAML创建Secret2.3:以环境变量的方式使用secret2.31:方式一:使用secret中的变量导入到pod中2.4:volume 方式使用 Secret三:configMap数据的两种引用方式3.1:创建kubectl3.2:第二种变量参数形式前言在K8s中有Secret和configMap这两

2020-10-16 09:30:26 634

原创 k8s--五种控制器类型及演示

k8s控制器类型及演示文章目录k8s控制器类型及演示一、为什么要有控制器二、K8S有哪些控制器2.1:pod与控制器之间的关系2.2:Deployment(无状态化应用)2. 3:StatefulSet(有状态应用应用)2.31:有状态与无状态化对特点2.32:常规的service服务和无头服务的区别2.33:配置service资源2.34:创建Headless service 无头服务资源和dns资源2.35:使用CoreDNS实现Kubernetes基于DNS的服务发现2.4: DaemonSet2.

2020-10-15 02:02:57 1001

原创 k8s----pods调度流程【NodeName、NodeSelecto方式】、常见错误状态

k8s----pods调度约束文章目录k8s----pods调度约束一:kubernetes 创建Pod 的 工作流1.1:调度方式1.2:nodeName方式1.3:nodeSelector方式1.4:常见错误状态的问题我们知道Pod是Kubernetes中最小的调度单元,平时我们操作Pod的时间也是最多的,那么你知道Pod是怎样被创建出来的吗?知道他的工作流程吗?以下提供的创建pod时序图一:kubernetes 创建Pod 的 工作流那么我们创建Pod的时候到底发生了什么呢?是怎样创建成功

2020-10-14 17:36:13 668

原创 k8s--Pod资源控制器限制配置【探针方式、重启策略】

文章目录一:资源请求和Pod和容器的限制1.1:编写yaml文件,并创建pod资源二:pod的重启策略2.1:查看pod资源的重启策略2.11:编写一个yaml文件2.12:创建pod资源2.13:修改shua2.yaml的重启策略改为Never重启从不重启三:K8S使用就绪和存活探针配置健康检查3.1:探针的三种检查方式3.2:使用exec方式检查3.3:使用httpGet方式检查3.4:定义TCP活动探针资源类型在K8S中可以对两类资源进行限制:cpu和内存。CPU的单位有:正实数,代表分配.

2020-10-13 23:55:15 1476

原创 k8s+harbor私有仓库部署你学会了吗?

k8s+harbor私有仓库部署他来了文章目录k8s+harbor私有仓库部署他来了一:下载docker二:下载docker Compose三:安装Harbor3.1:登录Harbor私有仓库3.2:node节点配置连接私有仓库3.3:登录Harbor私库3.4:下载Tomcat镜像进行推送3.41:推送镜像到私库3.42:在harbor仓库中可查到上传的镜像3.43:master节点创建一个yuml文件3.44:创建tomcat服务,并访问tomcat主页3.5:查看登录凭证3.6:在master创建一

2020-10-13 13:10:16 2324

原创 Kubernetes 容器分类、镜像拉取策略

文章目录一:pod的容器分类:1.1:infrastructure container 基础容器1.2:initContainers:初始化容器1.3:container:业务容器二:镜像拉取策略(image PullPolicy)2.1:查看已创建deployment的拉取政策2.2:编写pod1.yuml去拉取政策2.21:查看详细容器信息2.22:查看分配节点2.21:在任意node节点使用curl查看头部信息本文主要介绍Pod,了Kubernetes对象模型中可部署的最小对象。了解PodPo

2020-10-12 19:50:48 1098

原创 ELK启动报错

ELK启动报错Running “connect:server” (connect) taskWaiting forever…Fatal error: Port 9100 is already in use by another process.npm ERR! code ELIFECYCLE[root@node1 elasticsearch-head]# npm run start & [2] 12761[root@node1 elasticsearch-head]# > e

2020-10-12 08:43:20 608 2

原创 k8s--kubectl 常用命令总结

本文主要介绍kubernetes排查问题时经常用到的命令。这里主要借助kubectl命令来实现。以下列出常用命令,后面会对每个命令进行详细解释,并举例一:使用kubectl命令管理项目的生命周期项目的生命周期,创建、发布、更新、回滚、删除1.1:创建kubectl run命令replicas:副本数量[root@master ~]# kubectl run nginx-test --image=nginx:latest --port=80 --replicas=3'//-w 动态查看'..

2020-10-11 22:05:24 1229

原创 ELK日志分析系统理论加实操演练!!

ELK日志分析系统理论加实操演练!!文章目录ELK日志分析系统理论加实操演练!!一:ELK统一日志系统1.1:ELK日志系统数据流图二:Logstash进行日志采集2.1:Logstash架构三:Kibana介绍3.1:Kibana主要功能四:部署步骤4.1:在node1,node2上安装elasticsearch4.2:配置elasticsearch主配置文件4.3:创建数据存放路径并授权4.4:在node1,node2上安装node组件依赖包4.5:安装phantomjs前端框架4.6:安装elast

2020-10-11 21:34:03 305

原创 k8s-YAML配置文件你还不会??

kubectl-YAML配置文件他不会缺席文章目录kubectl-YAML配置文件他不会缺席1、使用TAML文件创建资源对象1.11:编辑测试文件1.12:创建deployment1.13:查看标签1.14:通过标签查找pod1.2:创建service提供对外访问的接口1.21:创建Service1.3:详解k8s中的pord1.31:生成YAML或者JSON文件YAML是专门用来写配置文件的语言,非常简洁和强大,使用比json更方便。它实质上是一种通用的数据串行化格式。YAML语法规则:大小

2020-10-11 17:02:19 641

原创 配置kubernetes UI图形化界面与谷歌浏览器访问k8s页面问题解决

文章目录一:web页面部署1.1:创建相应的pod1.2:客户端访问web界面进行验证1.3:解决谷歌无法验证证书问题1.4:使用令牌进行访问Kubernetes Dashboard(仪表盘)是Kubernetes项目中基于Web监控和操作界面的项目。在早期的版本中 Kubernetes可以在 Dashboard 中看到 heapster 提供的一些图表信息,在后续的版本中会陆续移除掉 heapster,现在更加流行的监控工具是 prometheus,prometheus 是 Google内部监控

2020-10-08 23:48:35 634

原创 二进制搭建kubernetes多master集群【配置k8s master及高可用】

文章目录一:master2部署二:k8s负载均衡部署实现高可用2.1:nginx01、nginx02安装nginx服务2.2:配置nginx部署keepalived服务2.3:创建监控脚本并启动服务2.4:查看nginx01漂移地址2.5:验证漂移地址2.6:恢复漂移地址2.7:修改node节点配VIP(bootstrap.kubeconfig)Kubernetes作为近几年最具颠覆性的容器编排技术,广泛应用与企业的生产环境中,相较于前几年的docker-swarm的编排方式,Kubernetes无疑.

2020-10-06 17:21:16 752

原创 kubernetes 二进制部署单Master群集超详细!

文章目录一:ETCD群集部署1.1:建立工作目录存放二进制软件包1.1:创建SSL证书1.11:配置etcd证书自签CA1.12:使用自签CA签发ETCD HTPPS证书1.13:生成CA证书和CA私钥和CSR(证书签名请求)1.14:创建ETCD server证书1.2:配置etcd配置文件1.21:拷贝证书和启动脚本到两个noed节点1.3:部署noed节点1.31:在noed1/noed2节点修改etcd配置文件1.32:启动etcd服务1.33:检查群集健康状态二:docker引擎部署三:部署Fl.

2020-09-30 12:10:35 602

原创 基于Nginx和Consul构建高可用及自动发现的Docker服务架构

文章目录一:Consul概述二:搭建consul群集2.1:配置 consul 服务器2.11:查看群集信息2.12:通过httpd api可以获得群集信息2.13:让容器服务自动化加入nginx群集2.14:测试服务功能是否能正常访问2.15:在consul服务器查看服务2.2:安装 consul-template2.21:准备template nginx模板文件2.3:编译安装一个nginx服务【做反向代理】2.31:配置nginx2.4:添加一个nginx容器节点2.5:我们去刷新几次nginx首页.

2020-09-27 09:36:51 588 1

原创 Docker高级应用---远程TLS管理(安全认证)

文章目录一、Docker 容器与虚拟机的区别二、Docker 存在的安全问题三、Docker 架构缺陷与安全机制四:Dcoker-TLS加密实战4.1:TLS概述4.2:为什么要使用TLS加密4.3:docker-TLS部署前言TLS(Transport LayerSecurity,安全传输层),TLS是建立在传输层TCP协议之上的协议,服务于应用层,它的前身是SSL(Secure SocketLayer,安全套接字层),它实现了将应用层的报文进行加密后再交由TCP进行传输的功能。TLS协议具.

2020-09-26 12:09:56 1373 1

原创 搭建memcache群集实现高可用【Memcached主主复制+Keepalived】

文章目录一、Memcached作用二:搭建Memcache高可用2.1:memcache主从服务器搭建2.21:主从服务器搭建mencache2.2:主服务器安装magent代理2.3:主从服务器搭建keeplived2.31:修改主服务器中keepalived.conf2.32:配置从服务器中的keepalived.conf2.4:主服务器创建magent脚本2.5:主从服务器启动2.6:验证主从2.7:主从服务器开启memcache并测试本地连接2.8:测试本地是否连接memcache2.9:memc.

2020-09-25 19:05:30 646 1

原创 搭建memcache服务希望对你有所帮助

文章目录一、Memcache概述二、Memcache工作流程2.1:Mencache基本设置三:搭建Memcache3.1:搭建memcache服务器3.2:编译安装memcache和事件库3.3:memcache测试【数据操作】3.4:memcache数据库基本操作四:搭建memcache客户端4.1:搭建memcache客户端4.2:测试服务端4.3:服务端进行测试MemcacheMemcache的作用网上资料都讲的很好,说简单点就是减轻读取数据库的压力,原理也很简单:被请求的数据会先到mem.

2020-09-25 18:38:01 1740 2

原创 Docker----Cgroup原理描述及应用实例操练

文章目录一:CGroup描述1.1:CGroup 支持的文件种类12:CGroup 层级图1.3:CGroup 特点1.4:子系统的介绍1.5:CGroup 典型应用架构图二:使用stress工具压测CPU和内存三:CPU周期限制四:CPU Core 控制:五:CPU 配额控制参数的混合使用:六:内存限额:七:Block IO 的限制:八:bps 和 iops 的限制:前言CGroup 是 Control Groups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组 (proces.

2020-09-25 18:13:11 3134 2

原创 Docker Compose 容器编排配置详解!!

文章目录一:Docker Compos容器编排1.1:Docker Compose配置常用字段1.2:Docker Compose常用命令1.3:Compose命令说明二:编排实例2.1:下载docker-compose2.2:创建工作目录2.3:创建编辑 yml 文件2.4:执行开启,tree查看结构2.5:浏览器访问(本机IP地址为):20.0.0.42:1216定义Docker Compose是容器编排工具,用来定义和运行由多个容器组成的应用。使用 compose,可以通过yaml文件定义应.

2020-09-24 01:07:18 2294

原创 Docker镜像仓库Harbor搭建是你想要的?

文章目录一:Harbor概述1.1:Harbor的优势1.2:Harbro组件二:Docker私有仓库架构拓扑2.1:Harbor安裝方式三:部署Harbor服务3.1:安装docker Compose3.2:配置Harbor3.3:创建Harbor用户3.4:创建项目开发人员3.5:在客户机上操作3.6:在Harbor服务端操作3.61:关闭所有容器3.62:开启全部容器Harbor简介Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,.

2020-09-24 00:32:04 1525

原创 dockerfile构建(ssh、systemctl、nginx、tomcat、mysql)

Dockerfile构建(ssh、systemctl、nginx、tomcat、mysql)文章目录Dockerfile构建(ssh、systemctl、nginx、tomcat、mysql)一、Dockerfile1.1:Docker 执行 Dockerfile 的大致流程:1.2:Dockerfile 各参数详解二:Dockerfile实验:2.1:构建SSH镜像2.2:构建Systemctl镜像2.3:构建Nginx镜像2.5:构建 Tomcat 镜像2.6:删除none镜像2.7:构建 Mysql

2020-09-22 19:29:25 277

原创 Docker数据卷管理 +容器互联+端口映射仔细品

Docker数据卷管理 +容器互联+端口映射文章目录Docker数据卷管理 +容器互联+端口映射一:Docker的数据管理1.1:数据管理操作1.2:两种管理方式二:数据卷2.1:数据卷与数据卷流程说明二:Docker私有仓库建立2.1:私有仓库设置步骤2.2:registry的搭建三:端口映射实现访问容器四:容器互联前言使用容器时会产生一些日志或其他文件,或是我们需要把容器内的数据进行备份,甚至多个容器之间进行数据共享,这样就会涉及容器的数据管理操作。容器中管理数据主要有两种方式: **1. 数

2020-09-21 11:04:42 298

原创 Docker镜像制作的方式与建立私有仓库他来了

Docker镜像制作的方式与建立私有仓库文章目录Docker镜像制作的方式与建立私有仓库一:Docker镜像分层二:Docker镜像的创建2.1:基于已经镜像创建2.2:基于本地模板创建2.3:使用dockerfile创建镜像2.31:Dockerfile的十三个基本指令2.31:Dockerfile结构四部分2.4:使用Dockerfile创建镜像这篇文章主要介绍了 Docker创建镜像两种方法详解的相关资料,Docker创建镜像:一是使用docker commit命令,二是使用本地模板,三是Dock

2020-09-21 09:39:00 189

原创 带你走进Docker基本管理的初篇

Docker基本管理详解【你含泪学!!】文章目录Docker基本管理详解【你含泪学!!】一:什么是Docker?二、Docker的概念2.1:Docker的核心概念2.2:Centos安装Docker的两种方式2.1:集装箱化的优点:2.:3:images和容器三:虚拟机3.1:虚拟机的缺点:四:Linux容器五:容器和虚拟机对比六:Docker安装与优化6.1:镜像加速6.2:网络优化七:Docker基本操作7.1:Docker镜像常用命令1.查看docker版本2.搜索镜像:docker search

2020-09-20 19:20:08 497

原创 群集负载均衡--LVS DR+keepalived部署实战来也

LVS+Keepalived高可用集群文章目录LVS+Keepalived高可用集群KeepAlived 简介一:理解Keepalived实现原理1.1 Keepalived使用场景1.2 Keepalived工具介绍1.3 Keepalived实现原理剖析二、Keepalived的部署2.1 Keepalived案例讲解2.2 Keepalived安装与启动2.3 配置Keepalived master服务器2.4 Keepalived双机热备效果测试三、LVS+Keepalived高可用群集部署3.1

2020-09-14 20:10:19 1106 2

原创 搭建 GFS 分布式文件系统-----实操

文章目录一、GlusterFS 简介:1.1:GlusterFS特点1.2:GlusterFS术语1.3:模块化堆栈构建二:GlusterFS工作原理2.1:Gluester工作流程2.1:弹性 HASH 算法:三:GlusterFS 的卷类型:3.1:分布式卷3.11:创建分布式卷3.2:条带卷3.21:创建条带卷3.3:复制卷3.31:创建复制卷3.4:分布式条带卷3.41:创建分布式条带卷3.5:分布式复制卷3.51:创建分布式复制卷四:GlusterFS部署实操4.1:配置四台节点服务器4.2:修.

2020-09-14 09:57:17 687

原创 rsync远程同步与rsync+inotify实时同步实操

文章目录一:rsync概述1.1:是一款快速增量备份的工具1.2:配置rsync 同步源服务器1.21:rsync同步源1.3:配置rsync源基本思路1.31: 应用示例二:配置rsync配置文件2.1:为备份账号创建数据文件2.2:使用rsync备份工具2.3:配置源的两种表示方法2.4:rsync的免交互处理2.5:设置周期性计划任务三:rsync实时同步3.1:定期同步的不足3.2:实时同步的特特点3.4:Linux内核的inotify机制3.5:调整inotify内核参数不同服务器需要用到同一个

2020-09-10 22:31:39 316

原创 带你了解NoSQL

带你了解NoSQL的文章目录带你了解NoSQL的为什么用Nosql??1、单机MySQL的年代2、Memcache(缓存)+MySQL+垂直拆分(读写分离)3、分库分表+水平拆分+MySQL集群4、如今最近的年代5、目前的一个基本的互联网项目!6、为什么要用NoSQL!二:什么是NoSQL2.1:NoSQL特点2.2:了解:3v+3高三:NoSQL的四大分类1 键值数据库2 文档数据库3 列族数据4 图形数据库NOsql概述NoSQL数据库(Not Only SQL),NoSQL,泛指非关系型的数据库

2020-09-10 00:27:33 335

原创 NoSQL之Redis群集部署

NoSQL之Redis群集部署文章目录NoSQL之Redis群集部署数据分区数据冗余一:部署Redis群集1.1:主从服务器部署Redis1.2:主从服务器文件修改1.3:主服务器安装rvm,RUBY控制集软件1.4:主从服务器自行添加两张网卡(模拟6个节点)1.5:主服务器上创建群集Redis 集群简介Redis Cluster 即 Redis 集群,是 Redis 官方在 3.0版本推出的一套分布式存储方案。完全去中心化,由多个节点组成,所有节点彼此互联。Redis客户端可以直接连接任何一节

2020-09-09 21:41:43 238

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除