在阿里云k8s服务中玩转最新版原生dashboard

字数 752阅读 2724

摘要: 部署最新的kubernetes dashboard


缘由

阿里云的k8s服务,已经在阿里云的控制台提供了托管式的原生kubernetes控制台,无需客户自己占用机器来启动该控制台应用,但是这里有些“局限”:

• 每次都要登录到阿里云的控制台

• 如果期望使用最新的k8s控制台,而阿里云提供的k8s控制台又可能不是最新的版本

这个时候可以怎么办呢?自行部署k8s的原生控制台,通过kubectl proxy的方式去访问

部署最新k8s控制台

前置条件

• 在阿里云部署了一套k8s集群

• 在本地配置好了k8s config文件,并能访问集群

• 安装好docker

部署步骤

• 获取镜像:因为官方提供的镜像是在gcr上,受限国内网络情况,直接获取官方对应的yaml做部署是不行。所以必须先获取一个镜像并推送到国内的镜像仓库中,可以放到阿里云你自己的镜像中。(阿里云的镜像仓库是免费的哦,同时支持vpc模式访问,流量都免费)

具体做法如下:

• 找一台国外的机器,先从grc获取最新image到本地

• 给镜像打tag

• push到阿里云的镜像仓库(目前dashboard最新版本为1.10.0)

• 使用官网yaml部署dashboard

• 修改对应的镜像为自己镜像

这样就部署成功了

如果没有办法从国外获取到镜像,可以查询下阿里云的公共镜像仓库是否已经有对应的镜像

地址在:registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64

可以参考我之前的文章<<通过OAuth方式与docker hub v2 API交互>>来获取该镜像的tag列表,很幸运,该列表很新:

原因是阿里云容器团队会定期同步gcr中的google_containers下的image,这个同步工具也已经开源了: https://github.com/AliyunContainerService/sync-repo (求star)

• 访问dashboard

启动proxy

• 然后浏览器访问:

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

• 登录

使用以下方式获得一个admin token来登录(支持多集群下config,官网的方式只支持一个集群的config,通过kubctx切换集群)

这样你就可以玩最新的k8s的原生dashboard了

参考文档

• <<通过OAuth方式与docker hub v2 API交互>> https://yq.aliyun.com/articles/635236?spm=a2c4e.11155435.0.0.55be3312bxSM1

• k8s dashboard github: https://github.com/kubernetes/dashboard

• dashboard官网介绍:https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/ 


本文作者:了哥-duff

阅读原文

本文为云栖社区原创内容,未经允许不得转载。

推荐阅读更多精彩内容