K8S dashboard搭建部署,以及拒绝访问,ImagePullBackOff,ErrImagePull,CrashLoopBackOff问题解决

K8S dashboard搭建部署,以及拒绝访问,ImagePullBackOff,ErrImagePull,CrashLoopBackOff问题解决

dashboard部署

官网有详细步骤:https://github.com/kubernetes/dashboard#kubernetes-dashboard

1. 执行一下代码安装
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yaml
2. 配置外网访问,官网提供代理proxy、port-forward、NodePort三种方法。这里使用NodePort方式。
kubectl -n kubernetes-dashboard edit service kubernetes-dashboard  #编辑配置文件

#找到里面的type: ClusterIP 改成 type: NodePort
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: v1
...
 name: kubernetes-dashboard
 namespace: kubernetes-dashboard
 resourceVersion: "343478"
 selfLink: /api/v1/namespaces/kubernetes-dashboard/services/kubernetes-dashboard
 uid: 8e48f478-993d-11e7-87e0-901b0e532516
spec:
 clusterIP: 10.100.124.90
 externalTrafficPolicy: Cluster
 ports:
 - port: 443
   protocol: TCP
   targetPort: 8443
 selector:
   k8s-app: kubernetes-dashboard
 sessionAffinity: None
 type: ClusterIP
status:
 loadBalancer: {}
4. 查看暴露的端口
kubectl -n kubernetes-dashboard get service kubernetes-dashboard
NAME                   TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
kubernetes-dashboard   NodePort   10.100.124.90   <nodes>       443:31707/TCP   21h
5. 一定要注意,如果是单机版,则直接master-ip:port即可以访问,如果是云版本,一定到找到pod对应的node,然后浏览器访问 node-ip:port访问,我之前不知道,部署成功后也一直访问失败,官网上有说明,但没有看到整了好久。
6,可以通过
kubectl describe pod -n namespace podname #查看节点位于在node上。
kubectl -n kubernetes-dashboard get service kubernetes-dashboard # 查看暴露的端口。
7,创建account并绑定管理员集群角色
$ kubectl create serviceaccount dashboard-admin -n kube-system
$ kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
# 记住token,浏览器输入token登录。
$ kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')

在这里插入图片描述

ImagePullBackOff,ErrImagePull,CrashLoopBackOff问题解决

dashboard不能正常访问

1,通过 kubectl get pods -A查看dashboard具体情况,发现dashboard的pod节点ImagePullBackOff
2,通过 kubectl describe pod -n namespace podname 查看节点详细情况,看到node2节点无法正擦pull下镜像。
3, 通过kubectl log pod -n namespace podname查看日志。
4,遇到的情况node节点的dns不能用导致镜像pull不下来
vi  /etc/sysconfig/network-script/ifcfg-ens33
#修改 DNS1=8.8.8.8为DNS1=114.114.114.114
systemctl restart network 

然后 ping 百度可以ping 通

5,重启dashboard的pod,方法有三种
1,在有 yaml 文件的情况下可以直接使用
kubectl replace --force -f xxxx.yaml 来强制替换Pod 的 API 对象,从而达到重启的目的。
2,没有 yaml 文件,但是使用的是 Deployment 对象。kubectl scale deployment esb-admin --replicas=0 -n {namespace}
3,没有 yaml 文件,直接使用的 Pod 对象。kubectl get pod {podname} -n {namespace} -o yaml | kubectl replace --force -f -
7,重启后kubectl get pods -A查看启动情况
8,通过 kubectl describe pod -n namespace podname 查看节点位于在node上。
9,kubectl -n kubernetes-dashboard get service kubernetes-dashboard 查看暴露的端口。
部署 Kubernetes Dashboard v3,你可以按照以下步骤进行操作: 1. 首先,确保你的 Kubernetes 集群已经安装好并正常运行。 2. 下载 Kubernetes Dashboard v3 的 YAML 文件。你可以从 Kubernetes Dashboard 的 GitHub 仓库中获取最新的 YAML 文件。运行以下命令来下载: ```shell wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml ``` 3. 修改 YAML 文件。打开下载的 YAML 文件,并搜索 `--auto-generate-certificates`,取消注释该行以启用自动生成证书。此外,你还可以根据需要修改其他配置选项。 4. 部署 Kubernetes Dashboard。运行以下命令来部署 Dashboard: ```shell kubectl apply -f recommended.yaml ``` 5. 创建一个用于访问 Dashboard 的 ServiceAccount 和 ClusterRoleBinding。运行以下命令: ```shell kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.3.1/aio/deploy/recommended.yaml ``` 6. 获取访问令牌。运行以下命令获取访问令牌: ```shell kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}') ``` 这将输出一个长字符串,即访问令牌。 7. 启动 Dashboard 代理。运行以下命令启动代理: ```shell kubectl proxy ``` 8. 访问 Dashboard。在浏览器中访问以下 URL: ``` http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/ ``` 然后选择 "Token" 选项,将之前获取到的访问令牌粘贴到输入框中,点击 "Sign in" 即可登录 Kubernetes Dashboard。 请注意,Kubernetes Dashboard v3 目前仍处于预览阶段,可能存在一些限制和变化。在部署之前,请确保你已经详细阅读了相关文档,并了解其当前的状态和要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值