【云原生-K8s】k8s可视化管理界面安装配置及比较【Dashboard UI篇】

Kubernetes-Dashboard UI

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

资源信息

  • 官方文档:https://kubernetes.io/zh-cn/docs/tasks/access-application-cluster/web-ui-dashboard/
  • 开源地址:https://github.com/kubernetes/dashboard
  • 版本兼容性确认:https://github.com/kubernetes/dashboard/releases
    【云原生-K8s】k8s可视化管理界面安装配置及比较【Dashboard UI篇】_第1张图片
  • 获取当前k8s版本:kubectl version
  • 查看集群版本:kubectl get node
    在这里插入图片描述

在线安装

  • 找到自由集群相符合的版本
    【云原生-K8s】k8s可视化管理界面安装配置及比较【Dashboard UI篇】_第2张图片
  • 执行兼容自己k8s集群的版本
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml

The connection to the server raw.githubusercontent.com was refused - did you specify the right host or port?

  • 如果不能链接上可以想办法下载下来yaml 然后执行
    【云原生-K8s】k8s可视化管理界面安装配置及比较【Dashboard UI篇】_第3张图片
  • 通过命令查询是否安装成功
kubectl get svc,pods  -n kubernetes-dashboard

【云原生-K8s】k8s可视化管理界面安装配置及比较【Dashboard UI篇】_第4张图片

外网访问

  • 通过看上面的截图,想必大家已经发现了并没有开通外网端口,
  • 所以我们要修改之前官网拉取的yaml,让它开放外网端口
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort #新加此行
  ports:
    - port: 443
      nodePort: 30001 #新加此行
      targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard
  • 找到如上yaml 、加入相应的 新加行
  • 执行yaml更新命令:kubectl apply -f recommended.yaml
  • 执行命令获取 kubectl get svc,pods -n kubernetes-dashboard -o wide
  • 通过k8s-node-1 去访问
    【云原生-K8s】k8s可视化管理界面安装配置及比较【Dashboard UI篇】_第5张图片

Dashboard用户

  • Dashboard 支持 Kubeconfig 和 Token 两种认证方式,这里选择Token认证方式登录,默认serviceaccount只有读权限,这里创建admin用户
  • 参考资料:https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/README.md
  • 创建yaml命令
cat > dashboard-admin.yaml << EOF
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard
EOF
  • 执行命令创建rbac:kubectl apply -f dashboard-admin.yaml
    在这里插入图片描述
  • 获取token命令
kubectl -n kubernetes-dashboard get secrets

【云原生-K8s】k8s可视化管理界面安装配置及比较【Dashboard UI篇】_第6张图片

  • 获取token信息
kubectl -n kubernetes-dashboard describe secrets admin-user-token-zjzjt

【云原生-K8s】k8s可视化管理界面安装配置及比较【Dashboard UI篇】_第7张图片

访问 Dashboard UI

  • 谷歌浏览器不能访问,存在安全问题,可以采用 火狐进行访问
    【云原生-K8s】k8s可视化管理界面安装配置及比较【Dashboard UI篇】_第8张图片
    【云原生-K8s】k8s可视化管理界面安装配置及比较【Dashboard UI篇】_第9张图片
    【云原生-K8s】k8s可视化管理界面安装配置及比较【Dashboard UI篇】_第10张图片
    【云原生-K8s】k8s可视化管理界面安装配置及比较【Dashboard UI篇】_第11张图片

总结

  • 虽然是由k8s官方出品的Dashboard ,但是在国内很少推荐使用
  • 所以大家可以试试这种方式,在某些特定的环境可以采用国内的开源Dashboard来使用

你可能感兴趣的:(#,Kubernetes,kubernetes,云原生,docker,k8s,ui)