龙空技术网

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

开源那些事儿 40

前言:

现在各位老铁们对“nginxk8sdashboard”大致比较注意,同学们都需要了解一些“nginxk8sdashboard”的相关内容。那么小编同时在网络上搜集了一些对于“nginxk8sdashboard””的相关内容,希望我们能喜欢,各位老铁们一起来学习一下吧!

缘由

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

每次都要登录到阿里云的控制台如果期望使用最新的k8s控制台,而阿里云提供的k8s控制台又可能不是最新的版本

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

部署最新k8s控制台前置条件在阿里云部署了一套k8s集群在本地配置好了k8s config文件,并能访问集群安装好docker部署步骤获取镜像:因为官方提供的镜像是在gcr上,受限国内网络情况,直接获取官方对应的yaml做部署是不行。所以必须先获取一个镜像并推送到国内的镜像仓库中,可以放到阿里云你自己的镜像中。(阿里云的镜像仓库是免费的哦,同时支持vpc模式访问,流量都免费)

具体做法如下:

找一台国外的机器,先从grc获取最新image到本地给镜像打tagpush到阿里云的镜像仓库(目前dashboard最新版本为1.10.0)

#docker login --username=<your name> registry.cn-shenzhen.aliyuncs.com#docker pull k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0 #docker tag k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.0 registry.cn-shenzhen.aliyuncs.com/<namespace>/kubernetes-dashboard-amd64:v1.10.0#docker push registry.cn-shenzhen.aliyuncs.com/<namespace>/kubernetes-dashboard-amd64:v1.10.0
使用官网yaml部署dashboard
$kubectl apply -f 
修改对应的镜像为自己镜像
$kubectl edit deployment/kubernetes-dashboard -n kube-system

这样就部署成功了

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

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

可以看看该镜像的tag列表,很幸运,该列表很新:

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

访问dashboard启动proxy

$kubectl proxy
然后浏览器访问:

- dashboard:/proxy/

登录

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

$kubectx <cluster name>$kubectl describe secret -n kube-system $(kubectl get secrets --all-namespaces| grep admin-token | awk '{print $2}') | grep -E '^token' | cut -f2 -d':' | tr -d ' '

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

参考文档<<通过OAuth方式与docker hub v2 API交互>> dashboard github: 官网介绍:

标签: #nginxk8sdashboard