在对Kubernetes微服务实践过程中,接触最多的肯定莫过于Docker镜像,尤其是Java-SpringBoot项目通过Dockerfile编译成Docker的镜像。Kubernetes 微服务简单说就是一群镜像间的排列组合与相互间调的关系,故而如何编译镜像会使服务性能更优,更易使用成为了一个重中之重,非常值得琢磨的问题。这里我将我的团队对SpringBoot 项目打包Docker镜像如何写Dockerfile的探究进行简单叙述。
Kubernetes 部署 GlusterFS + Heketi 存储集群
Kubernetes 环境下很多应用是由很多个节点组成,各个应用程序分布在不同的节点上,因此如果一个应用将持久化数据存储到一个节点上,当应用重启后由于 Kubernetes 对无状态应用机制可能下次启动就会被分配到别的节点上,这样新启的应用读取的配置在新起来的节点上是不存在的,为了解决这个问题共享存储成为解决思路。现在比较流行的分布式存储有很多,而 GlusterFS 是一个可扩展,分布式文件存储系统,Heketi 是一个能管理 GlusterFS 集群的管理工具,这里将搭配此一套工具用于管理这种共享存储资源来解决存储方案。
使用 Prometheus Operator 监控 Kubernetes 集群(Prometheus Operator 已改名为 Kube-Prometheus)
利用 Prometheus 监控 Kubernetes 集群是现在非常流行的一种监控方式,但是维护 Prometheus 是一件非常费力费时的事情,好在现在出现Prometheus Operator 工具,它是 Prometheus 的在 Kubernetes 下的一种自定义的资源定义(CRD),声明式地定义了在 Kubernetes 集群中运行的所需的 Prometheus 设置。它提供了配置复制,持久化存储和部署 Prometheus 实例向其发送告警的 Alertmanagers,让我们维护起 Prometheus 变得简单。这里将简单介绍下如何安装 Prometheus Operator。
