微服务之服务治理
服务治理用来实现各个微服务实例的注册与发现,是微服务架构中最关键的基础设施。 大多数服务治理框架主要都是实现服务实例的自动化注册和发现。一个服务治理框架一般由以下两部分组成:服务注册和服务发现。 服务注册 服务注册是指服务在其网络上声明自己上线的过程,一般是在某种服务或数据库中写入数据,这个服务或数据库一般被称作服务注册中心。
服务治理用来实现各个微服务实例的注册与发现,是微服务架构中最关键的基础设施。 大多数服务治理框架主要都是实现服务实例的自动化注册和发现。一个服务治理框架一般由以下两部分组成:服务注册和服务发现。 服务注册 服务注册是指服务在其网络上声明自己上线的过程,一般是在某种服务或数据库中写入数据,这个服务或数据库一般被称作服务注册中心。
接下来我们需要把gRPC和Spring boot整合在一起,这里主要记录我们的整合方式。 项目目录结构 项目的目录结构如下: foo-svc ├── foo-svc-proto │ ├── build.gradle │ └── src │ └── main │ └── proto │ ├── xx1_service.proto │ └── xx2_service.proto ├── foo-svc-server │ ├── build.gradle │ └── src │ └── main │ ├── java │ └── resources │ └── application.yml ├── build.gradle ├── gradle.properties └── settings.gradle 一个gRPC服务的项目由两个子项目组成:
博客系统由Jekyll 1.3升级到3.4,跨度满大的。 同时更换了博客的主题,fork自码志http://mazhuang.org/, 在这个主题上简单改了一下,在此感谢一下。 代码语法高亮切换到了rouge,支持的语言列表可以在这里查看。 在使用jekyll serve -w生成站点时的速度比较慢,可以使用jekyll serve -w --profile跟踪一下各个文件的生成速度。
之前一直用Go来写gRPC的服务,简单而直接。 最近工作涉及用Java开发几个gRPC的服务,我们知道Java中有很多框架和Magical,所以这几个服务还是希望以Java的风格来写,因此打算写几篇文章对此做个整理。本篇做为开篇 ,先简单从快速开始一个项目原型开始写起。
我们已经可以很方便的使用kubeadm快速初始化Kubernetes集群,但kubeadm当前还不能用于生产环境,同时kubeadm初始化的集群的Master节点不是高可用的,后端存储etcd也是单点。因此,本文将基于Kubernetes二进制包手动部署一个高可用的Kubernetes 1.6集群,将启用ApiServer的TLS双向认证和RBAC授权等安全机制。 通过这个手动部署的过程,我们还可以更加深入理解Kubernetes各组件的交互和运行原理。
本文内容已过期 环境信息 CentOS 7.3 192.168.61.11 node1 192.168.61.12 node2 192.168.61.13 node3 TLS密钥和证书 这里部署的etcd集群使用TLS证书对证书通信进行加密,并开启基于CA根证书签名的双向数字证书认证。 下面介绍使用cfssl生成所需要的私钥和证书. 安装cfssl cfssl是使用Go语言开发的工具,如果系统中安装了Go,可以使用直接go get安装cfssl:
本篇记录在日常对Kubernetes集群管理时的一些问题和解决方法。 维护Node k8s集群运行一段时间后,有时需要对Node节点进行维护,例如进行内核或已安装软件的升级。 在进行维护之前需要禁止新的Pod调度到该节点上,同时要将该节点上的Pod驱逐到其他的Node上(DaemonSet除外)。 使用如下的命令:
通过前面对Ansible的学习,我们已经对Ansible的Playbook和Role有了初步的认识,接下来我们将在实践中慢慢把Ansible引入到我们的配置管理工作中来。 本篇是在我们的测试环境中使用Ansible安装Docker的记录。 目录结构 我们创建了一个名称为docker的Ansible role:
2018/06:经过一年多的发展Kubernetes的Ingress发生了很大的变化,这篇的很多地方都不适用了。因此决定结合我们目前的使用情况重新写几篇Kubernetes Ingress相关的分享,链接如下,内容是比较入门和初级的实操,请高手勿喷。
ansible role 当一个配置管理的任务十分复杂时,playbook文件会十分庞大,这这种情况下将不利于扩展和复用。 这个时候可以使用ansible role将这个复杂的playbook模块化。Ansible role实际上是对playbook进行了逻辑上的划分,分成不同目录。 ansible已经规定好了目录的结构: