配置Harbor启用LDAP认证
📅 2017-06-25
现在我们的Harbor使用前置的nginx接入,并在前置nginx上启用了SSL,Harbor的MySQL使用的是我们环境中高可用的MySQL GR集群。 为了我们的团队环境整合到一起,我们还需要为Harbor启用LDAP认证。
Harbor对LDAP支持的很好,只需要修改harbor.cfg:
...现在我们的Harbor使用前置的nginx接入,并在前置nginx上启用了SSL,Harbor的MySQL使用的是我们环境中高可用的MySQL GR集群。 为了我们的团队环境整合到一起,我们还需要为Harbor启用LDAP认证。
Harbor对LDAP支持的很好,只需要修改harbor.cfg:
...我们已经快速安装和启动了Harbor,接下来我们进一步探索一些定制化的配置:
这里还是使用cfssl这个工具生成SSL证书和秘钥。
...我们一直使用Docker官方的Registry v2搭建我们的私有Docker镜像仓库。 最近我们打算使用Harbor这个VMware China开源的企业级镜像仓库,实际上Harbor以Docker官方的Registry为基础,在其上增加了管理UI、访问控制等企业用户需要的功能。
...本篇整理一下OpenLDAP 2.4的配置。 OpenLDAP 2.4有两种配置方式:
slapd.conf
进行配置,这是旧版本的配置方式这里我们学习cn=config的方式。cn=config实际上是将slapd.conf中的内容转换成ldif格式,并组成以cn=config
为根的目录树,这棵树会有很多节点,如下图所示:
我们已经用ansible在新的环境中部署了etcd和docker,接下来使用ansible部署Kubernetes 1.6集群。 由于对ansible的使用已经没有什么问题了,因此本篇记录的侧重点是白话描述一下部署的具体步骤,以及部署过程踩的一些坑。 因为前段日子写过一篇《Kubernetes 1.6 高可用集群部署》,本次在编写ansible部署Kubernetes的roles时主要是一这篇文章里手动部署的过程为参考。
...本文内容已过期
之前写过一篇手动搭建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├── 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:
...大型网站系统主要的挑战是庞大的用户流量和高并发的访问,尤其是在一些大促场景下的会流量突增,如果不对这些流量加以管控,任由流量放大冲击系统,将会导致一系列恶劣的问题,例如一些可用的线程资源、连接资源被耗尽,分布式缓存容量被爆掉等,有可能会引起整个系统的雪崩。 当然普通网站系统在出现大量恶意流量和攻击时也会这些问题。
...Jenkisn官方提供两种支持方式的版本:
我们使用的是Weekly版本,这里记录一下Jenkins版本的升级和插件更新。 最初我们是使用rpm安装的Jenkins,这种安装方式jenkins.war被默认安装到/usr/lib/jenkins下。 升级Jenkins的版本只要将这个目录的jenkins.war替换成新的版本,重启Jenkins服务即可。
...Prometheus的AlertManager是一个独立于Prometheus的外部组件,用于监控系统的告警,通过配置文件可以配置一些告警规则,Prometheus会把告警推送到AlertManager。 Alertmanager会对收到的告警信息进行处理,例如进行忽略,禁止,聚合并通过邮件等方式发送告警信息。
...PromQL是Prometheus提供的查询语言,用户可以使用PromQL对时序数据进行查询和聚合。 PromQL的查询结果可以用来在PromQL的浏览器中绘图、以表格展现数据,另外,PromQL的HTTP API也可以被外部系统使用。
Prometheus的-web.listen-address=
监听的就是PromQL浏览器的地址,例如: -web.listen-address=:9090
,就以http://serverip:9090/graph
访问PromQL浏览器。