登录社区云,与社区用户共同成长
邀请您加入社区
Apache Skywalking是一款开源的可观测性分析平台,由四大核心组件构成:数据采集(探针/Agents)、OAP Server(流式计算与聚合)、Storage(持久化存储)及UI(可视化界面)。探针支持多语言、eBPF和Service Mesh,实现无侵入监控;OAP Server负责接收并实时处理数据,构建服务拓扑;存储层可选BanyanDB或Elasticsearch;UI提供丰富
Deploy Desk Claw 是一款运行在本机的多项目部署工作台,把服务器连接、文件分发、服务重启、日志排查、版本回滚收进一个客户端,并用 AI 运维专家把「一句话需求」变成可执行的部署流程。本文介绍它的目标用户、要解决的问题和核心能力,适合独立开发者、小团队与内网交付场景的读者参考。
今天 K8s 关注的已不只是「跑容器」,而是整个分布式应用的全生命周期:调度、弹性、存储、网络、安全、发布、自愈。容器是 K8s 承载的「最小积木」,但 K8s 的管理单元是更高一层的 Pod。容器通过操作系统层面的隔离,将应用连同其依赖打包成一个可移植的单元,从根源上解决了「在我机器上能跑」的难题。Kubernetes(常简称 K8s,因 K 与 s 之间有 8 个字母)是一个开源的容器编排平台
sk_buff的结构设计是理解 Linux 网络子系统的基石——四指针布局、分片引用、页面计数等机制在设计之初就预埋了零拷贝的基因。三层零拷贝技术(sendfile → splice → AF_XDP)构成了从应用态优化到内核旁路的完整频谱。静态文件服务、日志转发——直接用sendfile,内核 2.6+ 即可支持的零修改方案。代理、负载均衡数据平面——首选splice,用户态代码中不存在数据缓冲
统一层级树:所有控制器共享同一棵cgroup树,避免v1中的层级分裂问题。原子操作:通过cgroup.controllers和cgroup.subtree_control实现控制器的原子启用。更精细的接口文件:每个控制器有独立的接口文件,语义更清晰。cgroup v2目录结构示例# 挂载cgroup v2文件系统# 查看cgroup v2层级树# 输出示例:# ├── cgroup.control
eBPF(Extended Berkeley Packet Filter)已从网络包过滤工具演变为Linux内核的通用可编程基础设施。在云原生可观测性领域,eBPF是Prometheus、Falco、Cilium等核心组件的底层技术——它能在内核态以极低开销采集指标、追踪调用链、执行安全策略。但这种"内核态可编程"特性也带来了最根本的安全问题:谁可以往内核注入代码?注入的代码能做什么?BPF验证器
BPF_MAP_TYPE_HASH和BPF_MAP_TYPE_PERCPU_HASH代表了两种截然不同的并发设计哲学——前者通过全局锁保证一致性但牺牲扩展性,后者通过数据分区实现线性扩展但增加了聚合成本。在实际选型中,核心判断标准很简单:如果你的eBPF程序在4个以上CPU核心上运行且Map更新频率超过每秒10万次,PERCPU_HASH几乎总是更好的选择。从优化实践的角度看,性能问题往往不是单一
Linux内核锁机制是一个复杂而精妙的体系,从最基础的自旋锁到高级的RCU,每种锁机制都有其特定的适用场景和性能特征。本文系统性地分析了五种核心锁机制:自旋锁、信号量、互斥锁、读写锁和RCU,重点剖析了它们的底层实现原理和性能量化数据。无竞争延迟:RCU读者 < spinlock < rwsem读者 < mutex < rwsem写者高竞争吞吐量:RCU > rwsem(读) > spinlock
CFS 调度器在公平性上做到了极致,但在 NUMA 架构和延迟敏感场景下需要针对性的调优。减少无效迁移:通过 CPU 亲和性和 cpuset 绑定,避免跨 NUMA Node 的频繁上下文切换;关注内存本地性:确保任务使用的内存在所在 NUMA Node 上分配(通过或mbind系统调用);监控调度指标:建立等内核调度指标的持续监控体系。调度器的优化往往能带来 15%-30% 的性能提升,但对不同
把人生看作一台电脑,用优化Linux内核的思路来优化自己,这可能是我做过的最有趣的"系统优化"项目。当然,人生比电脑复杂得多,我们不是代码,没有标准答案。但我相信,只要保持学习的热情,保持开放的心态,我们都能把自己的"人生系统"优化得更好。希望这篇文章能给你一些启发,也欢迎你在评论区分享你的"人生优化"经验。本文作者:侯万里(万里侯),像优化系统一样优化人生的运维人。
Linux内核参数可以通过sysctl命令动态调整,也可以通过/etc/sysctl.conf持久化配置。理解这些参数的含义,是进行性能调优的基础。Linux内核调优是一个需要长期积累的领域,没有放之四海而皆准的最佳配置。不同的业务场景、不同的硬件配置,都需要针对性地进行调优。作为运维工程师,我们要做的就是理解系统的运行原理,掌握调优的方法论,在实践中不断积累经验。就像登山一样,只有脚踏实地,一步
Linux内核的内存回收机制是一个在"可用性"和"性能"之间持续权衡的系统。kswapd负责后台异步回收,direct reclaim作为同步兜底,两者共同保障系统不会因内存耗尽而崩溃。在容器化环境中,Node级别的内存回收与Pod级别的QoS驱逐形成了上下层联动。
本文提供在统信UOS操作系统上使用国内镜像源快速部署Kubernetes 1.23.1集群的详细教程。通过阿里云等国内镜像源,解决kubeadm、kubelet等核心组件安装中的镜像拉取问题,实现高效稳定的k8s集群部署,特别适合国内开发者环境。
本文档详细解析2025年数证杯初赛服务器取证题目,包含完整环境重构步骤和20道题目的解答过程。适用于数字取证从业者和竞赛选手(中级-高级难度)。主要内容包括:Kubernetes集群配置(网络调整、节点检查、面板访问)、NFS服务修复、数据库恢复、发卡网站重建等环境重构步骤,以及针对磁盘哈希、集群节点数、密码修改时间、Docker配置、数据库端口、容器ID、缓存类型、Telegram机器人等20个
本文介绍了Nginx监控的两种方案:1)官方nginx-exporter(社区版指标较少,plus版收费),适合基础监控;2)第三方nginx-vts-exporter,适合生产环境非plus版本。详细说明了两种方案的部署方式,包括Nginx配置、Exporter部署(支持Docker/K8s)以及Prometheus集成步骤。最后提到可通过开源Dashboard与Grafana集成可视化监控数据
K8S-1.33.1-阿里云ubuntu24.04-使用docker作为容器运行时-25年最新版安装文档
它描述了应用程序的期望状态,例如需要运行的 Pod 数量、使用的镜像版本等信息。Deployment 会负责根据这些描述来创建、删除或更新 Pod,以确保实际运行的 Pod 符合期望状态。是用来暴露 Pod 提供的服务给其他应用程序或用户的方式。Service 定义了一组 Pod 的访问策略,通过标签选择器将请求路由到匹配的 Pod 上。是 Kubernetes 中最小的调度单元,它可以包含一个或
服务部署k3s后,正常入口端怎么返回都是80,且返回错误。而k3s中,有个pod就叫traefik,也是对应的ip。ngnix显示也是正常,怎么找也找不到问题。发现入口端流量被DNAT转到新的服务。接下来看下怎么解决冲突,未完待续…
k8s中ingress-nginx离线安装实践
本文旨在探讨如何搭建NFS服务器,并将其集成到Kubernetes(K8s)集群中作为持久化存储的解决方案。我们将首先介绍NFS的基本原理和优势,随后详细阐述NFS服务器的搭建过程,包括安装NFS软件包、配置NFS共享目录以及启动NFS服务。接着,我们将探讨如何安装k8s集群并在K8s中部署NFS客户端。
【代码】nginx代理访问Kuboard, 解决日志无法查看问题。
如果报错:sysctl: cannot stat /proc/sys/net/netfilter/nf_conntrack_max: No such file or directory,可能是 conntrack没有加载,执行:lsmod | grep conntrack。docker-ce-linux安装包是阿里云官方提供的开源镜像免费下载服务,每天下载量过亿,阿里巴巴开源镜像站为包含docke
上篇文章介绍service时有说了暴露了service的三种方式ClusterIP、NodePort与LoadBalance,这几种方式都是在service的维度提供的,service的作用体现在两个方面,对集群内部,它不断跟踪pod的变化,更新endpoint中对应pod的对象,提供了ip不断变化的pod的服务发现机制,对集群外部,他类似负载均衡器,可以在集群内外部对pod进行访问。
一般来说,REDIS部署有三种模式。单实例模式,一般用于测试环境。哨兵模式集群模式后两者用于生产部署哨兵模式在redis3.0以前,要实现集群一般是借助哨兵sentinel工具来监控master节点的状态。如果master节点异常,则会做主从切换,将某一台slave作为master。引入了哨兵节点,部署更复杂,维护成本也比较高,并且性能和高可用性等各方面表现一般。集群模式3.0 后推出的 Redi
KubeSphere 部署 redis
抄也是一种态度如果 nginx 的 proxy_pass 指令带有变量名的话server {server_name ~^(\w+)\.example\.com$;location / {proxy_pass http://svc-$1;}}不配置 resolver 是不能使用的(虽然可以成功加载配置)$ curl --resolve 'a.example.com:80:127.0.0.1' a.e
vim redis.ymlapiVersion: v1kind: Namespacemetadata:name: lamp-cloud-k8s---apiVersion: apps/v1kind: Deploymentmetadata:name: redisnamespace: lamp-cloud-k8slabels:name: redisspec:replicas: 1selector:mat
networkPlugin cni failed to teardown pod nginx network: invalid version \"\": the version is empty" 问题修复
实战:ingress-nginx 高级配置1-2022.1.5目录文章目录实战:ingress-nginx 高级配置1-2022.1.5目录实验环境实验软件1、Nginx 配置1.Basic Auth???? 演示1:`在 Ingress 对象上配置一些基本的 Auth 认证,比如 Basic Auth`???? 演示2:`使用外部的 Basic Auth 认证信息`2.URL Rewrite(可
环境信息如下:docker和k8s版本[root@controllersw rootfs]# docker -vDocker version 19.03.11.ce, build 42e35e61f3[root@controllersw rootfs]# kubectl versionClient Version: version.Info{Major:"1", Minor:"16", GitVe
一. 需求描述路径重定向的一般应用场景:调整用户浏览的URL,看起来更规范为了让搜索引擎收录网站内容,让用户体验更好网站更换新域名后根据特殊的变量、目录、客户端信息进行跳转我这里遇到的问题是,以前的很多服务路径配置不规范,有的服务使用项目名作为二级路径,有的服务是随意定义的访问路径,为了统一使用项目名作为访问的二级路径,避免修改代码,所以需要配置路径重定向。举一个例子,我有一个 a 服务,它原来的
k8s部署搭建参考:基于Linux(Ubuntu20.04)初步搭建k8s集群一、前言三个基本概念,Pod,Service,namespace。Pod:k8s最小单元Service:pod每次动态创建后,自动分配的ip会不同,所以引入了service(即服务的注册与发现)namespace:命名空间,主要用于隔离k8s一切皆容器,所有的服务也好,插件也好,pod都是运行在容器之中。部署项目,类似d
k8s部署node express web应用本文档用于梳理k8s部署node应用的过程准备项目项目名称开放端口路由1路由2websvr13000/web1/index/web1/sendwebsvr23001/web2/index/web2/send为了快速搭建,此处的websvr采用express的脚手架express-generator安装:#安装express-generator:$ np
各种服务,在服务器重启后docker容器会 进入休眠#查到Iddocker ps -a# 启动docker start 52ce7416c220docker search mysql1. docker 安装mysqldocker search mysqldocker pull docker.io/mysqldocker run -d -p 3306:3306 --name mymysql -e M
一、redis 配置文件 redis.conf 修改如下notify-keyspace-events ""修改为notify-keyspace-events ExSpringboot使用redis事件监听器RedisListenerConfig.javaimport org.springframework.context.annotation.Bean;import org.springframe
文章目录ubuntu20.04 snap安装microk8s1、操作系统环境2、snap安装docker2.1、docker命令去除sudo3、snap安装microk8s3.1、常规安装3.2、一些情况ubuntu20.04 snap安装microk8s文章时间:2021年6月4日使用snap安装docker和microk8s1、操作系统环境➜~ uname -aLinux local-micr
redis集群模式参展官方模式,6个节点,3主3从,每个主节点带有一个从节点。即以6个节点群集为例,该群集由A,B,C,A1,B1,C1组成,具有3个主节点和3个从节点。配置中心,配置项中新增redis配置,redis.confcluster-enabled yescluster-config-file nodes.confcluster-node-timeout 5000cluster-requ
请求实体太大导致的问题,修改ingress-nginx的默认client-body的大小配置nginx.ingress.kubernetes.io/proxy-body-size: "30M"
网上找了很多弯路,最终找到这篇文章,写得很透彻,照着做成功了。https://www.jianshu.com/p/a34790c730cf有空给内容复制一份过来
1、搭建NFS服务安装NFSyum -y install nfs-utils rpcbind新建文件/etc/exportsvi /etc/exports填写以下内容到此文件# /etc/exports: the access control list for filesystems which may be exported#to NFS clients.See exports(5).## Ex
官方源码 https://github.com/nginxinc/kubernetes-ingress官方ConfigMap 配置https://docs.nginx.com/nginx-ingress-controller/configuration/global-configuration/configmap-resource/官方 Annotationshttps://docs.nginx.
rancher官方文档:https://docs.rancher.cn/rancher2x/quick-start.html注意:以下所有操作都是在mycluster集群中1、创建项目,名称例如:fc2、创建名称空间,例如:fc-ns3、找到mycluster中fc项目,部署第一个工作负载nginx,注意选择工作负载所在名称空间为:fc-ns4、部署...
k8s访问主机的mysql、redis服务apiVersion: v1kind: Endpointsmetadata:# mysql访问时使用 jdbc:mysql://用于k8s集群访问的mysql名称:mysql端口/数据库名称# redis访问时redis-host使用 用于k8s集群访问的redis名称name: 用于k8s集群访问的mysql、redis名称name...
这几天对开发服务器中的 k8s和相关模块 进行升级,做个记录Centos7 Kubernetes(k8s)开发服务器(单服务器)部署 redis 缓存环境,与系统系统:centos 7.6内核: 5.1.9-1.el7.elrepo.x86_64Kubernetes(K8s) 1.14.3服务器IP:192.168.0.254服务器IP 说明如果更改了服务器IP 为其他IP,那...
Debian / UbuntuCentOS / RHEL / Fedora阿里云提供了Kubernetes国内镜像来安装kubelet、kubectl 和 kubeadm。登陆阿里云镜像网站:https://opsx.alibaba.com/mirror查找关键字“kubernetes”,点击【帮助】按钮。Debian / Ubuntuapt-get update ...
在双 11 或 618 大促的指挥大厅中,实时数据大屏与运营多维看板是整个技术战线的神经中枢。几千块指标看板以每秒数万次的频率,不断向后端的 ClickHouse 集群发起高并发聚合请求。典型的查询诸如“按一级类目、支付渠道、终端操作系统与省份多维统计当前的实付金额与转化率”。。排查发现,大部分内存并不是被数值指标消耗的,而是被作为聚合维度的变长String字段在 GROUP BY 阶段彻底吃光。
配置Service Mesh(Istio)灰度发布
就像其他任何一门语言一样,我们来体验 docker 的 hello world但是报错。
【代码】containerd配置源。
k8s
——k8s
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net