Linux inode

前一段时间,Jenkins 时不时就出现不可用的情况。一开始,检查服务器相关的日志后,发现 No space left on device 错误信息,根据这个错误信息的提示,我的同事着手扩容了磁盘空间,之后,重启服务器,jenkins 恢复正常。可是,没过多久,jenkins 又出现相同的问题了。同事排查发现,服务器上可用的磁盘空间还剩很多,于是,开始检查服务器相关的监控指标,发现 Inode 使用率已经达到了 100%,在查阅了相关资料之后,清理了 tmp 目录下的无用文件后,jenkins 恢复正常。后来,同事做了一次 Inode 相关知识的技术分享。本文借此,做一下相应的学习笔记。

阅读全文 »

k8s 最谨慎的 rolling upgrade 策略

使用 k8s 已有一段时间了,在部署新服务的时候,通常习惯将不重要服务的滚动更新策略设置为:maxUnavailable: 25%maxSurge: 25%,运行到目前,没有什么太大的问题。但是,不同的运维人员,在设置此策略的时候,会有一些困惑(可能会写错策略)。为了统一部署规范,本文根据阿里云容器实践文档(企业内部分享),记录,在 k8s 中最谨慎的 rolling upgrade 策略配置。

阅读全文 »

Sentry:安装 sentry-ldap-auth 插件

早前,在公司的生产环境 k8s 集群上部署了 Sentry 服务,运行一段时间后发现,如果不接入公司已有的账号体系(LDAP 用户管理服务)而单独使用 Sentry 默认的账号管理机制(邀请、注销)的话,给账号统一管理带来极大的不便。后来,查找了解到 Sentry 第三方插件 sentry-ldap-auth 可以满足目前的需求。借此机会,踩了一下安装 sentry-ldap-auth 插件的坑。注意,本文主要通过 onpremise 容器镜像,进行本地部署、验证,并做相应的笔记记录。

阅读全文 »

MacOS Navicat Keygen 使用

在 MacOS 中,之前一直都是使用 Sequel Pro 作为 MySQL 客户端,但是 Sequel Pro 经常会出现无解的崩溃现象,不胜其扰,最后决定尝试一下 Navicat。Navicat 是按年付费授权的,费用还是比较高的。不过,刚好 Github 上有 Navicat Keygen 工具可以使用(注:由于版权问题,该代码仓库已下线,2019-12-13),所以,本文主要针对 Navicat Keygen 的编译使用做一下备忘记录。

阅读全文 »

MySQL EXPLAIN 输出内容的含义

在优化 SQL 语句时,最常用的方式是使用 EXPLAIN 工具获取 SQL 语句的执行计划,之后通过分析,了解 MySQL 数据库将会如何执行对应的 SQL 语句,以便进行相应的语句调整、索引优化等。本文主要记录 EXPLAIN 输出内容的相应解释说明。

阅读全文 »