📅 2017-05-07
环境
#
- CentOS 7.3 192.168.61.100
禁用selinux
1setenforce 0
2
3vi /etc/selinux/config
4SELINUX=disabled
安装和配置
#
安装并启动服务
#
安装:
1yum install openldap openldap-servers openldap-clients
拷贝数据库配置文件:
1cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
2chown ldap:ldap /var/lib/ldap/DB_CONFIG
DB_CONIFG
中主要是关于Berkeley DB的相关的一些配置
启动OpenLDAP Server:
...📅 2017-05-07
今天开始折腾使用Let’s Encrypt为网站签署HTTPS证书,记录过程如下。
我们的网站是使用CentOS 7上的Nginx接入的。
https://certbot.eff.org/#centosrhel7-nginx这个链接是关于CentOS 7上Nginx的配置说明。
安装certbot
#
Enable EPEL Repository:
1wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
2rpm -ivh epel-release-latest-7.noarch.rpm
生成HTTPS证书
#
手动生成证书:
...📅 2017-05-03
服务治理用来实现各个微服务实例的注册与发现,是微服务架构中最关键的基础设施。
大多数服务治理框架主要都是实现服务实例的自动化注册和发现。一个服务治理框架一般由以下两部分组成:服务注册和服务发现。
服务注册
#
服务注册是指服务在其网络上声明自己上线的过程,一般是在某种服务或数据库中写入数据,这个服务或数据库一般被称作服务注册中心
。
...📅 2017-05-02
接下来我们需要把gRPC和Spring boot整合在一起,这里主要记录我们的整合方式。
项目目录结构
#
项目的目录结构如下:
1foo-svc
2├── foo-svc-proto
3│ ├── build.gradle
4│ └── src
5│ └── main
6│ └── proto
7│ ├── xx1_service.proto
8│ └── xx2_service.proto
9├── foo-svc-server
10│ ├── build.gradle
11│ └── src
12│ └── main
13│ ├── java
14│ └── resources
15│ └── application.yml
16├── build.gradle
17├── gradle.properties
18└── settings.gradle
一个gRPC服务的项目由两个子项目组成:
...📅 2017-05-02
博客系统由Jekyll 1.3升级到3.4,跨度满大的。
同时更换了博客的主题,fork自码志http://mazhuang.org/,
在这个主题上简单改了一下,在此感谢一下。
代码语法高亮切换到了rouge,支持的语言列表可以在这里查看。
在使用jekyll serve -w
生成站点时的速度比较慢,可以使用jekyll serve -w --profile
跟踪一下各个文件的生成速度。
...📅 2017-05-01
之前一直用Go来写gRPC的服务,简单而直接。
最近工作涉及用Java开发几个gRPC的服务,我们知道Java中有很多框架和Magical,所以这几个服务还是希望以Java的风格来写,因此打算写几篇文章对此做个整理。本篇做为开篇 ,先简单从快速开始一个项目原型开始写起。
...📅 2017-04-25
我们已经可以很方便的使用kubeadm快速初始化Kubernetes集群,但kubeadm当前还不能用于生产环境,同时kubeadm初始化的集群的Master节点不是高可用的,后端存储etcd也是单点。因此,本文将基于Kubernetes二进制包手动部署一个高可用的Kubernetes 1.6集群,将启用ApiServer的TLS双向认证和RBAC授权等安全机制。
通过这个手动部署的过程,我们还可以更加深入理解Kubernetes各组件的交互和运行原理。
...📅 2017-04-24
本文内容已过期
环境信息
#
CentOS 7.3
1192.168.61.11 node1
2192.168.61.12 node2
3192.168.61.13 node3
TLS密钥和证书
#
这里部署的etcd集群使用TLS证书对证书通信进行加密,并开启基于CA根证书签名的双向数字证书认证。
下面介绍使用cfssl生成所需要的私钥和证书.
安装cfssl
#
cfssl是使用Go语言开发的工具,如果系统中安装了Go,可以使用直接go get
安装cfssl:
...📅 2017-04-23
本篇记录在日常对Kubernetes集群管理时的一些问题和解决方法。
维护Node
#
k8s集群运行一段时间后,有时需要对Node节点进行维护,例如进行内核或已安装软件的升级。
在进行维护之前需要禁止新的Pod调度到该节点上,同时要将该节点上的Pod驱逐到其他的Node上(DaemonSet除外)。
使用如下的命令:
...📅 2017-04-22
通过前面对Ansible的学习,我们已经对Ansible的Playbook和Role有了初步的认识,接下来我们将在实践中慢慢把Ansible引入到我们的配置管理工作中来。
本篇是在我们的测试环境中使用Ansible安装Docker的记录。
目录结构
#
我们创建了一个名称为docker
的Ansible role:
...