Magnum 入坑指南之二

Monday 19 March 2018 Magnum, Kubernetes

截止到这篇blog动笔时,当前的OpenStack master版本是Rocky,目前Magnum所支持的Kubernetes的扩展功能有: dashboard, DNS, proxy, 基于 Heapster的监控,基于Prometheus的监控,基于traefik的Ingress。此外还 支持两种network driver: flannel 和 calico。关于network driver部分,我后续会再专门写一篇 阐述。

在上一篇Magnum 入坑指南之一里已经介绍了Magnum的基本安装和使用, 其实说kubernetes是坑,以我做openstack多年的经验来说不算过分,kubernetes本身经过多年的发展,已经日趋稳定,但是围绕在它周边的众多 附加服务之间的各种组合,真的是让人头大。不同服务之间的不同版本也许完全不能工作,同一个服务的不同版本因为快速迭代可能并不兼容,凡此种种。 所以我现在写的这些也许过些日子回过头来看都很容易,但此时此刻,要想搭建一个production ready的k8s集群真的不是一般普通用户能轻松搞定的。 当然由此也体现出此类 managed k8s service 的价值所在。

书接上文,这篇主要说说 Magnum里面基于k8s所提供的其他几个周边服务。

k8s dashboard

Mangum 在部署 k8s 时默认会安装 k8s dashboard, 访问的方式也很简单,可以通过 k8s proxy 从本机的浏览器进行访问。首先,在本机运行

kubectl proxy


然后在本地的浏览器里输入:http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

Prometheus 监控

不同于其他几个服务,Prometheus在Magnum中是需要通过label enable的,默认并不开启。如果要开启,则需要在template 或者创建cluster的时候指定 lable ""prometheus_monitoring=true""。在我写这篇文章时,Magnum中的Prometheus存在一个Bug,原因是缺失RBAC相关信息,Patch在这里 https://review.openstack.org/553654 截止到目前 Magnum中的Prometheus 仍然采用NodePort的方式访问,默认端口是30900, 所以在我的测试 环境中可以直接通过 http://< node's floating IP >:30900/访问Prometheus的dashboard。这里值得注意的是,判断是否能正确拿到数据的标准就是 在界面上能否绘制某个指标的图形,而在此之前最好先检查 Status -> Targets里是否能看到数据。否则Targets里拿不到数据的话,是无法绘制图形的。