📅 2017-06-05
本文内容已过期
之前写过一篇手动搭建etcd 3.1集群的文章《etcd 3.1 高可用集群搭建》,最近要初始化一套新的环境,考虑用ansible自动化部署整套环境,
先从部署etcd 3.2集群开始。
需要部署etcd的主机信息如下:
1node1 192.168.61.11
2node2 192.168.61.12
3node3 192.168.61.13
1.配置管理项目目录结构
#
1├── inventories
2│ ├── staging
3│ │ ├── group_vars
4│ │ │ ├── all.yml
5│ │ │ └── etcd-nodes.yml
6│ │ ├── host_vars
7│ │ │ ├── node1.yml
8│ │ │ ├── node2.yml
9│ │ │ └── node3.yml
10│ │ └── hosts
11│ └── production
12├── roles
13│ ├── common
14│ │ ├── defaults
15│ │ │ └── main.yml
16│ │ └── tasks
17│ │ └── main.yml
18│ ├── etcd3
19│ ├── defaults
20│ │ └── main.yml
21│ ├── files
22│ │ └── make-ca-cert.sh
23│ ├── meta
24│ │ └── main.yml
25│ ├── tasks
26│ │ ├── create_etcd_user.yml
27│ │ ├── etcd-restart.yml
28│ │ ├── etcd-start.yml
29│ │ ├── etcd-stop.yml
30│ │ ├── gen-etcd-certs.yml
31│ │ ├── gen-etcd-systemd.yml
32│ │ ├── install_etcd_bin.yml
33│ │ └── main.yml
34│ └── templates
35│ ├── etcd.conf.j2
36│ └── etcd.service.j2
37├── deploy-etcd3.yml
roles/etcd3/defaults/main.yml:
...📅 2017-06-04
大型网站系统主要的挑战是庞大的用户流量和高并发的访问,尤其是在一些大促场景下的会流量突增,如果不对这些流量加以管控,任由流量放大冲击系统,将会导致一系列恶劣的问题,例如一些可用的线程资源、连接资源被耗尽,分布式缓存容量被爆掉等,有可能会引起整个系统的雪崩。
当然普通网站系统在出现大量恶意流量和攻击时也会这些问题。
...📅 2017-06-04
Jenkisn官方提供两种支持方式的版本:
- LTS(Long-term-Support)版本:大约每12周更新一次
- Weekly Release:每周更新一次,每个版本会有一些enhancement和bug fix
我们使用的是Weekly版本,这里记录一下Jenkins版本的升级和插件更新。
最初我们是使用rpm安装的Jenkins,这种安装方式jenkins.war被默认安装到/usr/lib/jenkins下。
升级Jenkins的版本只要将这个目录的jenkins.war替换成新的版本,重启Jenkins服务即可。
...📅 2017-06-03
Prometheus的AlertManager是一个独立于Prometheus的外部组件,用于监控系统的告警,通过配置文件可以配置一些告警规则,Prometheus会把告警推送到AlertManager。
Alertmanager会对收到的告警信息进行处理,例如进行忽略,禁止,聚合并通过邮件等方式发送告警信息。
...📅 2017-06-02
PromQL是Prometheus提供的查询语言,用户可以使用PromQL对时序数据进行查询和聚合。
PromQL的查询结果可以用来在PromQL的浏览器中绘图、以表格展现数据,另外,PromQL的HTTP API也可以被外部系统使用。
Prometheus’s Expression Browser
#
Prometheus的-web.listen-address=
监听的就是PromQL浏览器的地址,例如: -web.listen-address=:9090
,就以http://serverip:9090/graph
访问PromQL浏览器。
...📅 2017-06-01
最近两周一直没有抽出时间写点Kubernetes的东西,这篇学习一下Kubernetes对Pod的调度。我们先来复习一下Kubernetes的一些基本概念。
Kubernetes的基本概念
#
Kubernetes是一个基于容器技术的分布式架构平台,它首先是一个开源的容器集群管理系统,又是一个分布式系统开发、运维和支撑平台。
Kubernetes为容器应用提供了服务注册和发现、负载均衡、服务部署和运行、服务滚动升级、在线扩容和缩容、资源调度、资源配额管理等功能。
可以说Kubernetes具备完备的集群管理能力,贯串分布式系统开发、测试、部署、运维监控各个环节。
...📅 2017-05-20
1.变量声明和赋值
#
1.1 变量声明
#
let和const是新增的变量声明关键字,
它们与var的区别是,声明变量没有预解析。
1// 变量声明
2{
3 let num1 = 10
4 const max_len = 99
5 // max_len = 100 // 错误,常量不能修改
6}
7// console.log(num1) // 错误,超出了作用域
1.2 解构赋值
#
ES6允许按照一定的模式,从数组和对象中提取值,这被成为解构(Destructuring)
...📅 2017-05-19
Vue.js是一个渐进式的JavaScript框架。怎么理解"渐进式":
- 声明式渲染
- 组件系统
- 客户端路由
- 集中式状态管理
- 项目构建
1.CSS基础
#
2.JavaScript基础
#
3.Vue基础
#
4.第三方组件库
#
5.其他资源
#
📅 2017-05-18
在Vue项目中使用less
#
Less是一个CSS预编译器,它扩展了CSS语言添加了变量(variables),混合(mixins),函数(functions)等特性。
下面演示在Vue项目中使用less.
使用vue-cli创建项目:
1vue init webpack-simple vue-less
2cd vue-less
3npm i
安装webpack支持的less编译包:
...📅 2017-05-16
Prometheus是一个开源的监控系统和时序数据库。
Prometheus使用Go语言开发,是Google BorgMon监控系统的类似实现。
Prometheus架构
#
Prometheus使用的是Pull模型,Prometheus Server通过HTTP的pull方式到各个目标拉取监控数据。
...