自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(145)
  • 收藏
  • 关注

原创 光猫设置桥接 路由器pppoe拨号 设置正常访问光猫 (openwrt)

光猫设置桥接 路由器pppoe拨号 设置正常访问光猫 (openwrt)

2024-07-25 17:54:04 164

原创 Linux内核崩溃设置自动重启

今天当代理服务器的机子崩了,SSH连接不上,显示器不输出。遂重启后读取日志可以看到是journal日志组件把kernel弄崩了,九成是发行版的bug,和部署的服务没啥关系,救不了,只能等系统更新(oops分析涉及到反编译,咱也不懂那玩意,只能看个七七八八)想起之前用winserver的时候就算系统崩溃也会蓝屏、绿屏,Linux内核崩溃就这么锁死也不是办法。调整配置文件sysctl.conf,添加内核崩溃延迟重启选项。

2024-07-20 16:26:17 418

原创 关闭Ubuntu烦人的apport

先来看让人绷不住的(恼)我查半天apport是啥玩意发现就一错误报告弹窗,十秒钟给我弹一次一天给我内存弹爆了就算我程序就算真的不停崩溃,也没你这傻比apport杀伤性强啊???原则上是不建议关闭日志和错误报告的,我关闭是因为这玩意真能把我系统爆了。事后还是看了crash日志,去把xfce4,parcellite这两个服务重新安装和卸载了(其实看他报告还是没有找到问题根本,但是既然系统能正常运行内核不崩溃那就随它去吧。所以我才觉得apport是真废物把他关了,不如journalctl一根毛。

2024-07-14 17:36:04 451

原创 Ubuntu 安装 XRDP,替代系统自带RDP远程桌面

起因,Ubuntu的自带RDP远程桌面很好用,但很傻卵,必须登录。而设置了自动登录也不能解开KEYRING,必须必须必须用GUI手动登录。(我远程我用头给你坐机子面前开显示器先登录??比起VNC的话XRDP不需要专用客户端,而且完美兼容windows和一帮用RDP协议的远程软件,开搞!1.安装桌面(二选一,已安装可跳过)2.安装xrdp3.向 xrdp 用户授予证书访问权限4.配置桌面环境5.重载配置6.完成设置,使用远程桌面应用登录(随便个能用3389端口的都行)7.问题解决

2024-07-14 17:18:58 615

原创 Linux安装SMB(Samba)服务

Ubuntu安装SMB(Samba)服务安装SMB添加SMB用户 更改分享文件夹的权限启动、重启SMBlinux权限折磨人一直很可以的,上次是rsync上上次是NFS。这次折腾半天chmod都扣烂了发现是拷贝进去的文件夹没有权限导致测试一直不过,创建删除文件文件夹都没问题唯独移动文件夹有问题,配置是一点问题没有。查了别的教程有的教程需要这一步有的没写有的直接777,我的服务器暴露公网所以还是踏踏实实设置权限。挂载使用啥的就不写了,尽量简单。给网上教程恶心了大半天,所以这篇只记录主要的步骤,省的给人看晕

2024-07-04 17:18:25 245

原创 Windows server SMB服务 文件夹访问缓慢 解决方法

Windows server用了很久,一直有个问题没有解决,就是用手机访问SMB时,文件夹列出速度非常慢。更改注册表SMB服务的工作进程数HKLM\System\CurrentControlSet\Control\Session Manager\Executive\AdditionalCriticalWorkerThreads默认值为 0,这表示不会增加更多关键内核工作线程。 该值会影响文件系统缓存用于预读和后写请求的线程数。 提高该值可以在存储子系统中允许更多排队的 I/O,并且可以提高 I/O 性能

2024-04-13 22:56:09 959

原创 Windows server Database 2025 安装 i225/i226 网卡驱动

Windows server Database 2025 安装 i225/i226 网卡驱动windows这比坏得很,intel消费级网卡不准在服务器系统上安装。你要说他是异构不支持?他就纯粹恶心人。之前已经安装过一次,但是今天database预览版一更新,又给我把网卡驱动杀了,气死,写一篇教程。到这里就完成了,总之还是想辱骂windows,提供便捷的同时又人为制造困难,多少有点(隔壁linux内核直接自带全家桶了就一省心)并且近年Intel的新U安装显卡驱动和普通声卡驱动都不会出声

2024-03-17 14:36:22 2916 2

原创 Prometheus 部署 Alertmanager 发送告警

Prometheus 对指标的收集、存储与告警能力分属于 Prometheus Server 和 AlertManager 两个独立的组件,前者仅负责定义告警规则生成告警通知, 具体的告警操作则由后者完成。Alertmanager 负责处理由 Prometheus Server 发来的告警通知,Alertmanager对告警通知进行分组、去重后,根据路由规则将其路由到不同的receiver,如Email、钉钉或企业微信等。

2024-02-21 01:34:37 517

原创 使用Arduino 配合TFT_eSPI库 实现合宙ESP32开发板 驱动ST7735S显示屏 显示自定义图片

使用Arduino 配合TFT_eSPI库 实现合宙ESP32开发板 驱动ST7735S显示屏 显示自定义图片1.根据针脚定义接线2.Arduino下载TFT_eSPI库3.更改TFT_eSPI库配置文件针脚定义4.打开库自带的demo程序测试打开demo访问源码中网站,将图片转换为h库文件转换完图片存储在TFT_eSPI库下修改源码烧录完成图片显示

2024-02-12 23:19:11 2678 1

原创 VMware Workstation 17 虚拟机自启动失效 解决脚本

VMware Workstation17新增加了虚拟机自启配置但是很奇怪在我的一台计算机上能够自启,在另一台计算机上就失效。编写脚本 以命令方式完成虚拟机开机自启 打开计划任务,将上面的自启脚本设置开机运行 重启计算机,可以看到成功自启

2023-11-24 17:38:09 1546

原创 移动光猫hg6201m获取超级管理员密码 2023.10

移动光猫hg6201m获取超级管理员密码 2023.10使用CMD MobaXterm xshell等程序telnet协议连接。不同型号的光猫用户名可能不同,有的是root有的是admin。telnet完成连接后,进入系统查看配置文件。获取光猫MAC,后面要用到。访问网站 开启telnet。

2023-10-19 02:31:23 2329 2

原创 群晖 Docker版qbittorrent 下载显示错误 解决方法

群晖 Docker版qbittorrent 下载显示错误 解决方法这些天在折腾AIO玩,PVE虚拟机底层,核显直通,群晖安装,免不了踩些坑。今天写篇博客,讲述一下群晖 Docker版qbittorrent 下载显示错误的解决方法,顺便记录一下配置,以便日后折腾可以参考。直接说结论 如果下载显示错误,并且由于自己更改了存储路径,那多半是由于权限设置。去相关的文件夹中添加Owner用户的完全控制权限即可。12代CPU的核显直通还在折腾,有些麻烦,几个月了社区也没个很好的解决方案,有点摆烂了。

2023-09-18 01:35:41 11607 1

原创 Prometheus PromQL数据查询语言

Prometheus PromQL数据查询语言PromQL(Prometheus Query Language)是 Prometheus 内置的数据查询语言。支持用户进行实时的数据查询及聚合操作。Prometheus 基于指标名称(metrics name)以及附属的标签集(labelset)唯一定义一条时间序列指标名称代表着监控目标上某类可测量属性的基本特征标识标签则是这个基本特征上再次细分的多个可测量维度基于 PromQL 表达式,用户可以针对指定的特征及其细分的纬度进行过滤、聚合、统计等运算

2023-09-18 01:08:32 635

原创 Prometheus 监控系统

Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件 Prometheus server 会定期从静态配置的监控目标或者基于服务发现自动配置的目标中进行拉取数据,新拉取到的数据会持久化到存储设备当中。(1)Prometheus 以 Prometheus Server 为核心,用于收集和存储时间序列数据。Prometheus Server 从监控目标中通过 pull 方式拉取指标数据,或通过 pushgateway 把采集的数据拉取到

2023-08-24 02:34:48 215

原创 Kubernetes 包管理器 Helm

charts 除了可以在 repo 中下载,还可以自己自定义,创建完成后通过 helm 部署到 k8s。tree nginxnginx├── charts可见已经生成相应模版#在 templates 目录下 yaml 文件模板中的变量(go语言 template语法)的值默认是在 nginx/values.yaml 中定义的,只需要修改 nginx/values.yaml 的内容,也就完成了 templates 目录下 yaml 文件的配置。

2023-08-21 19:08:12 213

原创 Kubernetes 使用 Rancher 管理

Rancher 和 k8s 的区别Rancher 和 k8s 都是用来作为容器的调度与编排系统。但是 rancher 不仅能够管理应用容器,更重要的一点是能够管理 k8s 集群。 Rancher2.x 底层基于 k8s 调度引擎,通过 Rancher 的封装,用户可以在不熟悉 k8s 概念的情况下轻松的通过 Rancher 来部署容器到k8s集群当中。Rancher 和 k8s 的区别Rancher 和 k8s 都是用来作为容器的调度与编排系统。但是 rancher 不仅能够管理应用容器,更重要的一点是

2023-08-20 19:33:50 838

原创 Kubernetes HPA横向扩展(自动副本数调整)

为控制器管理的Pod资源副本数量实现自动扩缩容据容器资源使用率自动设置CPU和内存的requests水平自动伸缩(横向扩展),Kubernetes 有一个 HPA 的资源,HPA 可以根据 CPU 利用率自动伸缩一个 Replication Controller、 Deployment 或者Replica Set 中的 Pod 数量。周期性的检测 Pod 的 CPU 使用率(1.22版本前只能检测cpu使用率 后续版本可以检测内存进行扩展)(收集汇报内存 cpu使用率)HPA的实现原理。

2023-08-20 14:09:08 199

原创 Kubernetes 资源限制

Kubernetes对资源的限制实际上是通过cgroup来控制的,cgroup是容器的一组用来控制内核如何运行进程的相关属性集合。针对内存、CPU 和各种设备都有对应的 cgroup。默认情况下,Pod 运行没有 CPU 和内存的限额。这意味着系统中的任何 Pod 将能够像执行该 Pod 所在的节点一样, 消耗足够多的 CPU 和内存。一般会针对某些应用的 pod 资源进行资源限制,这个资源限制是通过 containers.resources 的 requests 和 limits 来实现。

2023-08-20 02:48:41 179

原创 Kubernetes 安全机制 认证 授权 准入控制

Role 受命名空间的影响,只能在指定的命名空间中操作资源ClusterRole 默认能够在K8S集群中所有的命名空间中操作资源,不要配置 namespace如果使用 RoleBinding 绑定 ClusterRole,仍会受到命名空间的影响;如果使用 ClusterRoleBinding 绑定 ClusterRole, 将会作用于整个 K8S 集群。Role (受限命名空间)+ RoleBinding(受限命名空间)

2023-08-20 01:17:05 523

原创 Kubernetes 对外服务 Ingress

ingress是k8s集群的请求入口,可以理解为对多个service的再次抽象通常说的ingress一般包括ingress资源对象及ingress-controller两部分组成ingress-controller有多种实现,社区原生的是ingress-nginx,根据具体需求选择ingress自身的暴露有多种方式,需要根据基础环境及业务类型选择合适的方式。

2023-08-18 00:42:48 155

原创 Keburnetes 配置资源管理 Secret ConfigMap

Keburnetes 配置资源管理 Secret ConfigMapSecretSecret 是用来保存密码、token、密钥等敏感数据的 k8s 资源,这类数据虽然也可以存放在 Pod 或者镜像中,但是放在 Secret 中是为了更方便的控制如何使用数据,并减少暴露的风险。ConfigMap与Secret类似,区别在于ConfigMap保存的是不需要加密配置的信息。ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。Con

2023-08-16 19:44:26 121

原创 Kubernetes Pod控制器

ReplicaSet: 代用户创建指定数量的pod副本,确保pod副本数量符合预期状态,并且支持滚动式自动扩容和缩容功能。Deployment:工作在ReplicaSet之上,用于管理无状态应用3、DaemonSet:用于确保集群中的每一个节点只运行特定的pod副本,通常用于实现系统级后台任务。比如ELK服务特性:服务是无状态的服务必须是守护进程4、StatefulSet:管理有状态应用5、Job:只要完成就立即退出,不需要重启或重建6、Cronjob:周期性任务控制,不需要持

2023-08-16 00:02:51 342

原创 Kubernetes 存储卷 volumes

emptyDir可实现Pod中的容器之间共享目录数据,但emptyDir存储卷没有持久化数据的能力,存储卷会随着Pod生命周期结束而一起删除(一个pod中创建了docker1 docker2两个容器,他们都挂载这个emptyDir,就能实现pod内容器间数据互通)hostPath将Node节点(宿主机)上的目录/文件挂载到Pod容器的指定目录中,有持久化数据的能力,但只能在单个Node节点上持久化数据,不能实现跨Node节点的Pod共享数据。PVC 的全称是 Persistent Volume Claim,

2023-08-14 19:11:46 215

原创 Kubernetes pod调度约束[亲和性 污点] 生命阶段 排障手段

Kubernetes 是通过 List-Watch 的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 Node 节点上面建立 Pod 和 Container。APIServer 经过 API 调用,权限控制,调用资源和存储资源的过程,实际上还没有真正开始部署应用。这里 需要 Controller Manager、Scheduler 和 kubelet 的协助才能完成整个部署过程。

2023-08-11 00:26:18 584

原创 kubernetes pod 资源限制 探针

存活探针(livenessProbe):探测是否正常运行。如果探测失败则kubelet杀掉容器(Pod容器会根据重启策略决定是否重启)就绪探针(readinessProbe):探测Pod是否进入就绪状态(ready状态栏1/1),并做好接收service请求的准备。如果探测失败则Pod会变成未就绪状态(ready状态栏0/1),service资源会删除所关联的端点(endpoints),并不再转发请求给就绪探测失败的Pod启动探针(startupProbe):探测容器内的应用是否启动成功。在启动探针探测

2023-08-09 22:19:47 418

原创 Kubernetes pod概念(三种类型 三种容器 镜像拉取策略 重启策略)

Pod 是 K8S 最小的创建和运行管理单元一个 Pod 能包含几个容器?1个 pause容器(基础容器/父容器/根容器)1个或多个应用容器(业务容器)通常一个Pod最好只包含一个应用容器,一个应用容器最好只运行一个业务进程同一个Pod里的容器,都是运行在同一个Node节点上的,并且共享 NET MNT UTS IPC PID 命名空间一个Pod中运行一个容器。“每个Pod中一个容器”的模式是最常见的用法;

2023-08-09 09:50:39 666

原创 Kubernetes YAML配置文件管理

targetPort 是 Pod 的端口,从 port 或 nodePort 来的流量经过 kube-proxy 反向代理负载均衡转发到后端 Pod 的 targetPort 上,最后进入容器。port 是 k8s 集群内部访问service的端口,即通过 clusterIP: port 可以从 Pod 所在的 Node 上访问到 service。YAML 格式:用于配置和管理,YAML 是一种简洁的非标记性语言,内容格式人性化,较易读。●“---”表示YAML格式,一个文件的开始,用于分隔文件间。

2023-08-08 15:04:00 305

原创 Kubernetes kubectl管理命令使用方法

创建kubectl create -n 命名空间 [选项]--image=镜像 --replicas=副本数 --port=容器端口查询kubectl get [资源名称] -n 命名空间 -o wide|yaml|json -w实时更新详细信息kubectl describe -n 命名空间删除(重启)

2023-08-08 11:12:14 759

原创 Kubeadm搭建 Kubernetes

1)所有节点进行初始化,安装docker引擎和kubeadm kubelet kubectl2)生成集群初始化配置文件并进行修改3)使用kubeadm init根据初始化配置文件生成K8S的master控制管理节点4)安装CNI网络插件(flannel、calico等)5)在其他节点使用kubeadm join将节点以node或者master角色加入K8S集群kubeadm init:在使用kubeadm方式安装K8S集群时,可根据初始化配置文件或者配置参数快速的初始化生成一个K8S的m

2023-08-05 16:13:04 501

原创 Kubernetes v1.20 二进制部署

二进制部署 Kubernetes v1.20 部署 etcd 集群 部署 docker引擎 部署 Master 组件 部署 Worker Node 组件 部署 CNI 网络组件 部署 Calico 网络插件 部署 CoreDNS 负载均衡部署 部署 Dashboard kube-apiserver kube-controller-manager kube-scheduler etcd kubelet kube-proxy docker负载均衡 nginx+keepalive

2023-08-04 17:33:36 494

原创 Kubernetes 概述

K8S 的全称为 Kubernetes (K12345678S),作用:用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是一个生态极其丰富的容器编排框架工具。由来:K8S由google的Borg系统(博格系统,google内部使用的大规模容器编排工具)作为原型,后经GO语言延用Borg的思路重写并捐献给CNCF基金会开源。

2023-08-02 10:57:44 282

原创 Ansible自动化运维工具 —— Playbook 剧本

name: #指定play名称hosts: #指定主机组remote_user: #执行用户gather_facts: true|false #是否收集远程主机facts信息vars: #定义变量tasks: #定义task任务列表- name: #定义task任务名称模块: #定义任务使用的模块和参数with_items: #定义循环列表when: #定义判断条件(==!= >= >

2023-07-31 19:28:33 863

原创 sed命令替换 M-BM- 不可见字符 解决脚本或配置文件粘贴后莫名其妙的报错

在使用shell脚本、编辑配置文件时,如果是直接复制,有时会莫名其妙报错。不可见字符 挤占在空格位,正是这些字符导致脚本或配置文件的读取出错、使用cat -A查看文件,可以看到非常多的。脚本和配置文件此时就不会因为。使用sed命令将文件内的。不可见字符 全部替换为空格。不可见字符而导致报错。

2023-07-29 01:02:19 769

原创 Ansible 自动化运维工具

Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个操作,使用Ansible只需在固定的一台Ansible控制节点上去完成所有主机的操作。

2023-07-27 19:30:01 549

原创 Docker 安全 Docker HTTPS请求过程与配置

尽量别做的事尽量不用 --privileged 运行容器(授权容器root用户拥有宿主机的root权限)尽量不用 --network host 运行容器(使用 host 网络模式共享宿主机的网络命名空间)尽量不在容器中运行 ssh 服务尽量要做的事尽量使用最小化的镜像尽量以单一进程运行容器尽量使用最新版本的应用做镜像主进程尽量使用最新版本的docker尽量下载使用官方的镜像或自己构建镜像从私有仓库下载镜像HTTPS请求访问过程 如何获取 ssl 证书?openssl 创建证书

2023-07-27 12:11:05 1923

原创 Docker consul的容器服务更新与发现

(1)什么是服务注册与发现服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。这里就会有几个问题:●如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦●后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。

2023-07-27 11:14:11 333

原创 Docker --harbor --registry 私有仓库 部署与管理

什么是HarborHarbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。Harbor 的每个组件都是以 Docker 容

2023-07-26 16:34:12 882

原创 Docker Compose 容器编排

depends_on 在使用Compose时,最大的好处就是少打启动命令,但一般项目容器启动的顺序是有要求的,如果直接从上到下启动容器,可能会因为容器依赖问题而启动失败。unless-stopped,在容器退出时总是重启容器,但是不考虑在 Docker 守护进程启动时就已经停止了的容器。container_name 指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法scale指定容器数量。

2023-07-25 18:27:07 1248

原创 Docker 镜像构建 搭建分布式LNMP论坛 实践

​地址规划宿主机准备docker pull centos:7docker network create --subnet=172.18.0.0/16 --opt "com.docker.network.bridge.name"="docker1" mynetworkNGINXcd /opt/0A/nginxvim DockerfileFROM centos:7 AS firstMAINTAINER this is nginx image

2023-07-24 23:27:40 750

原创 Docker File 镜像的创建

Docker 镜像的创建创建镜像有三种方法,分别为基于已有镜像创建、基于本地模板创建以及基于Dockerfile创建。联合文件系统Dockerfile 操作常用的指令 MAINTAINER 名字 ENTRYPOINT CMD RUN 命令 EXPOSE 端口号 ["要运行的程序", "参数1", "参数2"] COPY 源文件/目录 目标文件/目录VOLUME ["容器中 需要导出到宿主机的 目录名"] ADD 源文件/目录 目标文件/目录ENV 环境变量 变量值ONBUILD 命令WORKDIR 。。

2023-07-22 15:31:35 328

二进制搭建 Kubernetes v1.20 依赖包与脚本

k8s二进制安装依赖包与脚本

2023-08-03

空空如也

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

TA关注的人

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