Kubernetes Dashboards

Dashboard Github 地址:

链接

Heapster Github 地址:

链接

Kubernetes Dashboards

官方 Dashboard 只适用于开发人员或者运维人员,并且配合 heapster 服务获取容器内的资源信息。

启动服务:

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

启动完成后,对服务只有 proxy 方式映射进行访问:

$ kubectl proxy --address='0.0.0.0' --port=8086 --accept-hosts='^*$'

此时可通过如地址 http://127.0.0.1:8086/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ 方式进行访问。

第一次访问时会提示使用哪种鉴权方式:(官方文档)

选择 Token 方式,则创建 ClusterRoleBinding:

admin-user.yml 展开源码

创建:

$ kubectl apply -f admin-user.yml

获取 Token:

$ SECRET=$(kubectl -n kube-system get sa admin-user -o yaml | awk '/admin-user-token/ {print $3}')

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

然后把 Token 值贴入 Dashboard 页面:

如果使用 KubeConfig 报错如下:

请创建 Token 值:

$ kubectl create serviceaccount dashboard-admin -n kube-system

$ kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin

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

请把上述创建出的 Token 拷贝至 KubeConfig 配置文件末尾一行(并格式对其)。

新建 Kubeconfig 配置如下:

$ kubectl create serviceaccount dashboard-admin -n kube-system

$ DASHBOARD_ADMIN_SECRET=$(kubectl get secret -n kube-system `kubectl get secret -n kube-system |grep dashboard-admin | awk '{print $1}'` -o jsonpath={.data.token} |base64 -d)

$ kubectl config set-credentials dashboard-admin --token=$DASHBOARD_ADMIN_SECRET --kubeconfig=/root/dashboard-admin.conf

$ kubectl config set-context dashboard-admin@kubernetes --cluster=kubernetes --user=dashboard-admin --kubeconfig=/root/dashboard-admin.conf

$ kubectl config use-context dashboard-admin@kubernetes --kubeconfig=/root/dashboard-admin.conf

$ kubectl config view --kubeconfig=/root/dashboard-admin.conf

cd /etc/kubernetes/pki/ && kubectl config set-cluster kubernetes --certificate-authority=./ca.pem --server="https://10.140.0.12:6443" --embed-certs=true --kubeconfig=/root/dashboard-admin.conf

Service NodePort

配置如下:

dashboard-svc.yaml

kind: Service

apiVersion: v1

metadata:

  labels:

    k8s-app: kubernetes-dashboard

  name: kubernetes-dashboard

  namespace: kube-system

spec:

  type: NodePort

  ports:

    - port: 443

      targetPort: 8443

      nodePort: 5555

  selector:

    k8s-app: kubernetes-dashboard

Ingress

配置如下:

dashboard-ingress.yaml

apiVersion: apps/v1

kind: Ingress

metadata:

  name: k8s

  namespace: kube-system

spec:

  rules:

  - host: k8s.shileizcc.com

    http:

      paths:

      - path: /

        backend:

          serviceName: kubernetes-dashboard

          servicePort: 443

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值