查看版本命令:kubectl version #输出服务端和客户端的版本信息

或者docker images | grep kube

Releases · kubernetes/dashboard · GitHub 具体去这里查看对应的版本

# cd /opt

下载文件,注意版本号

# wget –tries=40 https://raw.githubusercontent.com/kubernetes/dashboard/v2.5.1/aio/deploy/recommended.yaml

将文件名recommended.yaml变更为kubernetes-dashboard-2.5.1.yaml

创建pod

# kubectl apply -f kubernetes-dashboard-2.5.1.yaml

查看创建成功,查看所有po

# kubectl get po --all-namespaces

查看现有的所有服务

# kubectl get svc --all-namespaces

删除现有的dashboard服务

# kubectl delete service kubernetes-dashboard --namespace=kubernetes-dashboard

# kubectl delete service dashboard-metrics-scraper --namespace=kubernetes-dashboard

删除现有的dashboard pod

# kubectl delete deployment kubernetes-dashboard --namespace=kubernetes-dashboard

# kubectl delete deployment dashboard-metrics-scraper --namespace=kubernetes-dashboard

因为Service是ClusterIP类型,为了方便使用,我们可通过kubectl --namespace=kubernetes-dashboard edit service kubernetes-dashboard修改成NodePort类型,如图所示。

kubernetes-dashboard一直ContainerCreating的解决方法

保存修改,此时已经为Service分配了端口32200,如图所示。

kubectl --namespace=kubernetes-dashboard get service kubernetes-dashboard

kubectl delete secret kubernetes-dashboard-certs -n kube-system

Kubernetes创建Dashboard超级管理员账户

vi admin-sa.yaml

kind: ClusterRoleBinding

apiVersion: rbac.authorization.k8s.io/v1

metadata:

  name: admin

  annotations:

    rbac.authorization.kubernetes.io/autoupdate: "true"

roleRef:

  kind: ClusterRole

  name: cluster-admin

  apiGroup: rbac.authorization.k8s.io

subjects:

- kind: ServiceAccount

  name: admin

  namespace: kube-system

---

apiVersion: v1

kind: ServiceAccount

metadata:

  name: admin

  namespace: kube-system

  labels:

    kubernetes.io/cluster-service: "true"

    addonmanager.kubernetes.io/mode: Reconcile

创建admin用户

# kubectl create -f admin-sa.yaml

clusterrolebinding.rbac.authorization.k8s.io/admin created

serviceaccount/admin created

查看admin用户

# kubectl get secret -n kube-system|grep admin

admin-token-npgtv                                kubernetes.io/service-account-token   3      82s

获取admin用户token

# kubectl describe secret -n kube-system admin-token-npgtv

kubernetes-dashboard一直ContainerCreating的解决方法

kubectl get pod -A
kubectl describe pod kubernetes-dashboard-6bd77794f-zkzh5 -n kubernetes-dashboard
原因:

node1之前反复添加过,添加之前需要清除下网络

在Node上执行如下操作:

重置kubernetes服务,重置网络。删除网络配置,link

systemctl stop kubelet

systemctl stop docker

rm -rf /var/lib/cni/

rm -rf /var/lib/kubelet/*

rm -rf /etc/cni/

ifconfig cni0 down

ifconfig flannel.1 down

ifconfig docker0 down

ip link delete cni0

ip link delete flannel.1

systemctl start docker

systemctl start kubelet

kubeadm reset

重新创建集群


kubernetes-dashboard正常运行了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐