gRPC Java:快速开始和项目原型
📅 2017-05-01
之前一直用Go来写gRPC的服务,简单而直接。 最近工作涉及用Java开发几个gRPC的服务,我们知道Java中有很多框架和Magical,所以这几个服务还是希望以Java的风格来写,因此打算写几篇文章对此做个整理。本篇做为开篇 ,先简单从快速开始一个项目原型开始写起。
...之前一直用Go来写gRPC的服务,简单而直接。 最近工作涉及用Java开发几个gRPC的服务,我们知道Java中有很多框架和Magical,所以这几个服务还是希望以Java的风格来写,因此打算写几篇文章对此做个整理。本篇做为开篇 ,先简单从快速开始一个项目原型开始写起。
...我们已经可以很方便的使用kubeadm快速初始化Kubernetes集群,但kubeadm当前还不能用于生产环境,同时kubeadm初始化的集群的Master节点不是高可用的,后端存储etcd也是单点。因此,本文将基于Kubernetes二进制包手动部署一个高可用的Kubernetes 1.6集群,将启用ApiServer的TLS双向认证和RBAC授权等安全机制。 通过这个手动部署的过程,我们还可以更加深入理解Kubernetes各组件的交互和运行原理。
...本文内容已过期
CentOS 7.3
1192.168.61.11 node1
2192.168.61.12 node2
3192.168.61.13 node3
这里部署的etcd集群使用TLS证书对证书通信进行加密,并开启基于CA根证书签名的双向数字证书认证。
下面介绍使用cfssl生成所需要的私钥和证书.
cfssl是使用Go语言开发的工具,如果系统中安装了Go,可以使用直接go get
安装cfssl:
本篇记录在日常对Kubernetes集群管理时的一些问题和解决方法。
k8s集群运行一段时间后,有时需要对Node节点进行维护,例如进行内核或已安装软件的升级。 在进行维护之前需要禁止新的Pod调度到该节点上,同时要将该节点上的Pod驱逐到其他的Node上(DaemonSet除外)。 使用如下的命令:
...通过前面对Ansible的学习,我们已经对Ansible的Playbook和Role有了初步的认识,接下来我们将在实践中慢慢把Ansible引入到我们的配置管理工作中来。 本篇是在我们的测试环境中使用Ansible安装Docker的记录。
我们创建了一个名称为docker
的Ansible role:
2018/06:经过一年多的发展Kubernetes的Ingress发生了很大的变化,这篇的很多地方都不适用了。因此决定结合我们目前的使用情况重新写几篇Kubernetes Ingress相关的分享,链接如下,内容是比较入门和初级的实操,请高手勿喷。
...
当一个配置管理的任务十分复杂时,playbook文件会十分庞大,这这种情况下将不利于扩展和复用。 这个时候可以使用ansible role将这个复杂的playbook模块化。Ansible role实际上是对playbook进行了逻辑上的划分,分成不同目录。 ansible已经规定好了目录的结构:
...playbook是Ansible进行配置管理的基本组件。
Ansible playbook的文件格式为yaml,具体yaml的语法可以参考这里。
下面我们编写一个使用yum安装nginx的playbook作为入门,nginx.yaml的内容如下:
...本文内容已过期
有关ansible安装可参考这里
1192.168.61.41 node1
2192.168.61.42 node2
3192.168.61.43 node3
node1将做为控制主机(ansiblecontrol),下面在node1上安装Ansible。
配置 EPEL源:
1yum install epel-release
安装ansible:
...Kuberntes中API Server的访问控制过程图示如下:
在Kubernetes中,授权(authorization)是在认证(authentication)之后的一个步骤。 授权就是决定一个用户(普通用户或ServiceAccount)是否有权请求Kubernetes API做某些事情。
...