- 博客(205)
- 资源 (1)
- 收藏
- 关注
原创 UFW防火墙安全指南
UFW(Uncomplicated Firewall)是Ubuntu/Debian系统中简化防火墙管理的工具,通过直观命令帮助用户有效控制网络流量,提升系统安全性。文章详细介绍了UFW的基本命令,包括启停防火墙、添加规则、限制连接速率和日志配置等操作,并提供了安全最佳实践,如默认拒绝策略、IP地址限制和服务级规则管理。同时,还涵盖高级配置技巧,例如多网络接口设置、规则优先级调整、IPv6支持及与fail2ban等工具的集成。文章强调了定期维护、规则备份与更新的重要性,旨在帮助用户构建全
2025-06-09 09:43:48
1258
原创 磁盘性能测试与分析:结合fio和iostat的完整方案
本文介绍了如何利用fio和iostat工具全面评估磁盘性能,包括IOPS、带宽、延迟等核心指标。首先,详细说明了fio和iostat的安装与验证步骤,确保测试工具的正确性。接着,深入解析了fio的配置文件结构和关键参数,如rw、bs、numjobs和iodepth,并提供了测试路径选择的建议。随后,通过调整iodepth和numjobs参数,分析了磁盘IOPS性能的变化趋势,并提供了实际案例和测试结果解读。最后,探讨了顺序读写带宽测试中块大小(block size)的影响,建议使用较大的块大小进行测试,并提
2025-05-15 11:13:30
1250
原创 fio 命令在 Linux 系统中的应用示例
FIO(Flexible I/O Tester)是一个用于测试存储设备性能的开源工具,能够模拟多种I/O负载,包括顺序读、顺序写、随机读、随机写、混合读写和并发测试。通过FIO,可以获取关键性能指标如IOPS(每秒I/O操作数)、吞吐量(带宽)和延迟,帮助评估存储设备的性能。 在顺序读测试中,FIO命令通过指定块大小和队列深度来测试设备的带宽和延迟。顺序写测试类似,但可能受写入机制影响。随机读和写测试更关注IOPS和延迟,尤其是高百分位延迟,反映尾部延迟情况。混合读写测试模拟真实负载,观察读写竞争对性能的影
2025-05-14 10:48:41
1134
原创 rsync命令详解与实用案例
rsync凭借其增量传输、压缩优化和灵活配置等特性,已成为Linux环境下文件同步的首选工具。从基础语法到高级配置,rsync提供了丰富的功能满足各类同步需求。在实际应用中,应根据场景选择合适的同步模式:本地同步适合小规模数据管理,SSH同步适合跨服务器安全传输,守护进程模式适合内网高效同步。定时同步与实时同步各有优势:定时同步适合周期性备份,实时同步适合需要即时响应的场景。两者可结合使用,例如每日定时全量备份,辅以inotify实现实时增量同步。同步频率设置应平衡数据一致性需求和系统资源消耗。
2025-04-29 11:28:23
1388
原创 nethogs 网络监控 命令详解
nethogs的核心功能是按进程统计网络流量,其工作原理是通过监听网络接口,将数据包按进程PID分组统计,最终以类似top命令的界面显示。与iftop等工具相比,nethogs的优势在于直接显示进程信息,而非仅显示协议或IP流量,这使得用户能更直接地定位到带宽占用过高的应用程序。默认情况下,nethogs每1秒刷新一次界面,对于需要更稳定观察流量变化的场景(如下载/上传大文件时),可调整刷新频率以减少数据波动。在服务器网络异常时,可通过nethogs监控特定网卡的流量,快速定位异常进程。
2025-04-28 12:20:12
1006
原创 Ubuntu K8s集群安全加固方案
在Ubuntu系统上部署Kubernetes集群时,若服务器拥有外网IP,需采取多层次安全防护措施以确保集群安全。本方案通过系统防火墙配置、TLS通信启用、网络策略实施和RBAC权限控制四个核心层面,构建安全的Kubernetes环境。安全防护不应仅停留在单点措施,而应形成纵深防御体系,从物理主机到集群控制面再到应用层进行全面保护。在生产环境中,需确保所有安全配置均符合最小权限原则,并定期进行审计与监控。Ubuntu服务器作为Kubernetes集群节点,其基础系统安全至关重要。首先,需确保系统时间同步,这
2025-04-24 09:48:55
670
原创 istio 灰度实验
配置好上面的服务使用crul请求istio-ingressgateway。启动后手工进入修改index.html 为 v1,v2。再请求发现又随机到不同的服务而不是按vs配置的只路由到v2服务。configmap修改后须要重启代理服务生效。再请求全部流量都访问的v2。全部流量都访问v2服务。
2025-04-02 16:56:17
414
原创 Docker端口不受ufw防火墙限制解决方案
iptables”: false, 禁用docker管理iptables规则。default-address-pools 限制 docker使用的网络。(后面转发须用到)
2025-03-06 16:08:43
286
原创 华为SRG2200 端口映射 & 双向NAT & 回流
外网口0/0/1 端口31883 映射到内网 192.168.0.4的 31883端口上。目的是让内网用户也可以通过公网IP访问到内网服务器映射的端口。这样外网就能通过端口访问到内网服务器的31883端口了。添加一个nat地址组 8.8.8.8 为路由器公网ip。这样匹配到的内网主机就可以通过公网ip访问到内网服务。配置一个nat策略,讲匹配到的访问地址做转换。3、华为路由器禁止公网telnet。
2024-07-13 22:03:39
988
原创 iptables添加端口映射,k8s主机查询不到端口但能访问。
研究原因:k8s内一台主机使用命令查询没有80端口。但通过浏览器访问又能访问到服务。查询了资料是使用了hostport方式暴露pod端口。cni调用iptables增加了DNAT规则。访问时流量先经过iptables直接被NAT到具体服务去了。
2024-03-28 18:03:24
1470
原创 centos7.9 安装sersync+rsync 服务器数据实时同步
注:/tmp/rsync_fail_log.sh 文件可以查看异常文件。源服务器创建文件,查看目标服务器是否同步。
2023-12-08 14:49:19
1478
原创 ai-docker-compose命令使用方法
Docker Compose 是一个 Docker 应用程序的编排工具,通过 YAML 文件定义一组相关的服务,然后使用 Docker Compose 命令集成、启动、停止等这些服务。该命令用于在运行中的服务中执行一次性命令。是要构建并启动的服务名称,省略表示构建并启动所有服务。是要查看日志的服务名称,省略表示查看所有服务的日志。是要重建的服务名称,省略表示重建所有服务。该命令用于停止并删除所有服务。该命令用于构建并启动所有服务。该命令用于查看服务的日志。该命令用于重建指定的服务。是要在服务中执行的命令。
2023-08-28 11:39:03
288
原创 nginx开启http2导致的服务验证码不可用问题
在阅读规范时,我看不到任何地方说getAllResponseHeaders()必须以小写形式返回标头名称,此外,由于HTTP2服务器必须以小写形式返回标头getAllResponseHeaders()将返回此特定协议的小写标头。1、因服务器有多个站点,一个站点开通了http2所有站点默认都开启http2。所以相同的配置在只有一个站点的服务器上访问没有问题。通过正常请求和异常请求的nginx日志分析,发现异常请求时使用的HTTP/2.0协议。多次验证后在新环境配置上加了http2协议支持后问题复现。
2023-07-03 17:16:09
1190
原创 单机部署-loki日志收集-prometheus系统监控
使用docekr-compose一键部署,适合一台物理服务器部署解决监控和日志问题。使用了loki、promtail、node_exporter、prometheus、grafana。统一在grafana页面查询日志,查看监控情况。
2023-05-25 16:43:47
846
原创 docker buildkit 缓存.m2 加速构建
MAVEN_BUILD--mount=type=cacheDOCKER_BUILDKIT=1 临时使用buildkit方式构建。(不须要修改docker配置文件)
2023-04-11 15:44:52
1851
原创 ingress 双向认证
1、本地生成双向认证证书一、生成ca证书二、这里生成 crt 类型的证书(用户使用)三、生成p12证书文件(不使用密码直接回车)四、在k8s创建secret五、ingress配置扩展:生成私有证书(会提示安全警告)
2022-12-06 16:42:04
1995
1
原创 K8s 通过AIP访问服务
通过AIP访问服务kubectl proxy --address=‘0.0.0.0’ --disable-filter=truehttp://192.168.100.181:8001/api/v1/namespaces/default/services/http:nginx:/proxy/
2022-03-24 18:20:22
4037
原创 kubernetes node节点失效 快速重新调度
测试node挂 机,发布需要等几分才会 在其它 的node机器 启动,这个明显不合理,对于大多数业务kube-controller-manager配置:/etc/systemd/system/kube-controller-manager.service--node-monitor-grace-period=10s \--node-monitor-period=3s \--node-startup-grace-period=20s \--pod-eviction-timeout=10s \
2022-03-10 15:36:31
2040
原创 VM 虚拟机 Linux数据盘扩容
更多扩展方法参考:https://help.aliyun.com/document_detail/25452.html这里从200G扩容到300G查看现有情况fdisk -l /dev/sdbDisk /dev/sdb: 214.7 GB, 214748364800 bytes, 419430400 sectors外部添加磁盘直接修改硬盘2的大小,保存即可。命令通知内核更新分区表partprobe /dev/vdb查看磁盘已经变大。fdisk -l /dev/sdbDisk /d
2021-08-20 12:31:06
3389
原创 rsyslog内存占用高
rsyslog内存占用高起因查询内存占用前10进程处理方法一优选方法二处理方法三根本原因起因k8s集群节点,内存分布不均。查看详细k8s服务负载发现并不高。到具体节点机查看。发现rsyslog服务占用32%内存。查询内存占用前10进程ps aux | grep -v PID | sort -rn -k +4 | head处理方法一直接重启rsyslog服务 释放内存systemctl restart rsyslog优选方法二查询了资料,rsyslog旧版本会存在内存泄露问题。故对系统r
2021-06-29 12:19:18
5494
原创 python项目 Dockerfile 基础镜像精简之路
python项目 Dockerfile 基础镜像精简之路1、指定pip安装不缓存# 例如:pip3 install --no-cache-dir -r /tmp/requirements.txt -i https://mirrors.aliyun.com/pypi/simple/2、apt 安装时加 --no-install-recommends 不安装非必要依赖# 能直接用apt安装的依赖包直接用apt安装。apt没的包再用pip安装。apt 安装后删除apt缓存RUN apt-get
2021-05-20 11:26:48
1369
原创 k8s 搭建 skywalking
k8s 搭建 skywalking仅用于测试环境es没做持久化,正式环境最好还是把es数据做一下持久化。agent服务配置下载agent这里选择的是8.1.0版本须要对应https://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/8.1.0/apache-skywalking-apm-8.1.0.tar.gz可以使用pvc方式或hostpath方式把agent目录挂载到容器内。服务配置启动项目jar前加上javaagent文件地址。- c
2021-04-01 10:36:45
3436
原创 Arthas排查skywalking问题 id is too long, must be no longer than 512 bytes
id is too long, must be no longer than 512 bytes部署的skywalking老是崩溃,cpu被拉满。 查看skywalking-oap-server.log 日志,发现很多异常日志,如下:2021-02-20 17:27:18,699 - org.apache.skywalking.oap.server.core.register.worker.RegisterPersistentWorker - 105 [DataCarrier.REGISTER_L2.
2021-02-20 17:58:33
1694
转载 使用Nginx-Ingress实现蓝绿发布/金丝雀发布/AB测试
Kubernetes 使用Nginx-Ingress实现蓝绿发布/金丝雀发布/AB测试转载:https://juejin.cn/post/6844903927318577159背景介绍某些情况下,我们在使用Kubernetes作为业务应用的云平台,想要实现应用的蓝绿部署用来迭代应用版本,用lstio太重太复杂,而且它本身定位于流控和网格治理;Ingress-Nginx在0.21版本引入了Canary功能,可以为网关入口配置多个版本的应用程序,使用annotation来控制多个后端服..
2021-02-09 10:15:32
1243
1
转载 kubernetes中多用户的实践
kubernetes中多用户的实践有时候需要多个用户共用一个集群,这种情况需要为其分配一个新的用户;为了集群的安全性还需要限制新用户的权限范围;多个用户难免会有资源竞争的情况,这时还需要限制其资源使用。Kubernetes提供了一系列机制以满足多用户的使用,包括多用户,鉴权,命名空间,资源限制等等。接下来将创建一个名为staight的用户,其拥有practice命名空间下的管理员权限,该命名空间有着CPU,内存,Pod数量等限制。创建用户Kubernetes中的用户创建大体包括静态创建和动态创
2021-02-07 16:54:35
1430
原创 ingress-nginx 实现内部局域网的url转发配置
ingress-nginx 实现内部局域网的url转发配置实现目的:在 192.168.4.4 物理服务器上部署 WEB服务器 端口80.外网IP80端口直接指向ingress-nginx。域名指向 ingress-nginx ip 可以访问到局域网内物理搭建的web服务器,而非容器。实例yaml:主要利用自定义Endpoints资源,指向局域网服务器。apiVersion: v1kind: Endpointsmetadata: name: proxy-ingresssubsets
2021-01-28 17:37:04
3272
1
原创 k8s 拉取私有镜像 imagepullsecrets
k8s 拉取私有镜像 imagepullsecretsspec: imagePullSecrets: - name: aliyun-registry使用命令创建Secret 命令如下:kubectl create secret docker-registry aliyun-registry --docker-server=registry.cn-hangzhou.aliyuncs.com --docker-username=XXX --docker-password=XXX -n XXX
2021-01-28 12:38:28
1933
原创 PostgreSQL Citus集群验证
PostgreSQL Citus集群验证安装docker和docker-compose略。 网上都能找到。官方文档http://docs.citusdata.com/en/v9.5/installation/single_machine_docker.htmldocker-compose.yamlversion: '3'services: master: container_name: "${COMPOSE_PROJECT_NAME:-citus}_master" imag
2021-01-26 14:52:23
1201
原创 ISTIO bookinfo 实例 (固定版本、匹配重定向)
ISTIO bookinfo 实例 (固定版本、匹配重定向)最终效果:所有访问都会从productpage到eviews的v3版本再到ratigs。访问会一直是这个界面。kiali查看情况实现istio安装查看前面文章1、部署bookinfo实例。kubectl apply -f istio-1.6.14/samples/bookinfo/platform/kube/bookinfo.yaml# 验证[root@ops kube]# kubectl get pod,svc NAM
2021-01-19 18:12:37
894
原创 redis迁移工具
redis迁移工具(centos7 安装)redis-dump安装yum install centos-release-scl-rh -y#配置yum仓库yum install rh-ruby23* -y#安装其他工具,不安装后面可能会报错scl enable rh-ruby23 bashruby -v#查看版本gem install redis-dump -V使用# redis-dump导出数据redis-dump -u 192.168.0.4 -a 123456 >
2020-12-23 14:11:16
759
原创 ETCD增加节点与删除节点(带安装认证)
ETCD增加节点与删除节点(衔接上篇文章做了安装认证)查看现在状态查看文件[root@uat-master02 ssl]# pwd/data/etcd/ssl[root@uat-master02 ssl]# lsca-config.json ca-csr.json ca.pem client.json client.pem peer.csr peer.pem server-key.pemca.csr ca-key.pem clien
2020-10-13 15:52:13
3001
原创 kubeadm安装高可用K8S-1.19集群(外部etcd方式)
kubeadm安装高可用K8S-1.19集群<外部etcd方式>集群规划初始化工作(master01-master02-node01都须要操作)安装步骤一、安装keepalived创建VIP二、搭建高可用etcd集群三、安装 kubeadm, kubelet 和 kubectl四、初始化master五、将worker节点加入集群六、安装插件flannel、metrics-server七、测试集群外部二进制搭建etcd集群、系统出问题后还能通过外部etcd做恢复、操作上比直接把etcd放容器内好
2020-10-12 16:43:37
8771
7
原创 对外暴露主机SSH简单策略防护
Linux对外暴露主机SSH简单策略防护修改ssh服务的默认端口ssh服务的默认端口是22,一般的恶意用户也往往扫描或尝试连接22端口。所以第一步就是修改这个默认端口打开/etc/ssh/sshd_config,找到Port 22然后将22修改为其它没有被占用的端口,如1022。最好在1-1024之间,防止与用户进程端口冲突。然后重启sshd即可sudo /etc/init.d/ssh restart限制IP首先修改/etc/hosts.allow文件,将可访问服务器ssh服务的客户IP
2020-10-10 10:36:45
1591
原创 jenkins安装和kubernetes插件简单配置
jenkins 插件 kubernetes 简单配置插件安装k8s信息获取配置简单验证
2020-09-11 21:43:09
4025
3
原创 elasticdump 迁移ES索引
elasticdump 迁移ES索引github:https://github.com/elasticsearch-dump/elasticsearch-dump安装下载nodejs(centos7 yum 安装版本过低无法使用)wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.gz解压并添加环境tar xf node-v12.18.3-linux-x64.tar.xzcd node-v12.18.3-lin
2020-09-09 17:37:55
1266
原创 shell实现多线程备份恢复数据库
多线程mysqldump备份恢复数据库备份#!/bin/bashtrap "exec 6>&-;exec 6<&-;wxit 0" 2tmp_fifofile=/tmp/$$.fifomkfifo $tmp_fifofileexec 6<>$tmp_fifofilerm $tmp_fifofile# 这里是并发线程数thread=20for ((i=0; i<=$thread;i++))do echodone >&6#
2020-08-25 20:51:17
834
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人