blog icon indicating copy to clipboard operation
blog copied to clipboard

Results 100 blog issues
Sort by recently updated
recently updated
newest added

> 首发于:https://blog.coding.net/blog/Haproxy&Keepalived 适合具有 Docker 和 Bash 相关基础的开发、运维等同学。本文没有太过深入的介绍,也并没有用到一些高级特性,仅适合用来作为一个基础科普文来阅读。 ## 背景 最近在搭新的 Coding 内部测试环境,老大说把以前使用 nginx 插件来做的 LB(Load balancing) 全部换成 HAProxy 来做。经过几天的不断“查阅资料”,简单实现了该服务的动态构建。 本文循序渐进按照以下几个层次来讲: 1. HAProxy 与 Keepalived 的简单介绍 - HAProxy - Keepalived 1....

## ipset 使用如下命令创建一个 ipset 集合 ```bash ipset create test-set hash:ip # 如上命令创建了一个 hash:ip 类型的 IPSet ``` 然后使用如下命令添加一条记录 ```bash ipset add test-set 192.168.165.65 ``` ## iptables 如下命令创建一条自定义链 test-reject: ```bash iptables -t...

本文描述如何基于 [https://github.com/kubernetes/ingress-nginx](https://github.com/kubernetes/ingress-nginx) 实现灰度发布和蓝绿发布功能: - 灰度发布: - 基于Request Header的流量切分 - 基于Cookie的流量切分 - 基于Query Param的流量切分 - 蓝绿发布: - 根据权重进行流量切分 本文基于 `controller-0.32.0` 版本 - 修改后的代码仓库地址:[https://github.com/penglongli/ingress-nginx/tree/controller-0.32.0](https://github.com/penglongli/ingress-nginx/tree/controller-0.32.0) - 提供编译后的镜像使用:docker pull pelin/nginx-ingress-controller:0.32.0 ## 概述 ingress-nginx 目前其实已经做了灰度发布、蓝绿发布,但是在使用方式上需要建多个...

Linux 下的 I/O 测试一般用两种:fio、dd,前者比较强大,下边简单介绍下使用 ## fio fio 的测试 UCloud 写的挺好的,建议参考: - https://docs.ucloud.cn/compute/uphost/io_uphost 需要注意的是,fio 是直接通过写裸盘的方式进行测试,直接测试裸盘会损坏文件系统结构,导致数据丢失。务必要确认磁盘数据已备份,或者无重要数据。 fio 分为:顺序读写、随机读写、混合随机读写三种模式,下边直接通过用例来介绍 ### 顺序读写 顺序读写:文件在硬盘上存储位置是连续的。 适用场景:大文件拷贝。此指标对于数据库性能没有参考价值。 **512K 顺序读** ```shell /usr/bin/fio -filename=/dev/vda -direct=1 -iodepth 64 -thread -rw=read...

参考文章: - [LVM (简体中文) - ArchWiki](https://wiki.archlinux.org/index.php/LVM_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)) - [http://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html](http://www.cnblogs.com/mchina/p/linux-centos-logical-volume-manager-lvm.html) 本文以 Ubuntu 16.04 发行版为例,其它发行版会有差异。挂载一个 10GB 的磁盘。 ## 概念 LVM 是建立在硬盘和分区之间的一个逻辑层,使用 LVM 可以实现动态挂载磁盘,来实现无关机扩容,通常我们都用来做生产环境的磁盘管理。 关于比较详细的概念可以参考上边的两篇文章,下边介绍一下基本的几个概念: - PV(Physical Volume)物理卷 物理卷在 LVM 的管理中处于最底层,可以是物理硬盘,也可以是物理硬盘上的分区,也可以是 raid 设备 -...

在容器及 Kubernetes 相关的技术中,我们经常会听到几个名词,很容易弄混。如:OCI、CRI、CNI、CSI。下边简单介绍下他们的概念,以及它们之间的关系 ## 名词解释 服务之间相互通信,走的是接口(协议、规范)。容器相关的一些开源软件(如:Kubernetes、Containerd、CRI-O、runc、Kata-Containers),大多是通过 protobuf 作为通信协议来开发的。大家通过约定的规范来定义接口,各自实现接口上下层,来完成具体功能的开发。 下边是一些概念的解释: - CRI (Container Runtime Interface):容器运行时接口,CRI中定义了容器和镜像两个接口,实现了这两个接口的目前主流的是:CRI-O、Containerd。(目前 PCI 产品使用的即为 Containerd)。 - OCI(Open Container Initiative):开放容器标准,OCI 中定义了两个标准:容器运行时标准和容器镜像标准,实现了这一标准的主流是:runc(也即我们日常说的 Docker)、Kata-Container - CNI(Container Network Interface):容器网络接口,CNI接口只有两个:容器创建分配网络资源、容器删除释放网络资源。 - CSI(Container Storage...

直接上例子,我们用 ReentrantLock 实现一个简单的“FIFO 的阻塞队列” `FiFoBlockingQueue.java` ```java public class FiFoBlockingQueue { private Object[] elems = null; private int index = 0; private int removeIndex = 0; private int count = 0;...