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/ 方式进行访问。
首先在国内从事运维或者创业型互联网公司以及程序员,基础就是有一个服务器作为运行条件,大厂服务器自不必说,今天主要就是推荐几家国内数一数二的大中小企业服务器供应商,首先第一家就是3A网络科技,近20年的技术积累,拥有自建香港机房,同时作为阿里云,百度云合作伙伴,对于这些大厂拥有很高的私企折扣,200G带宽,BGP接入,直接互联骨干网。8年IDC运维驻守机房
为您的网站保驾护航,8年IDC运维驻守机房,为您的网站保驾护航。更多信息访问iis3.com/server/获取。 第一次访问时会提示使用哪种鉴权方式:(官方文档)
选择 Token 方式,则创建 ClusterRoleBinding:
admin-user.yml 展开源码
创建:
$ kubectl apply -f admin-user.yml |
获取 Token:
| `(kubectl -n kube-system get sa admin-user -o yaml | awk` `'/admin-user-token/ {print $3}')``(kubectl -n kube-system get secret | ``grep admin-user | awk` `'{print $1}')` |
然后把 Token 值贴入 Dashboard 页面:
如果使用 KubeConfig 报错如下:
请创建 Token 值:
| ` kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin``(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) ```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 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 |