在安装k8s dashboard(使用cloud-native-sandbox示例)时,发现启动dashboard一直出现crashbackoff报错;

查询下来看发现应该是amd64的镜像在arm64的架构下起不来。

引用如下文章中的yaml文件下载arm64架构的镜像可以跑起来:

mac m1下安装kubenetes的dashboard - 腾讯云开发者社区-腾讯云

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml

并修改type为NodePort。

然后应用到k8s集群中:

kubectl apply -f recommand.yaml

看一下端口号是31598:

启动kubectl proxy暴露8001端口后,如下地址可以进入到dashboard的login页面:

kubectl proxy

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login

 

这里有一个坑(k8s 1.24之后版本才会有),相关链接如下:

https://itnext.io/big-change-in-k8s-1-24-about-serviceaccounts-and-their-secrets-4b909a4af4e0

在1.24版本之后,k8s需要自己生成token;

kubectl -n kubernetes-dashboard create token kubernetes-dashboard

然后会生成一个token用作登录:

这里还有个问题,可能kubernetes dashboard 授权/权限/角色绑定问题导致页面报错,如下链接所示:

 

kubernetes dashboard 授权/权限/角色绑定问题导致页面报错_rockstics的博客-CSDN博客

只需要在yaml文件里面修改一下ClusterRoleBinding里面的roleRef的name改成cluster-admin即可:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin    #这里改成cluser-admin
subjects:
  - kind: ServiceAccount
    name: kubernetes-dashboard
    namespace: kubernetes-dashboard

最终上述问题处理后,dashboard能够正常展示了:

 

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐