devops

UBER 技术栈

原文

The Uber Engineering Tech Stack, Part I: The Foundation

The Uber Engineering Tech Stack, Part II: The Edge and Beyond

摘要

这两篇文章是uber再2016年发布的关于他们的技术栈,gtt 记录一些要点。

基础设施使用的是混合云的模式,既有公有云也有自建的数据中心。公有云使用 Terraform 管理虚机。

数据库原来只有一个 Postgres,后来使用了 Schemaless (自研的基于MySQL),Cassandra。数据仓库使用 Hadoop。使用 Redis 做缓存,用 Twemproxy 做 … 查看详细

如何删除 gerrit 中的项目

gerrit2.X 中没法直接删除一个项目,之前需要手工删除,后来社区提供了一个插件delete project来搞定这个事,安装方法如下:

gerritforge,找到对应的 gerrit 版本号,gtt 使用的是 gerrit 2.12,所以就是 Plugins-stable-2.12 如下图:

点击plugin-delete-project-stable-2.12,并找到对应的jar下载地址:

并把 jar 放在在 gerrit 家目录的 plugins 目录下:

wget https://gerrit-ci.gerritforge.com/view/Plugins-stable-2.12/job/plugin-delete-project-stable-2.12/lastSuccessfulBuild/artifact/buck-out/gen/plugins/delete-project/delete-project.jar
查看详细

salt-syndic 使用方法

salt syndic 让 saltstack 支持分层次的架构,拓扑结构更加灵活。

关于 syndic 的使用场景,官方给的比较抽象,就说:

The Salt Syndic interface is a powerful tool which allows for the construction of Salt command topologies.

也就是架构将可以变成这样:

坦白地讲,syndic 的使用体验比较奇怪,在测试完 salt-syndic 之后,gtt 仍然想不到什么场景下会使用这个功能。

拓扑

都是 ubuntu14.04 操作系统,salt 版本 2015.5.3+ds-1trusty1

三个节点:dev193查看详细

Spinnaker – Netflix 的持续交付平台

背景

Spinnaker 是 Netflix 在2015年开源的一款持续交付平台,它继承了 Netflix 上一代集群和部署管理工具 Asgard:Web-based Cloud Management and Deployment的优点,同时根据公司业务以及技术的的发展抛弃了一些过时的设计:提高了持续交付系统的可复用性,提供了稳定可靠的API,提供了对基础设施和程序全局性的视图,配置、管理、运维都更简单,而且还完全兼容 Asgard,总之对于 Netflix 来说 Spinnaker 是更牛逼的持续交付平台。… 查看详细

解决 saltstack 持续消耗磁盘 IO 的问题

问题现象

Centos 6.4,salt 2015.5.10-2,minion 数量100个不到。但是会定时使用 test.ping 命令探测 minion 存活情况以及获取 minion 的运行状态,比如 CPU、内存、磁盘、IO 的使用情况。

在运行了几个月之后,发现 salt-master 节点的 ioutils 长期保持 100% 的状态,使用 strace 命令检查后发现 salt-master 进程不断访问 /var/cache/salt/master/jobs 目录下的文件,此目录是 salt 默认配置下存放 job cache 的目录。由于此目录在系统盘,导致操作系统整体卡顿。首先想到的解决办法是修改配置文件,将… 查看详细