haproxy的0宕机reload配置
在高并发,大负载压力情况下,对于作为所有服务入口的haproxy,一个简单的reload或者restart都会造成一部分用户连接被中断,造成用户不好的体验。 在haproxy 1.8发布以前,各路大神各显神通,搞了多种所谓的“zero downtime reload”,但是这些方法都多少有些不良影响。...
View Articlejuniper srx 1500 HA及双线路自动切换配置
机房ISP提供了两条上联线路,分别接入ISP的两台核心交换机。 这两条线路是主备模式,同一时间只能有一条工作。 恰好等保要求,买了两台juniper srx 1500,为了节省设备,决定这两个墙既作为边界防火墙,又做路由器,将ISP分配的公网IP的网关放在本地墙上。 为实现上述功能,需要完成两个配置: 1. 两台SRX 1500配置HA 2. 配置rpm检测和路由切换...
View Articleetcd集群简要配置说明[收集整理而成]
三台主机: node01 10.1.1.1 node02 10.1.1.2 node03 10.1.1.3 etcd会监听2379和2380两个端口,2379用于用户访问,2380用于集群通信,交换选举等信息。 为了性能,我们将etcd的数据文件存储在独立分区/etcd_data上。 通常为了安全会使用证书进行通信加密,我们的这个集群会跑在内网,为了性能,不使用证书,如需要配置证书,请见参考文档1。...
View Articleconfd读书笔记
1.下载安装confd ]# wget https://github.com/kelseyhightower/confd/releases/download/v0.15.0/confd-0.15.0-linux-amd64 ]# mkdir -p /opt/confd/bin ]# mv confd-0.15.0-linux-amd64 /opt/confd/bin/confd ]# chmod...
View Articledocker-compse读书笔记
1. docker-compose是什么,应用场景是什么 compose是用于定义和运行多个container的工具,可以参考类比vagrant。 我们可以通过一个YAML文件定义和配置多个容器,然后通过docker-compose一条命令,将这些容器运行起来。 典型的compose用法如下: 1. 通过定义Dockerfile,配置我们的应用,例如:nginx,db,redis等等 2....
View Articlegitlab简要笔记
1.gitlab的安装 # wget https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.7.3-ce.0.el7.x86_64.rpm # yum localinstall gitlab-ce-10.7.3-ce.0.el7.x86_64.rpm /opt/gitlab 存放所有gitlab本身的代码和依赖库...
View Article使用jenkins打包ios
一个典型的ios开发workflow一般会类似如下方式: 决定要开发的功能 写需求文档,增加一个gitlab的 Issue Issue分配给开发者 开发者fork一个功能开发分支,多个开发者都向这个功能开发分支提交代码 功能开发完毕后,开发者提交一个pull request 当pull request创建以后,gitlab通过webhook通知Jenkins Jenkins...
View Articleansible的when条件不允许jinja2模版变量
今天写一个playbook的时候,使用when条件,ansible报了如下错误 [WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: {{ item.value.ip }} == {{ inventory_hostname}}...
View Articlegradle因为utf-8引起崩溃
最近将CI改为了使用docker构建,gradle突然出现报错 Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed) 一般来说出现这样的问题,大部分是内存不足问题,但此次肯定不是,可用内存大把。...
View ArticleLinux内核pid_max参数导致不能登录
公司的压力测试环境,为了节省资源,一台虚拟机上跑了好多个java应用,jmeter加压,突然出现问题。 现象是不能开启新的ssh登录,提示 ssh_exchange_identification: read: Connection reset by peer,也不能控制台登录,root密码正确也不能进入。如果已经登录进去的session,如果不退出,还能正常操作。...
View Article构建复合型DNS服务器
公司办公用的DNS服务器,要实现以下几个需求: 1. 公司内部的系统,包括wiki等系统,使用的是内部域名,互联网上不能解析; 2. 访问中国国内网站,使用114和阿里的DNS 3. 访问google等网站,DNS不能被污染...
View Article不用mac的iosCI构建机
ios的开发工作中,经常需要打包测试,之前是用一台mac mini打包,性能不强,打包速度比较慢。 于是研究了一下,发现ESXi是支持安装macOS的,装完以后的系统用来打包没有任何问题。 而且可以分配更多的vCPU和内存,经测试性能比mac mini提高了30%不止,下边简单分享一下安装步骤,是来源于网络的。 一、准备工作 1. 下载macos high serria...
View Articleios构建机配置指南-gitlab/CI
1.安装brew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2.安装git brew install git 3.配置ssh私钥,用于拉取代码 $ cat ~/.ssh/config Host repo1 git.foo.com...
View Articlesdkmanager报错Couldnotcreatesettings问题
给andorid的开发机重新打了一个image,原来的sdk-tools已经变成了cmdline-tools,容器起来以后发现sdkmanager报错如下: Warning: Could not create settings java.lang.IllegalArgumentException at...
View Article解决minikube启动找不到kicbase问题
[转载请注明来自polygun2000博客,http://blog.sina.com.cn/polygun2000] 最近想在自己家里的软路由上跑一个minikube,用来测试自己搞的k8s小东西,结果由于“你懂的”限制,在minikube启动的时候一直报错,无奈又没有安装好的梯子,只能想办法绕开。 minikube报的错误信息是: Unable to find image...
View Article