- 博客(66)
- 收藏
- 关注
原创 Supervisor安装与配置(linux/unix进程管理工具) Supervisor
是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。因为Supervisor是Python开发的,安装前先检查一下系统否安装了Python2.4以上版本。
2024-07-02 16:20:58
1375
原创 prometheus监控k8s pod
在节点上运行一个日志收集的 agent 这种方式是最常见的一直方法,因为它只需要在每个节点上运行一个代理程序,并不需要对节点上运行的应用程序进行更改,对应用程序没有任何侵入性,但是这种方法也仅仅适用于收集输出到 stdout 和 stderr 的应用程序日志。我们看上面的图可以看到有一个明显的问题就是我们采集的日志都是通过输出到容器的 stdout 和 stderr 里面的信息,这些信息会在本地的容器对应目录中保留成 JSON 日志文件,所以直接在节点上运行一个 agent 就可以采集到日志。
2024-04-26 14:55:01
1112
原创 docker安装elasticsearch8.*完整详细教程
打开 elasticsearch.yml 文件 找到 xpack.security.enabled: true 改为 xpack.security.enabled: false,这样就可以直接 使用http访问,并且不需要账号密码鉴权,这个设置看个人情况,如果是生产环境建议开始开启 https和账号密码鉴权。将elasticsearch.hosts: [ "http://elasticsearch:9200" ] 改为 具体 Elasticsearch 通信地址。es8.0以上默认开启了 ssl 认证。
2024-04-22 23:06:09
2269
原创 Prometheus报错,查不到数据
1.这是因为服务器和本地时间不同步导致的 查看一下服务器时间。2.解决办法 安装时间同步工具。3.请求阿里云的时间服务器。
2024-04-12 16:08:55
668
2
原创 container登录harbor仓库
首先我们需要将私有镜像仓库配置到 containerd 中去,修改 containerd 的配置文件。配置 Harbor 镜像仓库的用户名和密码。表示跳过安全校验,然后通过。
2024-04-09 10:19:48
509
原创 harbor机器断电之后服务正常,但是不能访问问题
4.检查ip端口转发(我这里刚刚开启,之前是关闭的。1是开起,0是关闭)1.进到harbor目录查看harbor服务是否正常。5.改为之后重启就可以正常访问了。
2024-04-07 10:25:55
379
原创 Harbor私有镜像仓库搭建
Docker容器应用的开发和运行路不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
2024-04-02 11:33:54
643
原创 Docker和 Containerd 的区别
自 Docker 开启了使用容器的爆发式增长,有越来越多的工具和标准来帮助管理和使用这项容器化技术,与此同时也造成了有很多术语让人感到困惑。
2024-03-27 11:17:32
1344
原创 完整部署一套k8s-v.1.28.0版本的集群
2.1、所有节点修改防火墙,本次是实验环境,图省事选择关闭防火墙,如果是生产,除非做了公网和内网隔离,还是别关闭吧,做好相关接口开发就行。3.3、配置 systemd cgroup 驱动 在 /etc/containerd/config.toml 中设置。如果遇到的情况是命令卡住不动,大概率是token过期了,回到master节点,执行。创建新的token,替换后重新执行就行 现在可以看到master节点和子节点了。5.2、安装kubeadm、kubelet、kubectl。
2024-03-27 11:08:55
2279
原创 Xshell连接虚拟机非常慢
打开虚拟机连接时发现过了几分钟依然卡着在,但是主机可以ping通虚拟机,虚拟机也可以ping通主机感觉很奇怪,查询后得知需要修改ssh设置。找到 UseDNS,去掉前面的#号将yes改为no。
2024-03-26 21:37:37
805
原创 sox命令用法
play input.wav 播放音频 sox input.wav -n stat 查看音频文件信息 soxi input.wav 查看音频文件信息input sox input.wav -n stat -v 不失真最大调整量 sox -v 0.8 input.wav output.wav 调整音量0.8,(大于1为扩大,小于1为缩小) sox *.wav *1.wav trim 0 10 截取0秒开始,10秒长度的音频 sox *.wav sox
2024-03-24 20:34:15
434
原创 ELK Stack 日志平台搭建
最近在折腾 ELK 日志平台,它是 Elastic 公司推出的一整套日志收集、分析和展示的解决方案。专门实操了一波,这玩意看起来简单,但是里面的流程步骤还是很多的,而且遇到了很多坑。在此记录和总结下。本文亮点:一步一图、带有实操案例、踩坑记录、与开发环境的日志结合,反映真实的日志场景。ELK Stack 方式:Elasticsearch + Logstash + Filebeat + Kibana,业界最常见的架构。
2024-02-22 02:11:15
1187
原创 MySQL主从搭建
当需要进行相关技术实验的时候往往都需要涉及到数据库。特别是现在微服务大行其道,公司都在进行微服务拆分,微服务拆分就涉及到数据库的拆分,常见的数据库拆分就是垂直拆分和水平拆分。对于新技术的掌握往往需要进行动手实验,微服务的拆分更是如此,不能停留在理论和头脑风暴中。搭建一套数据库的主从架构是基础的准备工作,下面将演示如何从零开始搭建 MySQL 的主从架构。此套主从架构只可用于个人实验。首先需要准备两台虚拟机,然后在虚拟机上分别安装 MySQL 数据库,然后在进行两个数据库的主从配置。
2024-02-22 02:02:02
647
原创 Kubernetes集群证书过期解决办法
K8S在过期之前,使用kubeadm alpha phase里的certs和kubeconfig命令,同时配合kubelet证书自动轮换机制来解决这个问题(具体操作可以百度搜索),这里介绍证书已经过期的解决方法,以下延长证书过期的方法适合kubernetes1.14、1.15、1.16、1.17、1.18版本。并不会更新 kubelet 证书(kubelet.conf 文件里面写的客户端证书),因为 kubelet 证书是默认开启自动轮回更新的,但是在执行。,没有自动更新 slave 节点。
2024-02-20 13:48:16
2187
原创 k8s集群5个故障案例分析
最近看到了一份收集Kubernetes故障案例的资料,资料由ZalandoTech的高级首席工程师Henning Jacobs加以维护。这个由社区驱动的项目全面介绍了Kubernetes反模式以及为何导致Kubernetes运行错误的原因。k8s.af上的案例由工程师和实施者编写,描述了许多糟糕的经历:比如导致高延迟的CPU限制、阻止自动扩展的IP上限、应用程序日志丢失、pod被终止、502 错误、部署缓慢和生产环境故障等。愿通过分析这些失败案例,大家可以学会如何更好地配置和改进K8s环境。
2024-02-20 13:41:49
1235
原创 Ubuntu Server 22.04 安装步骤纪录
Ubuntu Server 22.04 安装流程取得安装程序安装程序可以通过下方链接直接从官网下载就可以了,官网提供的是iso映像文件,安装前要先将iso映像文件刻录成光盘,或制作成USB开机随身碟。前往 Ubuntu 官网开始安装 STEP 1 选择要安装的操作系统语言,建议选English。 STEP 2 如果你是在虚拟机安装Ubuntu,在安装时虚拟机就已经可以上网了,这时有可能会跑出下图询问是否使用新的安装程序,选Continue with
2024-01-27 09:33:59
2303
原创 VMware 安装 Centos7 超详细过程
磁盘容量暂时分配100G即可后期可以随时增加,不要勾选立即分配所有磁盘,否则虚拟机会将100G直接分配给CentOS,会导致宿主机所剩硬盘容量减少。这里要注意兼容性,如果是VMware12创建的虚拟机复制到VM11、10或者更低的版本会出现一不兼容的现象。硬件:因为是在宿主机上运行虚拟化软件安装centos,所以对宿主机的配置有一定的要求。先选择CD/DVD,再选择使用ISO映像文件,最后选择浏览找到下载好的镜像文件。这里选择之后安装的操作系统,正确的选择会让vm tools更好的兼容。
2024-01-27 09:26:22
959
原创 cpu iowait偏高故障处理
vmstat 可以观察到 b(block的进程,也叫不可中断进程)一直维持在8, 正好符合 cpu的upload的数值。也可以观察到 cpu的iowait数值和 top中的一致。pidstat -d 虽然可以观察到进程的 读写io情况,也可以观察到进程的 cpu 使用情况(cpu的统计中 缺少iowait 指标),无法关联。至此,可以看到,iowait值 在 20左右的时候,net的 收流量一直有 几十兆,所以怀疑的重心就转移到网络上来。所以,希望找到cpu的负载和io设备的统计,可以同时查看的工具。
2024-01-21 09:36:00
1093
原创 nfs进程变D故障处理
会有多个客户端可能会同时访问这个所文件,存储端的ceph版本为0.67的版本,mds在并发访问控制上并不能处理所有异常。所以只能用一个临时的快速恢复的方法来处理,即删掉该 lock 文件,让客户端重新生成该lock文件。
2024-01-21 09:29:01
606
原创 使用Rancher管理Kubernetes集群
api-server需要高可用(Vip),通过keepalive的实现 vip,使用中发现 需要 创建集群的第一个节点 keepalive 权重设置为最大, 这样在 多个节点异常,需要重启k8s 所有节点时,etcd集群初始化 保证在 第一个 节点上 有 vip。管理集群添加 k8s集群主要分2个步骤,第一步在 管理集群生成配置,第二步 在被管集群操作。所有管理集群的节点 配置完成后,在 节点1上开始 创建管理集群,因为创建过程会和其他管理节点通信,需要配置好 节点1 到 其他节点的免密登陆。
2024-01-21 09:20:41
1970
原创 四种方法将 Docker Registry 迁移至 Harbor
在 registry 存储目录中,每个镜像的 tag 都是由 current/index 这个文件指向该 tag 镜像的 manifests 文件的,由此我们可以通过遍历 registry 存储目录中 current/index 文件的方式来得到所有镜像的 tag,由此得到该 registry 中所有镜像的列表。需要注意的是,这几种镜像的名字,对应着镜像存在的方式,不同存在的方式对镜像的 layer 处理的方式也不一样,比如 docker:// 这种方式是存在 registry 上的;
2024-01-21 08:21:42
1209
原创 docker 常见故障(五十个)
解决方式:docker-containerd-ctr --address /run/docker/containerd/docker-containerd.sock --namespace c rm <容器hash_id>解决方式:pip install -i https://pypi.douban.com/simple docker-compose。原因:Docker使用写时复制策略,所以chown命令执行时,会将上层镜像文件全部复制到当前层,然后再修改权限,再写入文件系统。
2024-01-20 23:08:16
536
原创 JumpServer 堡垒机安装指南
JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。SSH (Linux / Unix / 网络设备 等)Windows (Web 方式连接 / 原生 RDP 连接)数据库 (MySQL / Oracle / SQLServer / PostgreSQL 等)Kubernetes (支持连接到 K8s 集群中的 Pods)Web 站点 (各类系统的 Web 管理后台)应用 (通过 Remote App 连接各类应用)
2024-01-20 23:01:38
2475
原创 Zabbix 系统监控详解
本人从业多年,关注 zabbix 开源社区,以及 zabbix 官方组织的各种峰会,了解到的前沿技术,因随着运维监控软件的不断发展,未来软件将是开箱即用的模式,运维人员在使用监控软件,不必再去花精力编写运维监控程序,而是完善监控项,这样的方式对于初学者越来越不容易学习。为适应时代的发展,未来是个智能化的时代,运维工作要实现自动化,运维工作者要向开发去转变,开发即运维,或许有一天人工智能将代替运维人员,而今的运维人员希望是人工智能创造者的一份子,了解自动化运维,与时俱进是非常必要的。
2024-01-20 22:29:55
1314
原创 使用 Zabbix + Grafana 搭建服务器监控系统
负责接收 agent 发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行 .部署在被监控主机上,负责收集本地数据发往 Server 端或 Proxy 端 .: 用户存储所有配置信息,以及存储由 Zabbix Server 收集到的数据 .:Zabbix 的 GUI 接口,通常与 Server 运行在同一台主机上: 常用于分布监控环境中,代理 Server 收集部分被监控的监控数据并统一发往 Server 端 .
2024-01-20 22:27:51
1629
原创 Prometheus 监控MySQL
通常来说从内存中读取数据的速度要比从磁盘中读取快很多,因此,如果Innodb_buffer_pool_reads的值开始增加,可能意味着数据库的性能有问题。因此,应该关注MySQL缓冲池的资源使用情况,并且在合理的时间扩大缓冲池的大小可以优化数据库的性能。通过Global Status中的Threads_connected、Aborted_connects、Connection_errors_max_connections以及Threads_running可以查看当前MySQL实例的连接情况。
2024-01-19 13:05:54
430
原创 Prometheus 监控容器
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux/Windows/Mac机器上。为了能够获取到Docker容器的运行状态,用户可以通过Docker的stats命令获取到当前主机上运行容器的统计信息,可以查看容器的CPU利用率、内存使用量、网络IO总量以及磁盘IO总量等信息。CAdvisor是一个简单易用的工具,相比于使用Docker命令行工具,用户不用再登录到服务器中即可以可视化图表的形式查看主机上所有容器的运行状态。
2024-01-19 13:02:18
519
原创 Prometheus告警处理
告警能力在Prometheus的架构中被划分成两个独立的部分。如下所示,通过在Prometheus中定义AlertRule(告警规则),Prometheus会周期性的对告警规则进行计算,如果满足告警触发条件就会向Alertmanager发送告警信息。Prometheus告警处理告警名称:用户需要为告警规则命名,当然对于命名而言,需要能够直接表达出该告警的主要内容告警规则:告警规则实际上主要由PromQL进行定义,其实际意义是当表达式(PromQL)查询结果持续多长时间(During)后出发告警。
2024-01-19 12:56:20
1810
原创 PQL 语句使用
这种方式可以避免在时间窗口范围内的“长尾问题”,并且体现出更好的灵敏度,通过irate函数绘制的图标能够更好的反应样本数据的瞬时变化状态。PromQL是Prometheus内置的数据查询语言,其提供对时间序列数据丰富的查询,聚合以及逻辑运算能力的支持。需要注意的是通过histogram_quantile计算的分位数,并非为精确值,而是通过http_request_duration_seconds_bucket和http_request_duration_seconds_sum近似计算的结果。
2024-01-19 12:37:52
1112
原创 Prometheus + Grafana 使用
普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统。当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的监控系统,即普罗米修斯。普罗米修斯(下称普罗)的作者 Matt T.Proud 在2012年加入SoundCloud公司,他从google的监控系统Borgmon中获得灵感,与另一名工程师Julius Volz合作开发了开源的普罗,后来其他开发人员陆续加入到该项目,最终于2015年正式发布。
2024-01-19 12:33:27
1079
原创 Docker 安装 CentOS
CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux(RHEL) 依照开放源代码规定发布的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。
2024-01-18 22:19:22
1213
原创 Docker 容器连接
前面我们实现了通过网络端口来访问运行在 docker 容器内的服务。容器中可以运行一些网络应用,要让外部也可以访问这些应用,可以通过 -P 或 -p 参数来指定端口映射。下面我们来实现通过端口连接到一个 docker 容器。
2024-01-18 22:18:19
1029
原创 Docker 安装 PHP
查找上的 php 镜像:可以通过 Sort by 查看其他版本的 php,默认是最新版本。此外,我们还可以用 docker search php 命令来查看可用版本:...这里我们拉取官方的镜像,标签为5.6-fpm等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为php,标签为5.6-fpm的镜像。
2024-01-18 22:15:12
736
原创 Docker 仓库管理
仓库(Repository)是集中存放镜像的地方。以下介绍一下。当然不止 docker hub,只是远程的服务商不一样,操作都是一样的。
2024-01-18 22:13:28
1009
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人