k8s kubernetes dashboard一直CarshLoopBackoff

使用
kubectl get pods -A -o wide
发现pod一直CarshLoopBackoff

通过
kubectl describe pod kubernetes-dashboard-7c4f8ff86d-7k7bd -n kubernetes-dashboard
获取详细信息
发现一直报错

Warning  Unhealthy  10m (x31 over 34m)   kubelet            Liveness probe failed: Get "https://10.42.0.11:8443/": dial tcp 10.42.0.11:8443: connect: connection refused

判断是节点问题

先获取节点信息 kubectl get nodes

[root@VM-4-15-opencloudos temp]# kubectl get nodes
NAME                  STATUS   ROLES                  AGE   VERSION
vm-4-15-opencloudos   Ready    control-plane,master   96m   v1.31.6+k3s1

之后将master名字改入recommended.yaml

添加
nodeName: master

参考
https://blog.youkuaiyun.com/paopaodog/article/details/132014780
https://blog.youkuaiyun.com/abu935009066/article/details/138186651

### 安装 Kubernetes Dashboard 的步骤 Kubernetes Dashboard 是一个基于 Web 的用户界面,用于管理和监控 Kubernetes 集群。以下是详细的安装和配置流程。 #### 创建命名空间并部署 Dashboard 创建一个独立的命名空间以隔离资源,例如 `kubernetes-dashboard`: ```bash mkdir -p /etc/kubernetes/dashboard cd /etc/kubernetes/dashboard wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml ``` 此命令会下载官方推荐的 Dashboard 部署文件,并将其保存在 `/etc/kubernetes/dashboard` 目录中[^1]。 修改 `recommended.yaml` 文件中的命名空间为 `kubernetes-dashboard`(如果需要),然后运行以下命令进行部署: ```bash kubectl apply -f recommended.yaml ``` #### 检查服务状态 安装完成后,确认 Dashboard 对应的服务是否已成功运行: ```bash kubectl get services -n kubernetes-dashboard ``` 默认情况下,Dashboard 会暴露为 ClusterIP 类型的服务,仅支持集群内部访问。 #### 修改服务类型为 NodePort 为了能够通过浏览器访问 Dashboard,可以将服务类型从 ClusterIP 修改为 NodePort: ```bash kubectl edit service kubernetes-dashboard -n kubernetes-dashboard ``` 找到 `type: ClusterIP` 并将其更改为 `type: NodePort`,保存并退出后,Kubernetes 会自动分配端口。 再次运行 `kubectl get services -n kubernetes-dashboard` 查看分配的端口,然后通过任意节点的 IP 地址加上该端口访问 Dashboard。 #### 认证与权限配置 由于 Dashboard 提供了对集群的管理功能,因此需要配置认证机制来确保安全性。创建一个具有适当权限的 ServiceAccount,并绑定到相应的角色。例如: ```yaml apiVersion: v1 kind: ServiceAccount metadata: name: dashboard-admin namespace: kubernetes-dashboard --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: dashboard-admin-cluster-role roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: dashboard-admin namespace: kubernetes-dashboard ``` 应用上述配置: ```bash kubectl apply -f dashboard-admin.yaml ``` 生成的 ServiceAccount Token 可用于登录 Dashboard。运行以下命令获取 Token: ```bash kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep dashboard-admin | awk '{print $1}') ``` 复制输出中的 `token` 字段值,在登录 Dashboard 时选择 "Token" 并粘贴此值。 #### 使用 Ingress 暴露 Dashboard(可选) 如果希望使用域名访问 Dashboard,可以通过 Ingress 控制器实现。定义一个 Ingress 资源文件,例如 `dashboard-ingress.yaml`: ```yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: dashboard-ingress namespace: kubernetes-dashboard annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - http: paths: - path: /dashboard pathType: Prefix backend: service: name: kubernetes-dashboard port: number: 80 ``` 应用此配置: ```bash kubectl apply -f dashboard-ingress.yaml ``` 确保你的域名解析指向 Ingress 控制器的外部 IP 地址,然后通过 `http://<your-domain>/dashboard` 访问 Dashboard。 #### 常见问题排查 - **无法访问 Dashboard**:检查服务类型是否正确,以及防火墙规则是否允许相应端口通信。 - **Token 登录失败**:确认 Token 是否过期,或者尝试重新生成 Token。 - **RBAC 权限不足**:确保 ServiceAccount 具有适当的 ClusterRole 绑定,如 `cluster-admin`。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值