安装以下dashboard之前,都需要安装Metrics Server和nginx ingress。

官方dashboard v2.0

官网github:https://github.com/kubernetes/dashboard

安装dashboard,官方推荐k8s 1.17版本
image.png

  1. kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc7/aio/deploy/recommended.yaml

image.png

kubectl get pods -n kubernetes-dashboard

image.png

kubectl get all  -n kubernetes-dashboard

image.png
编辑ingress

cat > dashboard.yaml << EOF
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: k8s-dashboard-ingress
  namespace: kubernetes-dashboard
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
spec:
  tls:
  - hosts:
    - dashboard.k8s.com
    secretName: kubernetes-dashboard-certs
  rules:
  - host: 
    http:
      paths:
      - backend:
          serviceName: kubernetes-dashboard
          servicePort: 443
EOF

image.png

image.png

获取token

cat > admin-user.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

image.png

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')

image.png

利用token登录即可
image.png

Weave Scope

Weave Scope自动生成应用程序的映射,使您能够直观地理解、监视和控制基于容器化微服务的应用程序。Weave Scope可以监控kubernetes集群中的一系列资源的状态、资源使用情况、应用拓扑、scale、还可以直接通过浏览器进入容器内部调试等。
官网地址:https://www.weave.works/docs/scope/latest/installing/#k8s
安装Weave Scope

kubectl apply -f "https://cloud.weave.works/k8s/scope.yaml?k8s-version=$(kubectl version | base64 | tr -d '\n')"

image.png

kubectl get pods -n weave

image.png

kubectl get all -n weave

image.png

编写ingress

cat > weave.yaml << EOF
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: weave-ingress
  namespace: weave
spec:
  rules:
  - host: weave.k8s.com
    http:
      paths:
      - path: /
        backend:
          serviceName: weave-scope-app
          servicePort: 80
EOF

image.png

image.png

kuboard

官网地址:https://www.kuboard.cn/install/install-dashboard.html#%E5%AE%89%E8%A3%85
Kuboard 是 Kubernetes 的一款图形化管理界面

Kubernetes 版本 Kuboard 版本 兼容性 说明
v1.18 v1.0.x 😄 已验证
v1.17 v1.0.x 😄 已验证
v1.16 v1.0.x 😄 已验证
v1.15 v1.0.x 😄 已验证
v1.14 v1.0.x 😄 已验证
v1.13 v1.0.x 😄 已验证
v1.12 v1.0.x 😐 Kubernetes Api v1.12 不支持 dryRun,
Kuboard 不支持 Kubernetes v1.12
v1.11 v1.0.x 😐 Kuboard 不支持 Kubernetes v1.11
kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml

image.png

kubectl get pods -l k8s.eip.work/name=kuboard -n kube-system

image.png

kubectl get ingresses -n kube-system

image.png

image.png

image.png
获取token

kubectl -n kube-system get secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}') -o go-template='{{.data.token}}' | base64 -d

image.png

image.png

安装全局套件

kubectl -n kube-system create secret generic etcd-certs --from-file=/etc/kubernetes/pki/etcd/server.crt --from-file=/etc/kubernetes/pki/etcd/server.key

image.png
image.png

image.png

完成 初始化 之后,必须刷新 Kuboard 界面,套件向 Kuboard 中加入的按钮才能显示出来,以前面安装的全局监控套件为例,该套件向所有的 Node 增加了两个按钮(节点监控、节点监控-含节点上的容器组),如下图所示
image.png

image.png