深入 etcd:Raft 共识协议中的选举机制: 角色、Quorum 与 Pre-Vote
从节点角色、Quorum 公式、选举流程、split vote 处理,到 Pre-Vote 预投票机制,系统梳理 etcd 在主节点宕机场景下的完整共识过程
Writing
有关系统、网络、Kubernetes 与前端工程的可复用记录。
从节点角色、Quorum 公式、选举流程、split vote 处理,到 Pre-Vote 预投票机制,系统梳理 etcd 在主节点宕机场景下的完整共识过程
本文深入解析 systemd-oomd 的工作原理,说明其如何基于 PSI 与 cgroup v2 监控内存压力,并与传统内核 OOM 机制进行对比。通过 memory.high、slice 配置与服务示例,演示如何在生产环境中实现更精细的 OOM 控制。
Kubernetes内存管理深度解析:当内存不足时,Pod如何被驱逐或杀死?本文从节点驱逐、cgroups限制、内核OOM三个层面,结合Logstash实例追踪cgroups路径,详解QoS与oom_score_adj如何决定Pod生死。
针对 Kubernetes 集群中因 SHA-1 和 CBC 加密套件引发的安全审计问题,提供了一套完整的控制平面加固方案。内容涵盖SSH禁用弱加密套件和登录防暴力破解;Kubelet、kube-controller、scheduler、etcd等系统组件的TLS1.2加固策略。确保环境在提升安全评级的同时,业务连续性不受影响。
在 Kubernetes 运维中,有时会遇到节点网络和存储性能突然升高的情况,这篇文章展示了如何通过从网络带宽监控入手,层层递进,最终找出数据库持久化存储时遇到的NFS存储瓶颈。
结合Nginx负载均衡,keepalived + VIP机制实现的三控制平面的kubernetes集群
灵雀云实施顾问岗位技术面二面中的一些问题与自我反思
在小型实验环境或虚拟机集群中,dnsmasq 可以同时承担 DHCP 和 DNS 的角色,实现 IP 自动分配与主机名解析。本文基于 Linux Fedora + Hyper-V虚拟机,完整演示 dnsmasq 的部署、配置方法,以及如何实现基于 hostname 的自动域名解析与内网服务发现。
本文以澳洲头部零售网站 JB-HIFI 的真实宕机事件为样本,深度解析其 HTTP 响应头。你将看到,无需内部日志,仅凭客户端可见信息,即可完成从边缘到源站的全链路故障域推断。
本文描述了如何实现一个高价值的礼品码兑换系统的设计思路,包含了CDKEY设计方法、验证、系统架构等内容
通过iostat、sar命令进行磁盘IO性能分析、调整IO调度器进行IO优化的方法
介绍了如何使用systemd进行进程级的资源限制(基于Cgroups),以及如何使用systemd-run限制临时进程的资源使用
随笔
如何更好的使用kubernetes label管理工作资源,使用基于服务身份、组织/管理维度与发布维度的分层模型
以ghost应用为例,配置基于MySQL Router的读写分离架构
通过mysqlsh创建一主二从的MySQL innodb cluster集群教程,可实现主从复制和自动failover
使用GitHub Actions一键将应用程序部署至Azure Kubernetes
MySQL8.0数据库的安装、初始化以及配置基于GTID的一主二从教程
介绍了Linux中常用的sysctl运行时参数,涵盖了内存、网络、IO与文件系统及进程与安全相关;面向特定场景介绍了具体的优化措施
在Kubernetes中通过Ingress实现Web代理、HTTPS站点和灰度发布
本文介绍了Python中创建进程和线程的方法,包括使用multiprocessing模块和threading模块,并讲解了进程间及线程间通信的实现。
在Kubernetes中通过RBAC鉴权机制实现对工作资源的权限控制
在Kubernetes中通过ConfigMap和Secret管理常规配置和敏感数据
使用Terraform部署Azure Kubernetes和Container Regsitry
使用StatefulSet控制器管理部署在Kubernetes中的有状态应用
介绍了Kubernetes中几种数据持久化的方法
通过Kubernetes Service将工作负载对外暴露
使用DaemonSet确保在集群中的每个节点都运行一个特定Pod,该Pod可以用于执行某些特定任务。
使用hostAliases进行别名映射;在Pod中配置域名解析。
使用Deployment 为 Pod 和 ReplicaSet 提供声明式的更新能力。
通过禁用TLS1.0与启用HSTS来提高站点安全性
使用Kubernetes的容器钩子与探针执行在Pod生命周期内指定时间点的特定操作以及通过探针确定容器是否就绪或存活
ACME,即自动自动证书管理环境(Automatic Certificate Management Environment),是一个无需人工干预就能自动颁发和更新证书的协议。目前,证书颁发机构Let’s Encrypt通过ACME协议免费提供DV证书。
Pod的调度策略与节点亲和性
如何通过子网掩码计算一个IP地址的网络位以及这个网络有多少可用主机位
如何通过子网掩码计算一个IP地址的网络位以及这个网络有多少可用主机位
Kubernetes Pod概念,Sidecar、Init和Pause容器的概念和使用以及Pod的几种状态
一个系统监控脚本,主要监控了cpu、内存和磁盘使用率,容器和服务监控,使用json作为配置文件,并在满足设定的条件时向用户发邮件报警。
Kubernetes Namespace与Label的基本概念、定义和使用
基于getopts和shift两个命令实现通过选项向Shell脚本传递参数
描述了几种Redis日志中常见的警报和整改措施
一个查看域名ssl认证有效期的shell脚本
一键查找官方镜像的历史版本
Redis分片存储 - 将大量数据分布式存储在多个Redis数据库实例中
分析一次Redis故障转移的日志内容
通过Redis主从复制实现Redis服务的高可用性、数据冗余;使用Sentinel实现故障恢复
关于Redis的数据持久化方案的简单介绍 - 主要是RDB和AOF
Redis数据库的安装、基本命令和数据类型
Zookeeper安装部署和基础使用
关于TCP三次握手和四次挥手的简单描述
从0到1实现Tomcat的负载均衡与Nginx动静态资源分离,配合ansible playbook做软件安装
使用MySQL MHA实现一主多从的数据库架构,确保MySQL服务的高可用性
从0到1实现Tomcat的负载均衡与Nginx动静态资源分离,配合ansible playbook做软件安装
使用MySQL MHA结合Binlog或GTID实现MySQL数据库集群的数据同步
如何通过Binlog和GTID实现数据备份和还原
交换机的工作原理
一个使用ansible template部署redis的示例,结合的vars等功能的使用
通过Ansible Role将单个剧本拆分为多个子文件,更便于复用、维护、修改和使用。
在ansible playbook中使用循环、vars和when等方法实现ansible条件式功能
使用Mongoose模块对MongoDB记录进行基本的增删改查操作和筛选,排序等。
ansible入门基础教学
关于磁盘插入后服务器不识别的处置方法、磁盘分区、挂载及文件系统格式化
关于Raid磁盘备份技术的简单描述
练习 - 部署LNMP单点架构
这个分类暂时没有文章。