Kubernetes_可视化工具(Dashboard和Kuboard)
系列文章目录
文章目录
前言
一、可视化DashBoard
可视化:dashboard是简单的可视化,普罗米修斯是复杂的可视化
官网
:https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/
Dashboard is a web-based Kubernetes user interface. You can use Dashboard to deploy containerized applications to a Kubernetes cluster, troubleshoot your containerized application, and manage the cluster resources. You can use Dashboard to get an overview of applications running on your cluster, as well as for creating or modifying individual Kubernetes resources (such as Deployments, Jobs, DaemonSets, etc). For example, you can scale a Deployment, initiate a rolling update, restart a pod or deploy new applications using a deploy wizard.
二、可视化DashBoard实践
(1)根据yaml文件创建资源
vi dashboard.yaml (比较大,放在CSDN资源文件中下载)
kubectl apply -f dashboard.yaml
(2)查看资源
kubectl get pods -n kube-system
kubectl get pods -n kube-system -o wide
kubectl get svc -n kube-system
kubectl get deploy kubernetes-dashboard -n kube-system
(3)使用火狐浏览器访问 (因为k8s中使用的是https 443,所以宿主机需要 https://宿主机ip:3008/)
https://192.168.100.151:30018/
特别注意1:在chrome浏览器中输入时,如果输入 https://192.168.100.151:30018 而不是 192.168.100.151:30018 ,即需要手动补上 https://
特别注意2:输入 https://192.168.100.151:30018 ,遇到这种情况,如下:
当前页面点击任意空白处,直接键盘输入“thisisunsafe”即可解决(不是在chrome浏览器搜索栏输入,而是选中网页,然后输入)。
原理是chrome认为这个网站是不安全的,不让你访问。而你输入了这句话,就类似于签了生死状,了解了风险。chrome就放你进去,但那之后再出问题也就没有责任了。
(4)生成登录需要的token
# 创建service account
kubectl create sa dashboard-admin -n kube-system
# 创建角色绑定关系
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
# 查看dashboard-admin的secret名字
ADMIN_SECRET=$(kubectl get secrets -n kube-system | grep dashboard-admin | awk '{print $1}')
echo ADMIN_SECRET
# 打印secret的token
kubectl describe secret -n kube-system ${ADMIN_SECRET} | grep -E '^token' | awk '{print $2}'
效果演示:
这里注意,dashboard.yaml 需要一个镜像 k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3 ,这个在国外,我一般是使用 docker load -i xxx.tar(或者xxx.tar.gz) 导入进去的,然后docker tag + docker push放到自己的阿里云镜像仓库,修改一下 dashboard.yaml 的 images 字段就可以使用了。
三、Kuboard可视化
3.1 kuboard-v3 部署
---
apiVersion: v1
kind: Namespace
metadata:
name: kuboard
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: '9'
k8s.kuboard.cn/ingress: 'false'
k8s.kuboard.cn/service: NodePort
k8s.kuboard.cn/workload: kuboard-v3
labels:
k8s.kuboard.cn/name: kuboard-v3
name: kuboard-v3
namespace: kuboard
spec:
replicas: 1
selector:
matchLabels:
k8s.kuboard.cn/name: kuboard-v3
template:
metadata:
labels:
k8s.kuboard.cn/name: kuboard-v3
spec:
containers:
- image: 'eipwork/kuboard:v3'
imagePullPolicy: Always
name: kuboard
---
apiVersion: v1
kind: Service
metadata:
annotations:
k8s.kuboard.cn/workload: kuboard-v3
labels:
k8s.kuboard.cn/name: kuboard-v3
name: kuboard-v3
namespace: kuboard
spec:
ports:
- name: webui
nodePort: 30080
port: 80
protocol: TCP
targetPort: 80
- name: agentservertcp
nodePort: 30081
port: 10081
protocol: TCP
targetPort: 10081
- name: agentserverudp
nodePort: 30081
port: 10081
protocol: UDP
targetPort: 10081
selector:
k8s.kuboard.cn/name: kuboard-v3
sessionAffinity: None
type: NodePort
浏览器上输入 http://192.168.100.155:30080/ ,第一次会跳转到登录页面
用户名: admin
密 码: Kuboard123
kuboard 关联k8s集群包括两种方式:
方式1:KubeConfig(Kuboard 可以访问 Kubernetes APIServer)
这种方式需要在master节点中执行 cat ~/.kube/config 查看配置,然后填入相应的地方进行导入
方式2:Kuboard Agent(Kubernetes 节点可以访问 Kuboard)
这种方式需要在Kubernetes上安装Kuboard Agent,用来访问Kuboard
这里使用 kubeconfig ,因为不需要安装 kuboard-agent
这个集群接入进来了,如下:
3.2 kuboard-v3 部署 + kuboard-etcd 部署
没有etcd持久化,只需要pod重启,刚刚进入的k8s集群,就会丢掉,所以需要 安装 kuboard-etcd.
略。
总结
kuboard参考资料:安装kuboard—使用 StorageClass 提供持久化
kuboard参考资料:安装 Kuboard v3 - kubernetes
相关文章
- kubeadm部署高可用kubernetes
- 关于 Kubernetes中Service的一些笔记
- 红帽推出轻量级Kubernetes解决方案,推动开放边缘计算持续演进
- Kubernetes 领进门 | 使用 k3s 快速部署 kubernetes 集群
- kubernetes | 常见报错解决
- 16个 Awesome 工具让 Kubernetes 如虎添翼
- 为什么kubernetes推荐使用ipvs
- Kubernetes集群之熟悉kubectl基础命令
- Kubernetes运维之容器编排Deployment更新机制
- kubernetes环境部署单节点redis数据库的方法
- 在 Kubernetes 上扩展 TensorFlow 模型
- KRS:一个收集 Kubernetes 资源统计数据的新工具