Nginx性能优化配置参考
系统优化
系统内核优化参考123456789101112131415161718192021222324$ cat /etc/sysctl.confnet.ipv4.tcp_max_syn_backlog = 65536net.core.netdev_max_backlog = 36768net.core.somaxconn = 36768 net.core.wmem_default = 8588608net.core.rmem_default = 8588608net.core.rmem_max = 16877216net.core.wmem_max = 16877216 net.ipv4.tcp_synack_retries = 2net.ipv4.tcp_syn_retries = 2 net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_mem = 94500000 915000000 927000000net.ipv4.tcp_max_orphans = 3376800net.ipv4.ip_lo ...
Openshift上使用Nginx-Pod作灰度发布
参考文章:使用 Nginx 实现灰度发布
什么是灰度发布
【百度百科】灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。 在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。
除了AB test灰度发布另一种思想是,只发布给一小部分用户,如:App在发布之前,针对性的给一小批用户测试下新版本,用小流量发布的方式来检验新版会不会有问题。
灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。
Openshift上实现蓝绿部署
在openshift上的部署两个版本的Service:service01, service02。在创建Route的时候,可以非常简单地指定同一个Route流量访问两个service的百分比service01(25%流量), service02(75%流量)。所有请求该Route的流量会被按指定的比例访问后service。
对应的Route yaml配置文件如下:
12 ...
SOPS对配置文件数据进行加密
SOPS 是由Mozilla 开发的一款开源的文本编辑工具,它支持对YAML, JSON, ENV, INI 和BINARY 文本格式的文件进行编辑,并利用AWS KMS, GCP KMS, Azure Key Vault 或PGP 等加密方式对编辑的文件进行加密和解密。在当前它还可以与heml secret作用,为Kubernetes的secret资源数据进行加密。本篇主要介绍sops的基本用法,而helm secret的使用不做介绍。
##GPG进行加密
生成GPG文件1$ gpg --generate-key # 根据引导生成gpg加密文件
或者自动生成123456789101112131415gpg --batch --generate-key <<EOF%echo Generating a basic OpenPGP key for HELM SecretKey-Type: RSAKey-Length: 4096Subkey-Type: RSASubkey-Length: 4096Name-Real: MichaelName-Comment: Personal ...
Scrum敏捷开发
团队成员
一般情况人数在5~9个左右
团队要跨职能(包含开发人员、测试人员、用户介面设计师等)
团队成员构成在Sprint内不允许变化。
用户故事建模为开发任务需求编写用户故事
重要性
用户故事
测试方法
预估时间
30
做为一个会员,可以查看自己的购物清单,以便一起购买
登录,点击购买清单Tab
16h
Sprint计划会议(两周一次,4个小时)
设定本Sprint目标及优先级
挑选本Sprint所要开发的需求(Story)
逐一将Story细分成Task
确定每日站会时间和地点
确定演示会议和回顾会议日期计划会议输出:
Story
Task
Hour
A
1. 编写自动化验收测试2. 设计用户界面3. 编写用户界面程序代码 4. 编写数据库代码5. 编写单元测试 6. 人工测试
3h5h8h8h8h8h
B
1. 编写自动化验收测试2. 设计用户界面3. 编写用户界面程序代码 4. 编写数据库代码5. 编写单元测试 6. 人工测试
3h5h8h8h8h8h
第日立会为早上9:00至9:15
Demo演示时间为:2018-07-10 上 ...
SonarQube应用离线安装插件
SonarQube的插件地址为:https://binaries.sonarsource.com/Distribution/将下载的插件文件存放在SonarQube应用的/opt/sonarqube/extensions/plugins目录下。
参考文章Sonar 离线安装插件
Vagrant常用操作
查看安装的插件列表1$ vagrant plugin list
安装vagrant插件1$ vagrant plugin install vagrant-disksize vagrant-ignition vagrant-vbguest
查看box列表1$ vagrant box list
添加一个新的box1$ vagrant box add centos-76 centos-76.box
将一个虚拟机导出为box1$ vagrant package --output centos-7.6.box
删除一个box1$ vagrant box remove centos-76
WSL2-+-microK8s-+-K8s
Windowns 10 (WSL2) + Ubuntu 20.04
enable systemd snapd microk8s
启动systemd,并使用snap安装
123$ sudo apt install daemonize$ sudo daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target$ sudo nsenter -t $(pidof systemd) -a su - $LOGNAME
安装microk8s
12$ snap info microk8s$ sudo snap install microk8s --classic
使用microk8s
123$ microk8s status$ sudo usermod -a -G microk8s mpan$ sudo chown -f -R mpan ~/.kube
添加节点
1$ microk8s add-node
注意 每次使用microk8s时,需要先进入 ...
gogs创建用户
/opt/gogs/gogs admin create-user –name=root –password=123456 –admin=true --email=abc@123.com –config=/etc/gogs/conf/app.ini
123oc project cicd &&gogspodname=$(oc get pod | grep gogs | grep -v postgresql| awk '{print $1}')oc rsh $gogspodname /opt/gogs/gogs admin create-user --name=root --password=123456 --admin=true --email=abc@123.com --config=/etc/gogs/conf/a ...
ansible通过跳板机管理另一个网络下的主机集群
原文地址:http://wooooe.com/2018/07/31/remote_forwarding/
ssh端口映射例子
因为公司的网络比较深所以经常需要跳转多次。所以这次做个记录
需求: 需要从your host跳到client中间隔了两层跳板机。
如果单纯用代理方法只能跳一层
所以如果用端口映射+代理方式就可以跳两层了
映射命令
1ssh -g -f -NL 127.0.0.1:44010:172.16.3.14:22 -p 3391 jump_host1_username@222.222.222.222
意思就是将172.16.3.14的22端口映射到127.0.0.1的44010端口,222.222.222.222是中间的代理机,3391是222.222.222.222的ssh端口。
映射完成之后。执行
1ssh -p 44010 jump_host2_username@127.0.0.1
就可以直接跳转到jump_host2上
ssh走代理方法
第一种:
1ssh -o ProxyCommand="ssh -W %h:%p -p 3391 - ...
《凤凰项目—一个IT运维的传奇故事》整理
###《凤凰项目》三位作者
Gene Kim: Tripwire有限公司创始人,一直热衷于研究如何提高IT组织的效率
Kevin Behr:创建了信息技术流程研究院
George Spafford:行业分析师
向他们致敬。
故事内容雨前龙井整理的非常详细,可阅读它写的博客 凤凰项目 http://ijyun.github.io/2016/04/23/phoenix-project.html
书中的核心概念
三步工作法
本书中阐述了一个原理:所有开发运维模式都来自“三步工作法”,可以说它是我们平台开发运维的指导思想。
第一工作法是关于从开发到技术运营,再到客户的整个自左向右的工作流。为了使流量最大化,我们需要小的批量规模和工作间隔,绝不让缺陷流向下游工作中心,并且不断为了整体目标(相对于开发功能完成率、测试发现/修复比例或运维有效性等局部目标)进行优化。流程自动化
实践:持续构建、持续集成、持续部署,按需创建环境、限制半成品,构建起能够顺利变更的安全系统和组织。
第二工作法是关于价值流各阶段自右向左的快速持续反馈流,放大其效益以确保防止问题再次发生,或者更快地发现和 ...

