- 博客(155)
- 收藏
- 关注
原创 我的创作纪念日
提示:你过去写得最好的一段代码是什么?提示:当前创作和你的工作、学习是什么样的关系。提示:在创作的过程中都有哪些收获。提示:职业规划、创作规划等。先是生产用到了,才会去看。
2023-03-04 15:26:25 237 1
原创 ceph集群搭建
CRUSH先将数据分解成一组对象,然后根据对象名称、复制级别和系统中的PG数等信息执行散列操作,再将结果生成PG ID。可以将PG看做一个逻辑容器,这个容器包含多个对象,同时这个逻辑对象映射之多个OSD上。如果没有PG,在成千上万个OSD上管理和跟踪数百万计的对象的复制和传播是相当困难的。没有PG这一层,管理海量的对象所消耗的计算资源也是不可想象的。建议每个OSD上配置50~100个PG。如过定义PG数一般的:少于5个OSD则PG数为1285-10个OSD则PG数为512。
2023-01-02 11:14:09 1566
原创 ceph--理论
切割后的对象怎么选择到对应的OSD存储节点,需要依赖于Ceph的智能调度算法CRUSH,通过CRUSH算法将对象调度到合适的OSD节点上,不管是客户端还是OSD,均使用CRUSH算法来计算对象在集群中OSD的位置信息,同时保障object的副本能落到合适的OSD节点上。Ceph中一切皆对象,不管是RBD块存储接口,RGW对象存储接口还是文件存储CephFS接口,其存储如到Ceph中的数据均可以看作是一个对象,一个文件需要切割为多个对象(object),然后将object存储到OSD中。
2022-12-28 21:13:07 957 1
原创 爱看广场舞的老爷爷的笔记--Gitlab常用命令
一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令下面是我整理的常用Git命令清单。几个专用名词的译名如下。Workspace:工作区:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库。
2022-10-22 20:22:31 162
原创 Apache+SVN 服务搭建
SVN 是最流行的版本管理软件之一,可以为源码或者文档记录每次的修改记录,是开发团队协作必备的工具。svn是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion,简单来说SVN就是用于多个人共同开发同一个项目,共用资源的目的。SVN 版本控制系统, 在 2000 年由 CollabNet Inc 开发,现在发展成为 Apache 软件基金会的一个项目。
2022-10-19 22:45:44 623
原创 禁用THP原因
我们之前在生产环境上遇到过很多起由操作系统的某些特征引起的性能抖动案例,其中 THP 作案次数较多,因此本文将和大家分享 THP 引起性能抖动的原因、典型的现象,分析方法等,在文章的最后给出使用 THP 时的配置建议及关闭方法。
2022-10-13 22:10:27 956
原创 podman--续(补充上一篇)
Podman 是一个开源的容器运行时项目,可在大多数 Linux 平台上使用。Podman 提供与 Docker 非常相似的功能。正如前面提到的那样,它不需要在你的系统上运行任何守护进程,并且它也可以在没有 root 权限的情况下运行。Podman 可以管理和运行任何符合 OCI(Open Container Initiative)规范的容器和容器镜像。Podman 提供了一个与 Docker 兼容的命令行前端来管理 Docker 镜像。
2022-10-11 20:41:52 207
原创 Windows系统内远程控制软件VNC安装使用教程
如果需要将VNC服务器配置为多个用户启动显示,请使用vncserver命令创建初始配置并设置密码,然后使用其他端口创建新的服务文件。
2022-10-11 16:14:21 24183
原创 Postman 初始
所谓的查询参数,其实就是URL地址中问号(?)后面的部分就叫查询参数,比如:http://cx.shouji.360.cn/phonearea.php?
2022-10-10 23:21:51 1668
原创 K8S中的pod自动扩容与缩容
Horizontal Pod Autoscaler(HPA,Pod水平自动伸缩),根据平均 CPU 利用率、平均内存利用率或你指定的任何其他自定义指标自动调整 Deployment 、ReplicaSet 或 StatefulSet 或其他类似资源,实现部署的自动扩展和缩减,让部署的规模接近于实际服务的负载。HPA不适用于无法缩放的对象,例如DaemonSet。
2022-09-28 16:29:04 5324
原创 Helm扩展
helm version // 查看helm版本helm create xxx // 创建一个xxx chartshelm lint ./xxx // 检查包的格式或信息是否有问题helm install xxx1 ./xxx // 部署安装xxx,设置名称为xxx1helm list // 列出已经部署的chartshelm history // 发布历史helm upgrade // 更新版本helm rollback // 回滚版本。
2022-09-25 17:20:46 1104
转载 K8S中的Helm
Helm Chart 模板是按照 Go 模板语言书写, 增加了 50 个左右的附加模板函数 来自 Sprig 库 和一些其他 指定的函数。所有模板文件存储在 chart 的templates/文件夹。当 Helm 渲染 chart 时,它会通过模板引擎遍历目录中的每个文件。模板的 Value 通过两种方式提供:Chart 开发者可以在 chart 中提供一个命名为的文件。这个文件包含了默认值。Chart 用户可以提供一个包含了 value 的 YAML 文件。
2022-09-25 15:00:50 4303
原创 服务监控--zabbix
案列:自定义监控客户端服务器登录的人数需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息//在客户端创建自定义 key1.明确需要执行的 linux 命令2.创建 zabbix 的监控项配置文件,用于自定义 key#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中#自定义监控项的格式如下3.在服务端验证新建的监控项//在 Web 页面创建自定义监控项模板1.创建模板点击左边菜单栏【配置】中的【模板】,点击【创建模板】
2022-09-08 12:11:47 2584
原创 kafka常用命令
一. kafka-topic.sh脚本相关常用命令,主要操作 Topic。创建名字为 "op_log" 的 Topic。查看指定 ZK 管理的 Topic 列表查看指定 Topic 的详细信息,包括 Partition 个数,副本数,ISR 信息修改指定 Topic 的 Partition 个数。删除名字为 "op_log" 的 Topic。
2022-08-25 15:55:59 1832
原创 nginx-module-vts监控nginx流量
监控Nginx主要用到以下三个模块:1、nginx-module-vts:Nginx virtual host traffic status module,Nginx的监控模块,能够提供JSON格式的数据产出。主要用于收集Nginx的监控数据,并给Prometheus提供监控接口,默认端口号9913。3、Prometheus:监控Nginx-vts-exporter提供的Nginx数据,并存储在时序数据库中,可以使用PromQL对时序数据进行查询和聚合。
2022-08-25 00:21:27 1644
原创 Kafka消息系统
Kafka — 高并发、高可用、高性能 高可用:多副本机制 高并发:网络架构设计 三层架构:多selector -> 多线程 -> 队列的设计(NIO) 高性能:写数据:把数据先写入到OS Cache写到磁盘上面是顺序写,性能很高读数据:根据稀疏索引,快速定位到要消费的数据零拷贝机制 减少数据的拷贝 减少了应用程序与操作系统上下文切换KafkaManager — 页面管理工具分区:1、没有设置key我们的消息就会被轮训的发送到不同的分区。2、设置了key。
2022-08-24 01:01:22 950
原创 CI/CD流水线
在CI/CD和DevOps领域中,持续交付和持续部署是一个老生常谈的话题。持续集成这个术语最早是在1994年由Grady Booch提出。微服务提出者Martin Flower在2014年发表的论文《Microservice》中也对软件开发持续集成提供了可参考原则。持续集成是借助工具对软件项目进行持续的自动化的编译打包构建测试发布,来检查软件交付质量的一种行为。而持续部署是基于持续交付的优势自动将经过测试的代码推入生产环境的过程。下文从细节描述了持续集成和持续部署各阶段的关键步骤,以下是原文。
2022-08-22 21:23:19 498
原创 渗透测试神器--Kali系统部署
Kali Linux是一个基于Debian的Linux发行版,通常应用在高级渗透测试和安全审计场景中。Kali Linux 系统中内置了数百种工具,适用于各种信息安全任务,如渗透测试,安全研究,计算机取证和逆向工程。Kali Linux由公司Offensive Security 开发,资助和维护。Kali Linux于2013年2月13日发布,Kali 的前身是基于BackTrack Linux,自上而下的重建,完全符合Debian 开发标准。...
2022-08-17 23:03:16 2945
原创 Prometheus部署2.0
引言:上一版不行,换个方式是指我们日常监控主机的资源用量、容器的运行状态、数据库中间件的运行数据。这些都是支持业务和服务的基础设施,通过白盒能够了解其内部的实际运行状态,通过对监控指标的观察能够预判可能出现的问题,从而对潜在的不确定因素进行优化。即以用户的身份测试服务的外部可见性,常见的黑盒监控包括 HTTP探针、TCP探针、Dns、Icmp等用于检测站点、服务的可访问性、服务的连通性,以及访问效率等。黑盒监控相较于白盒监控最大的不同在于黑盒监控是以故障为导向当故障发生时,黑盒监控能快速发现故障,而白盒监控
2022-08-17 18:36:15 626
原创 Oracle 11G 安装图解
Oracle Database,又名Oracle RDBMS,或简称Oracle 是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。...
2022-08-16 11:19:37 463
原创 Prometheus中的promQL语句
返回过去两小时的CPU的温度差该函数一般使用在gauge类型的时间序列上。# 返回区间向量中每个时间序列过去5分钟内HTTP请求数的增长数increase的返回值类型只能是计数器类型,主要作用是增加图表和数据的可读性。使用rate函数记录规则的使用率,以便持续跟踪数据样本值的变化。...
2022-08-14 01:01:16 2260
原创 爱看广场舞的老爷爷的笔记---为什么不建议你在 Docker 中跑 Mysql
认真分析大家的各种观点,发现赞同者仅仅是从容器优势的角度来阐述 MySQL 需要容器化,几乎没有什么业务场景进行验证自己的观点;反过来再看反对者,他们从性能、数据安全等多个因素进行阐述 MySQL不需要容器化,也举证了一些不适合的业务场景。下面,我们就聊一下 Docker 不适合跑 MySQL 的 N 个原因!...
2022-08-11 23:12:36 94
原创 Prometheus持久化安装
前言:在早期的版本中 Kubernetes 提供了 heapster、influxDB、grafana 的组合来监控系统,所以我们可以在 Dashboard 中看到 heapster 提供的一些图表信息,在后续的版本中会陆续移除掉 heapster,现在更加流行的监控工具是 prometheus,prometheus 是 Google 内部监控报警系统的开源版本,是 Google SRE 思想在其内部不断完善的产物,它的存在是为了更快和高效的发现问题,快速的接入速度,简单灵活的配置都很好的解决了这一切,而且
2022-08-11 17:30:05 735
原创 Prometheus原理介绍
Prometheus由Go语言编写而成,采用Pull方式获取监控信息,并提供了多维度的数据模型和灵活的查询接口。Prometheus不仅可以通过静态文件配置监控对象,还支持自动发现机制,能通过Kubernetes、Consl、DNS等多种方式动态获取监控对象。在数据采集方面,借助Go语音的高并发特性,单机Prometheus可以采取数百个节点的监控数据;在数据存储方面,随着本地时序数据库的不断优化,单机Prometheus每秒可以采集一千万个指标,如果需要存储大量的历史监控数据,则还支持远程存储。...
2022-08-11 14:45:45 854
原创 Linux日志切割工具logrotate原理和配置详解
logrotate.conf 才主要的配置文件,logrotate.d 是一个目录,该目录里的所有文件都会被主动的读入/etc/logrotate.conf中执行。另外,如果 /etc/logrotate.d/ 里面的文件中没有设定一些细节,则会以/etc/logrotate.conf这个文件的设定来作为默认值。Logrotate是基于CRON来运行的,其脚本是/etc/cron.daily/logrotate,日志轮转是系统自动完成的。......
2022-08-11 13:53:35 1895
原创 k8s--RC
1.Pod期待的副本数(replicas)2.用于筛选目标Pod的Label Seletcor(标签选择器)3.当Pod的副本小于预期(replicas)时,用于创建新Pod的Pod模板(template)
2022-08-10 17:57:31 371
原创 K8S中的ingress
Kubernetes暴露服务的方式目前只有三种:LoadBlancer Service、NodePort Service、Ingress;这一片主要聊聊Ingress。
2022-08-09 20:34:02 22993 7
原创 K8S的安全机制
访问K8S集群的资源需要过三关:认证、鉴权、准入控制普通用户若要安全访问集群API Server,往往需要证书、 Token或者用户名+密码;Pod访问,需要ServiceAccountK8S安全控制框架主要由下面3个阶段进行控制,每一个阶段 都支持插件方式,通过API Server配置来启用插件。1. Authentication:用于识别用户身份, 方式有: SSL证书,token, 用户名+密码等2. Authorization:确认是否对资源具有相关的权限。......
2022-08-07 21:21:00 1535
原创 K8S配置管理---secret与configmap
在部署应用程序时,我们都会涉及到应用的配置,在容器中,如Docker容器中,如果将配置文件打入容器镜像,这种行为等同于写死配置,每次修改完配置,镜像就得重新构建。当然,我们也可以通过挂载包含该文件的卷进行配置管理和修改。而在k8s中,我们要讲一种更好的方式,即ConfigMap,这种资源对象的出现,更是极大的方便了应用程序的配置管理。 ConfigMap是一个或多个key/value的形式保存在k8s中,内部可以管理变量也可以管理完整的配置文件内容。注:在使用命令的时候注意单词: configmap等价
2022-08-07 10:43:13 786
原创 企业级监控服务器构建
作为一名Linux SA,日常最重要的就是保证网站正常稳定的运行,我们需要实时监控网站、服务器的运行状态,这时需要借助开源软件(cacti、nagios、zabbix等)监控来实现。Cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。...
2022-08-06 14:59:00 458
原创 Kubernetes之list-watch机制
List-watch 是 K8S 统一的异步消息处理机制,保证了消息的实时性,可靠性,顺序性,性能等等,为声明式风格的 API 奠定了良好的基础,它是优雅的通信方式,是 K8S 架构的精髓。1、Kubernetes 是通过 List-Watch 的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。2、用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 Node 节点上面建立 Pod 和 Container。...
2022-08-04 09:46:46 2161
原创 KubeDNS 和 CoreDNS
kubedns 有两个模块,kubedns和skydns,kubedns负责监听Service和Endpoint并将它们转换为 skydns 能够理解的格式,以目录树的形式存在内存中。因为 skydns 是以 etcd 的标准作为后端存储的,所以为了兼容 etcd ,kubedns 在某些错误信息方面也都以 etcd 的格式进行定义的。因此 kubedns 的作用其实可以理解为为 skydns 提供存储。......
2022-08-03 21:58:25 1469
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人