一个计算机技术爱好者与学习者

0%

好好学K8S:K8S Dashboard

1. K8S Dashboard简介

K8S Dashboard 是基于网页的 Kubernetes 用户界面。使用 Dashboard 可以将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。 可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源 (如 Deployment,Job,DaemonSet 等等)。例如,可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用。

Dashboard 同时展示了 Kubernetes 集群中的资源状态信息和所有报错信息。

参考文档:

2. 安装K8S Dashboard

1、执行安装

1
2
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
kubectl apply -f recommended.yaml

2、查看安装

1
kubectl get all -n kubernetes-dashboard

3、开放外部访问
方法一:修改servcie类型为NodePort
方法二:添加ingress
方法三:代理K8S API kubectl proxy --port=6880
方法四:代理服务端口 kubectl port-forward service/kubernetes-dashboard --address 0.0.0.0 10443:443

4、访问Dashboard
浏览器访问Dashboard,提示输入Token或者选择Kubeconfig文件进行登录。(Token的获取方法下一节有说明)
登录后,就可以看到K8S中的资源对象,并且对它们进行操作。

3. 获取Token

1、创建sa

1
kubectl create sa admin-user -n kubernetes-dashboard

2、添加sa到clusterrolebinding

1
kubectl edit clusterrolebinding cluster-admin

添加:

1
2
3
4
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard

3、获取token

1
kubectl create token admin-user -n kubernetes-dashboard --duration=8760h

更多关于sa的知识,参考文档《K8S中创建用户账户和服务账户》

4. 开启统计

参考文档《K8S问题记录》的【kubectl top命令执行报错】部分。

5. 扩展

5.1. Grafana

Grafana是一个开源的可视化和监控平台,支持与Kubernetes集成。

安装使用方法参考文档:《使用Docker安装配置Grafana》

5.2. KubeView

KubeView是一个基于Web的Kubernetes资源可视化工具,可以以图形方式显示Kubernetes集群中的资源关系和拓扑。

KubeView功能较单一,只能显示资源拓扑。

参考文档:

【安装KubeView】

1、 下载helm chart

1
2
git clone https://github.com/benc-uk/kubeview
cd kubeview/charts/

2、修改配置

1
vim kubeview/values.yaml

如下修改:

  • image.repository: ghcr.dockerproxy.com/benc-uk/kubeview
  • loadBalancer.enabled: false

3、安装kubeview

1
2
helm install kubeview kubeview -n kubeview --create-namespace
kubectl get all -n kubeview

4、暴露服务

1
kubectl patch service/kubeview -n kubeview -p '{"spec": {"type": "NodePort"}}'

5.3. Weave Scope

Weave Scope是一个开源工具,提供了对Kubernetes集群的实时可视化和监控功能。

Weave Scope除了可以查看同层资源的关系和拓扑,还可以查看资源使用情况。

注意:Weave Scope已经停止更新。

参考文档:

【安装Weave Scope】

1、安装Weave Scope

1
2
3
wget https://github.com/weaveworks/scope/releases/download/v1.13.2/k8s-scope.yaml
kubectl apply -f k8s-scope.yaml
kubectl get all -n weave

2、暴露服务

1
kubectl patch service/weave-scope-app -n weave -p '{"spec": {"type": "NodePort"}}'
  • 本文作者: 好好学习的郝
  • 原文链接: https://www.voidking.com/dev-k8s-dashboard/
  • 版权声明: 本文采用 BY-NC-SA 许可协议,转载请注明出处!源站会即时更新知识点并修正错误,欢迎访问~
  • 微信公众号同步更新,欢迎关注~