持续交付发布可靠软件的系统方法(部署流水线)第十章:应用程序的部署与发布
《持续交付发布可靠软件的系统方法》读书笔记 引言发布到生产环境和部署到测试环境的差异应该被封装在一组配置文件中,遵循一样的部署过程。启动自动部署系统,将要部署的软件版本与环境名称告诉它,点击开始,后缀部署与发布使用相同的流程。我们需要有一个列表,其中包含能够部署到每个环境的所有构建,并且只要通过点击就可以选择一个软件版本向某个环境进行自动部署。同时这种方式是对环境修改的唯一途径(包括对操作系统和第三方软件配置的修改)。 创建发布策略(文档) 每个环境的部署由发布由谁负责 创建一个资产和配置管理策略 部署时所用的技术的描述。运维团队与开发团队应对其达成共识 实现部署流水线的计划 枚举所有的环境,包括用于验收测试、容量测试、集成测试、用户验收测试的环境,以及每个构建在这些环境中的移动过程 描述在测试和生产环境中部署时应该遵循的流程,比如一个变更申请,及申请授权等 对应用程序的监控需求,包括用于通知运维团队关于应用程序相关状态的API和服务 讨论部署时和运行时的配置方法如何管理,以及它们与自动化部署流程是如何关联在一起的 描述应用程序如何与所有外部系统集成 如何记录日志详情,以便运维人...
系统僵尸进程管理
查看系统僵尸进程数top 查看僵尸进程详情ps -ef|grep defunct 停止僵尸进程kill -9 $Parent PID
系统性能测试与监测工具汇总
综合能力性能测试(Unixbench)1[root@localhost] $ ./Run 计算查看当前CPU负载(uptime)1[root@localhost] $ uptime 测试单cpu计算能力(bc)1[root@localhost] $ time echo "scale=5000;4*a(1)" | bc -l -q 内存查看当前内存使用的情况的状态(free)1[root@localhost] $ free -m 进程对内存的占用情况(pmap) 1[root@localhost] $ pmap -d 35713 # 查看进程35713占用内存的情况 磁盘磁盘IO测试(dd)测试磁盘的IO写速度 1# time dd if=/dev/zero of=test.dbf bs=8k count=300000 oflag=direct 测试磁盘的IO读速度 1# dd if=test.dbf bs=8k count=300000 of=/dev/null 表示每次写入/读取8k的数据,执行300000次 实时查看各磁盘的io(iostat)...
通过跳板机代理将本地文件传输到远端服务器
通过-J参数指定跳板机 123$ ssh -J user@<bastion:port> <user@remote:port>// scp$ scp -J user@<bastion:port> sourcefile <user@remote:port>: 在.ssh/config中配置 123456789101112### The Bastion HostHost jump HostName 10.2.3.2 Port 3022 User jump### The Remote HostHost remote HostName 172.32.2.7 Port 22 User root ProxyJump jump 使用普通参数就可以实现跳转 12$ ssh remote$ scp <sourcefile> remote:/data/
测试工具汇总
压力测试JmeterJmeter简单介绍与搭配Jenkins实现自动化测试实践使用JMeter进行负载测试——终极指南 LocustLocust学习总结分享性能测试工具LocustLocust 系列教程 LoadRunnerUsing LoadRunner with Jenkins 接口测试Robot FrameworkRobot Framework 在 Jenkins 上的自动化测试
项目的通用结构
项目的通用结构,可根据真实情况进行删减 12345678910111213141516171819202122232425- src #代码- data #需要保存的文件,如安装包、镜像等- docs # 说明文档- scripts #相关的脚本文件- hack - build - Dockerfile # 构建镜像 - Vagrantfile #Vagrant配置 - ansible/ # ansible构建部署脚本 - site.yml - hosts - roles/ - group_vars/ - host_vars/ - library/ - kubernetes/ # Openshift平台构建部署脚本 - docker-compose # Docker compose部署 - conf - docker-compose.yaml- Makefile # 不同环境构统一构建入口- Jenkinsfile # Jenkins构建流水线,可调用ansible脚本或Dockerfile脚本- REA...
《大数据时代—生活、工作与思维的大变革》读书笔记
信息时代的到来,大数据时代为我们探索事物提供了一个非常不同的思路,并且很明显它将会帮助我们发现更多无法想象的问题及解决方法。这不仅仅是将数据量化,更是思维的一次升级。 引言随着信息时代的发展,数据无处不在,并高速爆炸,同时大数据时代正改变我们的思维方式。大数据告诉我们“是什么”而不是“为什么”。人类一直以来探索这个世界都是建立在因果的基础上,看到事务的发生会去思考内在的原因,并从中发现规律,总结经验。也是在这种不断探索,穷追不舍的坚持下,人类发现了现在的很多理论,可以说人类的现文明是建立在不断追问“为什么”的基础上建立起来的。但是大数据时代改变了这一切。我们不必关心A事物与B事物的关系,但是无法数据显示A发生了某变化,B也会跟着发生变化,那我们就可以得到A变B变的结果,而无需去探索为什么,当我们需要B作某些改变时,我们只要改变A就好了。当发现某中水果对治疗癌症有效果的时候,我们又怎么会为了不清楚之间的关联,而拒绝食用该水果呢?我们不再关心为什么,我们关心的是它是什么。相反思考,恰是大数据发现是“是什么”,而让我们有了更准确的思考方向,去探究“为什么”。 第一部分:大数据时代...
Calico-BGP集群外部与集群网络打通
把这几个路由规则加入到路由器或者客户端机器上 123route add -net 10.233.55.64 netmask 255.255.255.192 gw 10.21.21.76route add -net 10.233.119.0 netmask 255.255.255.192 gw 10.21.21.74route add -net 10.233.183.64 netmask 255.255.255.192 gw 10.21.21.75 Win10客户端机器 12345678route add -p 10.233.97.128 mask 255.255.255.192 192.168.1.225route add -p 10.233.75.0 mask 255.255.255.192 192.168.1.226route add -p 10.233.100.128 mask 255.255.255.192 192.168.1.227route add -p 10.233.90.0 mask 255.255.255.192 192.168.1.228route ad...
CentOS上OpenLDAP-Server使用cn=config方式配置
翻译自How to Configure OpenLDAP server in Red Hat Enterprise Linux 7 using cn=config method ? 环境 CentOS 7 openldap-2.4 问题 使用slapd工具在CentOS上安装与配置OpenLDAP Server 使用olc方式如何配置OpenLDAP Server 操作 安装openldap包 1yum install -y openldap openldap-clients openldap-servers LDAP默认的配置目录是/etc/openldap/slapd.d 123456789101112[root@rhel7 ~]# cd /etc/openldap/slapd.d/[root@rhel7 slapd.d]# ls -ldrwxr-x---. 4 ldap ldap 4096 Aug 3 22:49 cn=config-rw-------. 1 ldap ldap 589 Aug 2 23:39 cn=co...
Ceph的搭建流程及openshift上使用ceph-rbd实现动态存储
Ceph分布式块存储部署机器列表 名称 核数 内存 ip hostname 外挂磁盘大小(G) 管理节点admin 2 4 192.168.1.2 admin.ceph.com 监控节点monitor 2 4 192.168.1.3 monitor.ceph.com 存储节点node1 2 4 192.168.1.4 node1.ceph.com 100G 存储节点node2 2 4 192.168.1.5 node2.ceph.com 100G 部署Ceph RBD 1、给每台机器设置hostname 12345# 设置hostname hostnamectl --static set-hostname admin.ceph.com #192.168.1.2 hostnamectl --static set-hostname monitor.ceph.com #192.168.1.3 hostnamectl --static set-hostname node1.ceph.com #192.168.1.4 hostnamectl --s...





