wangzan 2018-09-06
摘要: 部署最新的kubernetes dashboard
阿里云的k8s服务,已经在阿里云的控制台提供了托管式的原生kubernetes控制台,无需客户自己占用机器来启动该控制台应用,但是这里有些“局限”:
这个时候可以怎么办呢?自行部署k8s的原生控制台,通过kubectl proxy的方式去访问
具体做法如下:
#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
$kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
$kubectl edit deployment/kubernetes-dashboard -n kube-system
这样就部署成功了
如果没有办法从国外获取到镜像,可以查询下阿里云的公共镜像仓库是否已经有对应的镜像
地址在: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)
$kubectl 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了
作者:了哥-duff