Rancher2.1的jenkins自动部署脚本

实现rancher2.1的jenkins自动部署功能,并且保证环境变量等其他配置不丢失。思路是,通过rancher api获取当前workload的信息,然后替换container的镜像名称,最后调用更新workload的rancher api即可。

阅读全文

MysSQL高可用集群(二):使用Keepalived配置高可用

前言

之前搭建好了Gelera Cluster,实现了数据同步,下一步就是保证三台主机的高可用了。

安装Keepalived

1
yum install keepalived

阅读全文

MysSQL高可用集群(一):搭建Glera Cluster集群

前言

Galera Cluster是集成了Galera插件的MySQL集群,具有数据一致性强的特点,同时适用于多点写入,数据延迟低的特点。
我们使用3台主机进行搭建。

阅读全文

Docker日志收集实践

说到日志,很多人第一时间想到就是ELK,但是要收集容器内的日志还是需要花一番功夫的。

整体思路

之前我们的思路是,在应用容器内嵌一个filebeat,然后filebeat直接监听容器内的日志文件,有新的日志时发送到kafka集群,然后ELK读取kafka中的日志信息。这样的方案存在几个问题:

阅读全文

hystrix dashboard无法连接问题

在Spring Boot较新的版本中(例如:2.0.2.RELEASE),hystrix.stream的地址有所改变,所以会导致hystrix dashboard无法访问,解决办法:
http://host-name:port/hystrix中的url
http://host-name:port/hystrix.stream
变为了http://host-name:port/actuator/hystrix.stream
同时在配置文件中添加:
management.endpoints.web.exposure.include=hystrix.stream
即可。

阅读全文

控制docker-compose加载顺序

docker-compose启动服务的时候是没有加载顺序的,这就容易导致问题,比如有时候如果应用起来了,mysql还没起来,应用就会报错。由于docker-compose自身没提供解决方法,所以需要找其他方法达到顺序加载效果:

方法一:

docker-compose.yaml文件中的应用节点添加restart: always 表示如果服务启动不成功会一直尝试,虽然能够达到效果,但是不推荐使用。

阅读全文

ubuntu关于nofile的一个bug

发现了一个高版本ubuntu的一个bug,无法修改open file limit

第一次尝试

敲入ulimit -n 65535
ulimit -n并没有修改成功

阅读全文

git stash的另一种解决:git worktree

很多时候我们写着当前的代码,突然接到临时任务去修改另外一个分支的bug,我们通常会使用git stash命令保存当前的代码,但是这样需要保存好当前的改动,编译时的缓存也容易丢失,需要重新整个编译程序,git worktree命令可以很好解决这个问题。

使用

1
$ git worktree add ./fix-bug dev

阅读全文

阿里云关于c-ares引发的response时间太长bug

在使用阿里云HKB时,发现一个问题,TCP Handshake时间正常,但是response时间太长

阅读全文

SQL语句优化技巧

环境

数据库使用的是MySQL5.7,数据是官方提供的sample database:sakila,如有需要,可以自行导入尝试,关于优化效果可以使用explain关键字查看。

阅读全文