K8S client-go Patch example

2019-05-24
阅读 14 分钟
13.8k
使用Patch方式更新K8S的 API Objects 一共有三种方式:strategic merge patch, json-patch,json merge patch。关于这三种方式的文字描述区别可看官方文档update-api-object-kubectl-patch。

golang 的channels 行为

2018-04-22
阅读 9 分钟
7.5k
当我第一次使用 Go 的 channels 工作的时候,我犯了一个错误,把 channels 考虑为一个数据结构。我把 channels 看作为 goroutines 之间提供自动同步访问的队列。这种结构上的理解导致我写了很多不好且结构复杂的并发代码。

Java 8 CompletableFuture 教程

2018-04-19
阅读 14 分钟
25.8k
在Java中CompletableFuture用于异步编程,异步编程是编写非阻塞的代码,运行的任务在一个单独的线程,与主线程隔离,并且会通知主线程它的进度,成功或者失败。

Golang 工具列表

2016-12-03
阅读 1 分钟
4.6k
gopkgs goverage goplay reviewdog - [链接] godebug go-httpstat - [链接] redis-healthy gru - 类似 Puppet 的编排系统

Python:创建异常日志装饰器

2016-06-15
阅读 3 分钟
8.8k
在该代码中,有两个函数。第一个函数创建了日志对象并返回该日志对象。第二个函数是我们的装饰器函数。我们在一个try/except中封装传递的函数,当logger中发生任何异常的时候,进行日志记录。并且我还记录了当异常发生时的函数名称。

curl 支持 HTTP2

2016-03-07
阅读 2 分钟
13.2k
curl 命令支持 HTTP2 执行以下命令: {代码...} 首先使用 curl 请求 https://nghttp2.org(使用了 http2)。但是结果却是返回了 HTTP1.1 响应: {代码...} 如果使用 http2,会给我们返回一个协议不支持的错误。 {代码...} 安装 nghttp2 安装 nghttp2 ad 工具(http2 的 C 库支持): {代码...} 更新到最新的 curl 版本:...

Docker 小技巧

2016-02-26
阅读 5 分钟
4k
以下都会使用到容器 id,所以执行以下指令查看容器 id 或者容器名称 {代码...} 检查环节变量 {代码...} 查看日志 {代码...} 备份 {代码...} 恢复备份 {代码...} 使用 docker exec 进入容器 {代码...} 没有剩余磁盘空间 使用以下指令删除容器和镜像 {代码...} 清理日志 - 非 root 权限 {代码...} 使用别名 在 .zshrc 或者...

Docker 技巧:删除 Docker 容器和镜像

2016-02-25
阅读 1 分钟
40.9k
删除所有未运行 Docker 容器 {代码...} 删除所有 Docker 镜像 删除所有未打 tag 的镜像 {代码...} 删除所有镜像 {代码...} 根据格式删除所有镜像 {代码...}

Linux 性能工具 sar 示例

2016-02-24
阅读 10 分钟
5.6k
注意:请编译的时候确保使用 --enable-install-cron 选项,因为它会自动帮你做以下事情,如果没有使用这个选项,需要你手工处理以下事情

psutil 4.0.0 发布

2016-02-23
阅读 1 分钟
2.5k
扩展了 disk IO 状态 busy_time, which is the time spent doing actual I/Os (in milliseconds).

ElasticSearch 运维

2016-01-18
阅读 4 分钟
10.5k
当把 elasticsearch 版本从 2.0.0 升级到 2.1.1 的时候,客户端完全不可用,接口变化了,因此在升级的时候,需要客户端也升级

sysdig 安装和简单使用

2015-12-29
阅读 1 分钟
9.4k
Sysdig 安装 基础环境 操作系统:CentOS 6.6 内核: 2.6.32-504.23.4.el6.x86_64 软件版本 Sysydig:sysdig-0.6.0-x86_64.rpm 安装步骤 rpm 包安装 {代码...} 查看最耗时的文件 {代码...} 报错如下: {代码...} 解决如上报错的方法: {代码...} 再次执行即可成功 Sysdig 简单示例 参考文档 [链接] [链接]

Python 变量的变量

2015-08-27
阅读 2 分钟
2.6k
最近在写一个程序的过程中,遇到一个 Python 变量的变量的问题,就是某个变量的值,还是变量,然后我想取最终的值,感谢伟大的 google,写这篇文章记录下。先上代码:

页面加速优化

2015-06-20
阅读 2 分钟
5.4k
内联 CSS 优点 使用内联 CSS 可以减少浏览器去服务端去下载 CSS 文件 关键 CSS 内联到 HTML 文件中 缺点 CSS 文件没法被缓存 注意:该方法只适用于很小的 CSS 文件,如果你的 CSS 文件足够大以及复杂,应该使用外部 CSS 的方法。 优化 CSS 交付 优化策略 外部的 CSS 不要超过一个,大小应该小于 50k 对于下拉区域以上的...

Cgroup 好文集合

2015-04-12
阅读 1 分钟
2.7k
本文主要是为了自己查询方便,汇聚一些 cgroup 方面的好文章 怎样使用 cgroup:[链接] Linux资源管理之cgroups简介 cgroup 系列文章

keepalived 超过 20个虚拟地址问题

2015-04-09
阅读 1 分钟
4.7k
最近在生产环境使用 lvs + keepalived 的过程中遇到一个问题就是我的 keepalived 配置文件中使用了超过 20 个虚拟地址,一超过 20 个的时候就发现 keepalived 出现问题,会随机逐步把超过的 IP 给踢出集群。所以当时的问题就是:

Ansible 好文汇总

2015-04-04
阅读 1 分钟
3.7k
这篇博客是汇总自己看到的比较好的 Ansible 的文章,作为一个归纳,因为最近比较忙,等忙完,就会把这里汇总的文章进行翻译,列在这里的文章都是未翻译的。

ipvsadm 命令详解

2015-03-20
阅读 4 分钟
18.1k
InActConn 指非活跃连接数,我们将处于 TCP ESTABLISH 状态以外的连接都称为不活跃连接。例如处于 SYN_RECV 状态的连接,处于 TIME_WAIT 状态的连接等。

Graphite 系列 #6:Carbon 聚合器

2015-03-10
阅读 6 分钟
5.9k
在前面博客文章中,我们已经学到了怎样设置 Carbon (caches) 和 Whisper,发布指标和可视化信息以及 Carbon 进程的行为。在这篇博客中,我将介绍 Carbon 的另外一个特性 - 聚合器。

Graphite 系列 #4: Graphite WEBAPP

2015-03-10
阅读 11 分钟
7.2k
现在我们已经启动了后端组件以及正在运行,并以我们指定的格式存储了数值型时间序列数据,是时候看一下 Graphite 的前端组件了。我们明确需要一种方式来查询和可视化存储的数据。

Graphite 系列 #5: Carbon Caches 压力测试

2015-03-09
阅读 9 分钟
4.7k
在本文中,我将对 carbon 进程进行压力测试。这个涉及到在非常短的时间内发布大量指标。 增加每分钟产生的数量阈值 carbon-cache 配置文件限制了 Whisper 文件每分钟创建的数量。打开配置文件,并改变配置文件的设置。 {代码...} 因为我们即将发布一堆指标,让我们修改配置文件的这部分,把值设为 1000。 {代码...} 注意...

Graphite 系列 #3:Whisper Storage Schemas & Aggregations

2015-03-03
阅读 5 分钟
5.7k
在前一篇博客中,我们安装了 Carbon 和 Whisper - Graphite 的后端组件。我们这时使用一个 carbon-cache 进程来监听传入的数据点以及使用 Whisper 存储这些数据点。在这篇博客中我将详细描述 Whisper 怎样把这些数据点存储进文件系统以及你怎样控制这些细节。

CentOS 5.8 上安装 systemtap-2.6

2015-02-06
阅读 4 分钟
5.4k
最近为了分析公司的一个 nginx + lua 的应用性能,正好需要用到春神的那套 nginx-lua 的分析脚本,因此就立马去搭建下 环境: CentOS 5.8 Lua 5.2.3 luajit-2.0.3 systemtap-2.6 nginx 依赖项: systemtap-2.6 依赖于 elfutils 注:CentOS 5.8 上面安装 systemtap-2.6 的时候,elfutils 的版本不能太高,不然会报错,安...

Graphite 系列 #2:Carbon 和 Whisper

2015-02-03
阅读 6 分钟
12.1k
注:该系列文章绝对是学习 Graphite 的好文章,是我见过的将的最全面,最清晰,最简单明了的系列文章。我会把该系列的所有文章全部翻译完成,但是还是推荐各位读读原文。

批量更新 SecureCRT 中堡垒机的密码

2015-02-03
阅读 1 分钟
5.4k
由于安全要求,公司定时更新堡垒机的密码,而 SA 维护上成千上万台服务器,如果每次变更密码都要手工去更新密码那太惨了,作为懒惰的人,必须要写程序解决,下面是我写的一个小脚本,批量更新 SecureCRT 脚本中堡垒机的密码

使用 Docker, 7 个命令部署一个 Mesos 集群

2015-02-03
阅读 3 分钟
13k
这个教程将给你展示怎样使用 Docker 容器提供一个单节点的 Mesos 集群(未来的一篇文章将展示怎样很容易的扩展这个到多个节点或者是见底部更新)。这意味着你可以使用 7 个命令启动整个集群!不需要安装任何东西除了一个正在运行的 Docker 服务器。

分析 Python 脚本

2015-02-02
阅读 2 分钟
5.9k
我有一个负责一个长期运行任务的 Python 脚本。这个脚本同其他三个系统通信 - 它从系统 #1 和 #2 读取数据,合并它们然后再把它们推送到系统 #3。这是下面的描述。问题是迁移运行在我不满意的一个地方。因为我想知道该脚本的大部分工作是在与哪个慢的外部系统进行通信。Python 有一个非常好用的内建的分析器来回答这类问...

使用 Prometheus 监控 Docker 容器

2015-01-31
阅读 4 分钟
26.4k
在容器中运行你所有的服务使得获取深度资源和运行特性成为可能,因为每个容器运行在它们自己的 cgroup 中并且 Linux 内核给我们提供了各种各样的指标(metrics)。

基于 proftpd 配置加密 FTP

2015-01-29
阅读 4 分钟
6.4k
该文档主要是记录 proftpd 配置 SSL/TSL 的安装部署配置文档 环境 服务器环境 CentOS 5.8 客户端端软件环境 lftp-4.6.1 openssl-1.0.2 服务器端软件环境 proftpd:【我这边是使用的最新版】 openssl 服务器端软件安装 安装 proftpd 下载最新版的 proftpd wget https://github.com/proftpd/proftpd/archive/master.zip 安...

Fabric 实践:local 并发执行

2015-01-05
阅读 2 分钟
7.1k
我需要把我 fabric 服务器上的某些文件同步到 test.com 集群,但是我又需要并发执行,而不是通过 for 循环或者是串行的方式。