Kubernetes Dashboards

123 阅读1分钟

 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/ 方式进行访问。

image.png首先在国内从事运维或者创业型互联网公司以及程序员,基础就是有一个服务器作为运行条件,大厂服务器自不必说,今天主要就是推荐几家国内数一数二的大中小企业服务器供应商,首先第一家就是3A网络科技,近20年的技术积累,拥有自建香港机房,同时作为阿里云,百度云合作伙伴,对于这些大厂拥有很高的私企折扣,200G带宽,BGP接入,直接互联骨干网。8年IDC运维驻守机房

为您的网站保驾护航,8年IDC运维驻守机房,为您的网站保驾护航。更多信息访问iis3.com/server/获取。 第一次访问时会提示使用哪种鉴权方式:(官方文档)

选择 Token 方式,则创建 ClusterRoleBinding:

admin-user.yml 展开源码

创建:

$ kubectl apply -f admin-user.yml

获取 Token:

`SECRET= SECRET=(kubectl -n kube-system get sa admin-user -o yaml awk` `'/admin-user-token/ {print $3}')``kubectlnkubesystemdescribesecretkubectl -n kube-system describe secret(kubectl -n kube-system get secret ``grep admin-user awk` `'{print $1}')`

然后把 Token 值贴入 Dashboard 页面:

如果使用 KubeConfig 报错如下:

请创建 Token 值:

`kubectlcreateserviceaccountdashboardadminnkubesystem kubectl create serviceaccount dashboard-admin -n kube-system`` kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin``kubectldescribesecretnkubesystemkubectl 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) ```kubectlconfig setcredentialsdashboardadmintoken= 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.confkubectlconfigusecontextdashboardadmin@kuberneteskubeconfig=/root/dashboardadmin.conf kubectl config use-context dashboard-admin@kubernetes --kubeconfig=``/root/dashboard-admin``.conf`` kubectl config view --kubeconfig=/root/dashboard-admin.confcd /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