自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 nginx报shm_add_node::ngx_slab_alloc_locked()错误

nginx 使用了 nginx-module-vts 做 nginx 监控,在 prometheus 和 grafana 中看不到相关的监控数据。在 nginx 的 error.log 日志中发现大量的。在 nginx 配置文件的 http 区域,修改 vhost_traffic_status_zone 配置,该配置的默认值为。默认只有1m太小,调整为32m后就不再报错了,如果后续还保存则需要继续往上调(32m*2)。

2024-04-16 09:12:08 183

原创 SQLServer 数据库变成单个用户后无法访问解决方法

比如SQLServer数据库里的。

2024-01-16 08:50:20 741 1

原创 Excel 添加复选框或选项按钮(表单控件)

参考地址:https://support.microsoft.com/zh-cn/office/%E6%B7%BB%E5%8A%A0%E5%A4%8D%E9%80%89%E6%A1%86%E6%88%96%E9%80%89%E9%A1%B9%E6%8C%89%E9%92%AE-%E8%A1%A8%E5%8D%95%E6%8E%A7%E4%BB%B6-9f201e46-8f6b-4a9d-a320-f44b28088cb0。要添加复选框或选项按钮,需要使用功能区上的“开发工具”选项卡。

2024-01-16 08:49:41 878

原创 windows系统根据端口号反查进程名称

假如知道windows有一个端口号一直被占用着,不知道是哪个进程占用的。

2024-01-16 08:48:00 507

原创 SSL VPN简介

SSL VPN是以HTTPS(Secure HTTP,安全的HTTP,即支持SSL的HTTP协议)为基础的VPN技术,工作在传输层和应用层之间。SSL VPN充分利用了SSL协议提供的基于证书的身份认证、数据加密和消息完整性验证机制,可以为应用层之间的通信建立安全连接。作为一种轻量级VPN 技术,SSL VPN安全性不输于IPsec VPN,且能实现更为精细的资源控制和用户隔离。不需要安装客户端,浏览器登录的便捷性也让SSL VPN在企业和机构员工中更易于推广使用。

2024-01-16 08:43:47 721

原创 rocky linux 8.8 安装 fail2ban 提示 No module named ‘fail2ban‘

经查找原因,得知 Systemd 会以最小环境启动进程,因此如果从 systemd 单元启动,python 路径可能会有所不同。因此可以在 systemd-unit 环境中扩展。

2024-01-16 08:36:34 540

原创 Python 中 and, or, &, |, ^ 的使用

在Python中,0,“”,[],(),{},None,False为假值,其余为真值。

2024-01-16 08:35:08 325

原创 exFAT和NTFS区别

FAT32与exFAT之间最大的差别在于能否支持4GB及以上容量单个文件的传输、查看与编辑;而FAT系列文件系统与NTFS之间最大的区分在于文件存取的方式,后者长期使用可能会让闪存类存储产品性能降低。exFAT是u盘文件系统的一种类型格式,exFAT 是对fat文件系统的一种延续,即扩展文件分配表,是一种更适合于闪存的文件系统,是为了解决fat16/32的局限性和缺点而推出的一种新的文件系统。它没有NTFS格式那么多闪存也就不会用到更多的功能,所以 exFAT格式文件系统更适合各种移动存储卡和u盘使用。

2024-01-16 08:34:23 1145

原创 Kubernetes 之 RuntimeClass 介绍

这样做的好处是:实现了运行时和 Kubernetes 的解耦,社区不必再为各种运行时做适配工作,也不用担心运行时和 Kubernetes 迭代周期不一致所带来的版本维护问题。例如,如果你的部分工作负载需要高级别的信息安全保证,你可以决定在调度这些 Pod 时尽量使它们在使用硬件虚拟化的容器运行时中运行。随着越来越多的容器运行时的出现,不同的容器运行时也有不同的需求场景,于是就有了多容器运行时的需求。RuntimeClass是一个让Pod选择容器运行时的一个特性,用于多运行时环境。

2024-01-16 08:33:07 337

原创 使用代理文件为 APT 配置代理

为 apt 命令配置代理的最简单方法是在`/etc/apt/apt.conf.d/`创建一个`proxy.conf`文件:

2024-01-16 08:31:45 388

原创 Virtualenvwrapper 的安装教程

此时virtualenvwrapper就可以使用了。workon [虚拟环境名称]:切换虚拟环境。作为替代方法,你可以直接编辑每个环境的。mkvirtualenv:新建虚拟环境。rmvirtualenv:删除虚拟环境。deactivate:离开虚拟环境。点击确认保存后,可正常使用了。workon:列出虚拟环境列表。lsvirtualenv:同上。2、创建目录用来存放虚拟环境。windows系统下在执行。退出虚拟环境后,可能会提示。

2023-09-02 12:08:11 1001

原创 kubernetes 和 docker 中 Cgroup 限制 CPU 的工作原理

每个进程的 CPU Usage 只包含用户态(us 或 ni)和内核态(sy)两部分,其他的系统 CPU 开销并不包含在进程的 CPU 使用中,而 CPU Cgroup 只是对进程的 CPU 使用做了限制。CPU Cgroup 中的主要参数,包括这三个:cpu.cfs_quota_us,cpu.cfs_period_us 还有 cpu.shares。cpu.cfs_quota_us 和 cpu.cfs_period_us 这两个值决定了每个控制组中所有进程的可使用 CPU 资源的最大值。

2023-07-09 14:22:16 923

原创 更新 deployment 解决 field is immutable 问题

所以需要将旧与新yaml的。版本中,Deployment 创建后。字段一致,所以产生此错误。则是因为原来CoreDNS的。字段相同才可以更新。

2023-06-11 17:47:44 2044

原创 使用docker搭建gitlab

之后可以通过浏览器访问 GitLab,账号 root,默认密码在/etc/gitlab/initial_root_password。此文档使用 docker 搭建 gitlab-ce:15.11.4版本。如果reconfigure成功,最后会提示。就要使用新的方式,在git地址前面加上。启动docker-compose。

2023-05-24 16:54:24 756

原创 git出现文件夹后面跟@+数字

git push后出现文件夹后面跟@+数字,是因为出现了子模块。@后面的数字是哈希值,用于确定唯一的提交状态。文件push时会压缩,然后上传同时生成一串检验字符串,at后面的数字就是检验字符串的前面部分。文件夹内还有.git,导致这些文件夹push后变成了子模块。

2023-05-11 21:33:31 743

原创 prometheus格式化告警数值

变量将当前告警规则表达式的数值输出到告警信息里。但是有些浮点数值位数相当长,非常不便于阅读,对于强迫症患者来说更是不可接受的。如何让告警数值变得 “人类可读” 呢?则为小数点后三位(比如:1.262),或显示成毫秒(比如:686.2m)收到的告警通知信息,可以看到延迟时间小数点后长达9位。调整后收到的告警通知信息均只有小数点后两位;当流量超过 0.5s 时,触发了告警通知。Prometheus 可以使用。格式化下告警规则中的。

2023-05-10 16:59:21 771

原创 Prometheus-Operator监控kube-controller-manager失败

k8s版本1.25.3,kube-controller-manager使用https监听端口10257。监控Target页面显示DOWN,错误提示。

2023-04-29 11:20:51 520 2

原创 docker中的gosu和su-exec工具

Dockerfile中做出的权限配置,对非volume来说是可以生效的,而对volume则不然。一般的临时方案,都是去手动修改权限。常见的现象是,container对该路径并无写权限,以致其中服务的各种千奇百怪的问题。当指定了 ENTRYPOINT 后,CMD 的含义就发生了改变,不再是直接的运行其命令,而是将 CMD 的内容作为参数传给 ENTRYPOINT 指令。在容器运行的时候通过ENTRYPOINT来做一些操作,比如把volume挂载的目录权限给改正确,然后再切换普通用户运行正常的程序进程。

2023-01-03 17:53:57 1796

原创 Python 创建简单cgi web服务器

简单http服务,会完全把文件内容输出,不会运行文件。也可以用来创建个临时的web文件下载服务器。提示运行在8000端口上,服务即可运行。,即可看到命令输出的内容刷新。

2022-12-14 09:10:23 1361

原创 MongoDB数据比较工具dbHash介绍

dbHash主要是用来比较MongoDB数据是否一致,例如升级版本前后的数据比较,主要是为了确认数据在升级后是完全恢复无误的。也可以对某个集合进行dbHash,比如对content进行dbHash。

2022-11-17 10:39:16 643

原创 MongoDB的备份和恢复,导入和导出

mongodb数据备份和恢复主要分为二种:一种是针对库的mongodump和mongorestore,一种是针对库中表的mongoexport和mongoimport。

2022-11-15 14:11:47 430

原创 rabbitmq权限管理

vhost之于Rabbit就像虚拟机之于物理服务器一样,它们通过在各个实例间提供逻辑上分离,允许你为不同的应用程序安全保密地运行数据。而在RabbitMQ中相应的权限分为读、写、配置三部分。上面例子表示授权给用户 “yang” 具有所有资源名称以 “mip-” 开头的配置权限;所有资源的写权限和读权限。知道了RabbitMQ权限相关的配置后,就可以根据具体情况来配置相应的信息。在上面添加完相关的用户后,就可以对其用户分配相关vhost的权限了。

2022-10-28 20:13:00 1368

原创 ubuntu 20.04安装fail2ban1.0.1

由于ubuntu 20.04已经默认没有python2,所以不使用python2来安装fail2ban,改使用python3来安装。,里面有一些二进制文件存在。这时候可以把fail2ban的安装目录删除,再重新从github中下载副本进行2to3转码安装。这时候就需要进行fail2ban的2to3转码,转码后重新进行安装。执行fail2ban自带的fail2ban-2to3工具进行转换。可能这个fail2ban的安装副本不干净,之前或许执行过。无意外最后会提示Success!测试完成后,进行最后一步安装。

2022-09-30 09:59:48 634

原创 ubuntu使用apt和dpkg安装软件包

原文apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。apt 命令执行需要超级管理员权限(root)。

2022-09-28 11:04:58 3738

原创 TCP建立与释放连接

此案例通过访问http://www.baidu.com来展示TCP的建立连接与释放连接的过程,本机的IP是192.168.4.100。## 抓包过程1. 执行`ping www.baidu.com`命令解析www.baidu.com的IP。```C:\Users\Administrator>ping www.baidu.com正在 Ping www.a.shifen.com [183.232.231.174] 具有 32 字节的数据:

2022-09-16 10:48:37 899

原创 TCP协议及数据结构

特点面向连接:通讯双方交换数据前必须建立连接可靠的:多种确保可靠性的机制关键名词解释字节流服务:8bits(1Byte)为最小单位构成的字节流套接字地址:TCP 使用“连接”(而不仅仅是“端口”)作为最基本的抽象,同时将TCP连接的端点称为插口(socket),或套接字、套接口。插口和端口、IP地址段关系是:TCP 发送进程以字节流的形式传递数据,而接收进程也把数据作为字节流来接收,类似于假想的管道UDP 发送进程的数据报文都是独立的,因此UDP不是面向流的协议。缓存:数据流向的每一

2022-09-14 15:32:37 3501

原创 理解 bashrc profile 优先级及区别

为使Bash更好地为我们服务,我们需定制bash shell环境。

2022-09-09 15:49:27 945

原创 Shell的运行方式

【实例1】在 CentOS GNOME 桌面环境自带的终端,使用当前用户查看 login_shell 选项。【实例2】通过SSH终端输入用户名和密码登录后,再查看 login_shell 选项。【实例3】在 Shell 脚本文件中查看 login_shell 选项。如果非空,则为交互式,否则为非交互式,因为非交互式会清空该变量。注意,必须在新进程中运行 Shell 脚本。注意,必须在新进程中运行 Shell 脚本。【实例2】在 Shell 脚本文件中输出 PS1 的值。,产生一个交互式登录shell。

2022-09-09 15:47:16 614

原创 docker容器的health健康状态检查

对于容器而言,最简单的健康检查是进程级的健康检查,即检验进程是否存活。,可以根据策略自动重启已结束的容器。指令的Dockerfile构建出来的镜像,在实例化Docker容器的时候,就具备了健康状态检查的功能。指令声明了健康检测命令,用这个命令来判断容器主进程的服务状态是否正常,从而比较真实的反应容器实际状态。如果是以supervisor来管理容器的多个服务,想通过子服务的状态来判断容器的监控状态,可以使用。但是,如果在启动期间健康检查成功,则认为容器已启动,所有连续失败的情况都将计算到最大重试次数。

2022-08-22 09:00:48 10109

原创 ResourceQuota 和 LimitRange 实践

根据集群用户数量来调整集群配置,以达到这个目的:能控制特定命名空间中的资源使用量,最终实现集群的公平使用和成本控制。

2022-08-03 16:32:24 538

原创 KiB、MiB与KB、MB的区别

在日常使用的计算机中,硬盘厂商在计算容量方面是以每1000为一进制的,每1000Bytes为1KB,每1000KB为1MB,每1000MB为1GB,每1000GB为1TB,在操作系统中对容量的计算是以1024为进位的,并且并未改为"KiB"、“MiB”、“GiB"的二进制单位。国际单位制中TB、GB、MB、KB是“1000进位”的数,为此国际电工协会(IEC)拟定了"KiB"、“MiB”、“GiB"的二进制单位,专用来标示“1024进位”的数据大小。...

2022-07-20 09:42:03 6082

原创 Nginx安装Brotli压缩扩展

Brotli最初发布于2015年,用于网络字体的离线压缩。Google软件工程师在2015年9月发布了包含通用无损数据压缩的Brotli增强版本,特别侧重于HTTP压缩。其中的编码器被部分改写以提高压缩比,编码器和解码器都提高了速度,流式API已被改进,增加更多压缩质量级别。新版本还展现了跨平台的性能改进,以及减少解码所需的内存。...

2022-07-19 13:55:08 1746 3

原创 Namespace:集群环境共享与隔离

kubernetes 通过 Namespace (命名空间)和 Context 的设置对不同的工作组进行区分,使得它们既可以共享一个 Kubernetes 集群的服务,也可以互不干扰。# 创建Namespace为了在 Kubernetes 集群中实现这两个分组,首先需要创建两个命名空间。使用 namespace-development.yaml,创建 development 命名空间:```yaml.........

2022-07-19 09:57:16 396

原创 IP 数据报结构和各字段含义

IP 数据报位于 OSI 七层模型中的网络层,对应与 TCP/IP 四层模型中的网络层(也称网际层)。网络层用来处理网络上流动的数据包(网络传输中最小的数据单元),规定了怎样的路径把数据包传输到目标计算机,并把数据包传送给对方。(与 tcp/ip 协议密切相关的有 IP 协议、ARP 协议、RARP 协议)。IP 协议就在这里,它负责对数据加上 IP 地址和其他的数据,以确定传输的目标,和相邻计算机之间的通信。其功能包括三方面:IP协议:Internetworking Protocol(网间网协议),IP是

2022-07-14 11:20:37 12033 4

原创 Kubernetes将资源对象映射为存储卷

ConfigMap主要保存应用程序所需的配置文件,并且通过Volume形式挂载到容器内的文件系统中,供容器内的应用程序读取。在Pod的YAML配置中,将ConfigMap设置为一个Volume,然后在容器中通过volumeMounts将ConfigMap类型的Volume挂载到 /configfiles 目录下Pod创建成功之后,进入容器内查看,可以看到在/configfiles目录下存在server.xml和logging.properties文件:ConfigMap中配置的内容如果是UTF-8编码的

2022-07-08 18:28:26 428

原创 搭建 adslproxy 代理池

本文采用 redis 做代理IP的存储。存储代理IP前,先使用 adslproxy 做重新拨号和代理IP可用性校验,可用后再保存到 redis 里。在进行重新拨号前,先删除这个原来保存的代理 IP,然后再重新进行拨号操作。然后使用的 adslproxy 搭建一个提取代理 IP 的工具,通过一个 web 接口给客户端使用的时候。客户端用的时候,直接读取这个 web 接口就可以使用代理 IP。本文采用阿斯云的拨号vps服务器做搭建平台。所以连起来重新拨号更换IP就是2. 记录hosts记录 hosts

2022-07-07 17:04:41 794

原创 asyncio 概念和用法

声明:本文针对的是python3.4以后的版本的,因为从3.4开始才引入asyncio,后面的3.5 3.6 3.7版本是向前兼容的,只不过语法上面有稍微的改变。比如在3.4版本中使用装饰器和语句,但是在3.5以后的版本中使用、两个关键字代替,虽然语法上稍微有所差异,但是原理是一样的。本文用最通俗的语言解释了python asyncio背后的一些核心概念,简要解析了asyncio的设计架构,并给出了使用python进行asyncio异步编程的一般模板。对于其他的并发模型大多数采取的都是线性的方式编写。并且依

2022-07-05 15:22:16 6691 1

原创 Nginx禁用TLS 1.0和TLS 1.1

传输层安全性协议(英语:Transport Layer Security,缩写:TLS)及其前身安全套接层(英语:Secure Sockets Layer,缩写:SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。网景公司(Netscape)在1994年推出首版网页浏览器-网景导航者时,推出HTTPS协议,以SSL进行加密,这是SSL的起源。IETF将SSL进行标准化,1999年公布TLS 1.0标准文件(RFC 2246)。随后又公布TLS 1.1(RFC 4346,2006年)、TLS

2022-07-01 14:25:43 9330

原创 Etcd的运行时重配置

etcd 被设计为能承受机器失败。etcd 集群自动从临时失败(例如,机器重启)中恢复,而且对于一个有 N 个成员的集群能容许 (N-1)/2 的持续失败。当一个成员持续失败时,不管是因为硬件失败或者磁盘损坏,它丢失到集群的访问。如果集群持续丢失超过 (N-1)/2 的成员,则它只能悲惨的失败,无可救药的失去法定人数(quorum)。一旦法定人数丢失,集群无法达到一致而因此无法继续接收更新。etcd 自带对渐进的运行时重配置的支持,这容许用户在运行时更新集群成员。重配置请求仅能在集群成员的大多数正常工作时可

2022-06-10 16:17:40 1777

原创 Etcd介绍

Etcd 是 CoreOS 基于 Raft 开发的分布式 key-value 存储,可用于服务发现、共享配置以及一致性保障(如数据库选主、分布式锁等)。安全性是用于保证每个节点都执行相同序列的安全机制,如当某个 Follower 在当前 Leader commit Log 时变得不可用了,稍后可能该 Follower 又会被选举为 Leader,这时新 Leader 可能会用新的 Log 覆盖先前已 committed 的 Log,这就是导致节点执行不同序列;Safety 就是用于保证选举出来的 Leade

2022-06-10 11:24:25 1342

openldap2-devel-2.4.23-10.1.i586.rpm

suse11.4-32位下缺少ldap.h

2015-11-29

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

TA关注的人

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