自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 部署pypi私服,加快python构建

使用docker compose 启动私服 (/packages 为外挂的缓存目录)

2024-08-09 14:50:24 448

原创 华为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

原创 docker 一键安装命令

【代码】docker 一键安装命令。

2023-10-24 14:40:54 918

原创 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

原创 多容器共用同一空间的网络、内存、进程

2个不同的容器,启动后查询到的ip是同一个。2个容器可以直接访问对方的网络。

2023-03-31 12:22:00 714

原创 ingress 双向认证

1、本地生成双向认证证书一、生成ca证书二、这里生成 crt 类型的证书(用户使用)三、生成p12证书文件(不使用密码直接回车)四、在k8s创建secret五、ingress配置扩展:生成私有证书(会提示安全警告)

2022-12-06 16:42:04 1995 1

原创 go-upload

go-upload基于go原生http单文件上传下载web.

2022-06-20 16:05:52 368 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

DejaVuSansMono-1.ttf

DejaVuSansMono-1

2019-09-24

空空如也

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

TA关注的人

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