在阿里云k8s服务中玩转最新版原生dashboard
摘要: 部署最新的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
本文为云栖社区原创内容,未经允许不得转载。