- 博客(19)
- 收藏
- 关注
原创 规模化环境Terraform状态管理技巧
关于Terraform的话题,其实很早就想找时间专门写一篇单独聊一下。早在一年多以前,笔者有幸参与一个软件交付项目,接触到了Terraform这款基础设施即代码软件。即便是在当时已经从事了多年DevOps专业工作的情况下,仍然被这款软件所蕴含的工程思想所触动。在此前,笔者也曾主导过多个不同技术栈的软件项目从持续构建到持续部署的标准化方案落地。回顾之前从基础设施资源交付在到代码上线发布的流程管理,很少思考关于基础设施的状态管理,大量的配置变更依然处在“原始社会”,依赖于工程师的人肉执行以...
2021-06-14 13:40:33
1308
1
原创 Kubernetes的基本概念和术语
一、 Master组件Master组件提供集群的管理控制中心。Master组件可以在集群中任何节点上运行。但是为了简单起见,通常在一台VM/机器上启动所有Master组件,并且不会在此VM/机器上运行用户容器。1.1 kube-apiserverkube-apiserver用于暴露Kubernetes API。任何的资源请求/调用操作都是通过kube-apiserver提供的接口进...
2018-09-27 00:10:23
375
原创 Django+uWSGI+Nginx的生产环境部署
环境Django 1.11CentOS 7.2Python 2.7.11使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+Nginx下django项目生产环境的部署经测试,网上大部分教程在Django1.11的情况下,使
2017-09-12 10:38:36
2034
1
原创 TypeError: view must be a callable or a list/tuple in the case of include()
Django 1.10之后的版本中,不在使用导入式的写法。直接写类方法即可1.10以下版本:urlpatterns = [ url(r'^login/$', 'django.contrib.auth.views.login', name='login'), url(r'^logout/$', 'django.contrib.auth.views.logout
2017-08-07 13:39:48
410
原创 CSRF verification failed. Request aborted
环境:Django 1.11在Form中使用CSRF的过程当中,报了一个CSRF verification failed. Request aborted错误。搜索了下大部分的解决方案都是说在settings中设置csrf的配置,理论上这个配置是默认使用,故认为不是这个原因。http://blog.youkuaiyun.com/cq361106306/article/details/4
2017-08-06 23:54:53
666
原创 Showdoc修改目录结构、删除目录等操作方法
ShowDoc是什么?每当接手一个他人开发好的模块或者项目,看着那些没有写注释的代码,我们都无比抓狂。文档呢?!文档呢?!Show me the doc !!程序员都很希望别人能写技术文档,而自己却很不希望要写文档。因为写文档需要花大量的时间去处理格式排版,想着新建的word文档放在哪个目录等各种非技术细节。word文档零零散散地放在团队不同人那里,需要文档的人基本靠吼,吼一声然后上q
2017-05-04 14:17:31
9100
原创 CentOS下Docker存储路径修改
测试了下百度中大多数关于Docker修改存储路径的文档,由于是通过yum源安装的,发现在更改配置之后,存放的路径并没有被修改成功,需要通过修改系统服务的docker启动文件使其生效。CentOS7的Docker默认存储路径修改:vim /usr/lib/systemd/system/docker.service [Unit]Description=Docker Applicat
2017-04-11 16:01:53
6860
2
原创 Jenkins java进程监控
在Jenkins的进程运行时,对JVM系统的检测、管理是管理人员所期望的。JDK本身自带了故障检测工具Jconsole,我们可以利用该工具对Jenkins节点的状态进行监控。JDK的API中翻译过来对javax.management的描述 提供 Java Management Extensions 的核心类。Java Management Extensions (JMXTM) A
2017-04-11 09:35:36
2958
原创 Jenkins Windows slave节点部署
环境:Windows 2012 (其实2008以上的机器,感觉对windows的版本要求不一定强制要求)确保有JAVA 7的运行环境,否则无法启动Jenkins配置步骤:1. 进入Jenkins Master节点,选择“系统管理”-- > "管理节点",跳转之后左上角选择"新建节点"2. 输入节点名称(自定义) 若要负责某个节点的信息,可直接选择“复制现有节点",单击O
2017-04-06 10:11:49
7851
原创 etcd服务器集群搭建
ETCD作为共享配置和服务发现的分布式,一致性的KV存储系统,被广泛应用于许多的分布式项目。许多文章对于etcd的应用场景有过及功能特性有过详细介绍。这里不多作展开。本文仅从配置上介绍etcd集群的搭建和具体的使用场景实例。背景:在开发过程中,开发人员经常会把数据库、开发环境的配置信息或是密码等写在配置文件中或者是在持续集成/部署的阶段调用账号密码等进行操作。这样既不合理,又不安全。因此需
2017-04-05 15:36:41
2867
1
原创 my.cnf配置文件优化
[client]port = 3306socket = /tmp/mysql.sock #socket位置修改为数据目录位置[mysqld]port = 3306socket = /tmp/mysql.sockbasedir = /usr/local/mysqldatadir = /data/mysqlback_log = 300# MySQL能有的连接
2017-03-19 13:24:04
479
原创 mysql5.6单机安装部署
环境:Centos7mysql5.6一、安装部署mysql1.安装mysql5.6可采用yum源安装方式wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm2. rpm安装mysql-community-release-el7-5.noarch.rpm后得到mysql-commun
2017-03-16 13:11:49
1409
原创 内网环境构建pypi仓库
需求:Python提供了大量的三方库组件,在公网环境下,用户可以通过pip install 的安装方式进行包的下载及安装。在整个持续集成阶段,为了保证环境的一致性,首先我们需要在客户端上安装上相关的依赖库组件,每次通过公网传输,容易受到公网网络环境的影响导致持续部署的整个阶段过程环境。为了提高持续部署的稳定性,并降低公网带宽利用率。决定采用在内网环境搭建pypi仓库。方法:GitHub
2017-03-08 13:16:05
3960
原创 Jenkins构建记录清理
Jenkins在自动化构建Job的过程当中,会消耗服务器的大量磁盘空间,并随着构建的项目个数增多,最终将会导致磁盘空间不足无法构建的结果。为了使Jenkins服务器能够正常工作,我们希望能够每次在配置作业时从根本上解决这一问题。Jenkins的CI 作业的配置 进入到Jobs的作业,在“General”配置项中选择“丢弃旧的构建”。其中的参数选项可根据Jenkins的实际生产环境
2017-03-03 10:09:43
5586
1
原创 数据库版本控制插件Flyway Q&A
1.flyway是否支持版本回滚由于在版本管理时,没有额外的备份动作。因此当生产环境的数据发生变更后,无法回滚到上一个版本的数据库表结构及相关数据。 2.在使用flyway发布过程当中,当发现某一条业务数据有问题,进行手工修改,是否会影响到下一个数据库版本变更?不会。flyway会在所选择连接的库中创建一张'schema_version'的表。表中会存放每次执行过的.sql文件的执
2017-02-27 09:18:22
1925
原创 数据库版本控制Flyway+Maven的具体实现
1. 引言想到要管理数据库的版本,是在实际产品中遇到问题后想到的一种解决方案,当时各个环境的数据库乱作一团,没有任何一个人(开发、测试、维护人员)能够讲清楚当前环境下的数据库是哪个版本,与哪个版本的应用相匹配,如何升级到与新版本的应用相匹配。想到管理数据库版本时,先是心底形成了一个初步的解决方案,大致是通过数据库中的某张表来记录数据库表结构的历次更新与对应版本,在每次数据库表结构调整
2017-02-16 14:27:27
6669
原创 Centos7中Aapche LDAP认证
最近一直在配置Aapche的ldap认证模块,由于之前没有接触过遇到了不少坑。特总结下。服务器:CentOS7.2Apache版本:2.4首先遇到的第一个问题就是Apache的LDAP模块,百度了很久,都说直接yum安装mod_authnz_ldap模块即可(几乎是没有压力的安装模式),我硬是在这个问题上被坑了3天。这个模块国内一直都没有找到yum源,特地到国外的rpm
2017-02-14 14:08:44
2193
原创 Jenkins2 不显示测试报告解决办法(重启后依然生效)
系统版本:Centos7.2Jenkins版本:2.3注:本文参考官方文档 https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy搜索了下目前关于firefox和chrome不显示测试报告的解决方案,大部分都通过“脚本命令行”实现。这种方式的好处是即时生效,无需进行重
2017-02-09 15:31:16
3571
原创 gitlab连接并批量修改数据库账号邮箱地址
最近,由于公司的域名发生变化,导致需要批量修改gitlab的账号。这个工作对于运维人员来说,工作量还是相对较大的。因此,尝试通过脚本修改数据库的方式进行批量修改。整个过程大致分为几个阶段:1)搞清楚gitlab的数据库结构2)使用Python对相关的字段进行修改,若发现以@xxx结尾的域名,自动替换为@aaa的域名注:本文中所采用的gitlab安装方式为官方默认的y
2017-01-31 00:04:07
3144
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人