参考地址:
环境说明:
- kubernetes-dashboard:1.10.1
- Chart 源:https://kubernetes-charts.storage.googleapis.com/
拉取 chart 镜像
$ helm search repo kubernetes-dashboard
NAME CHART VERSION APP VERSION DESCRIPTION
stable/kubernetes-dashboard 1.10.1 1.10.1 General-purpose web UI for Kubernetes clusters
$ helm pull stable/kubernetes-dashboard
$ tar zxvf kubernetes-dashboard-1.10.1.tgz
从阿里 docker hub 拉取 dashboard 镜像
$ docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.1
$ docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kubernetes-dashboard-amd64:v1.10.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
$ docker save k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1 -o kubernetes-dashboard-amd64:v1.10.1.tar
$ scp ./kubernetes-dashboard-amd64\:v1.10.1.tar root@k8s-node01:~
$ docker load -i kubernetes-dashboard-amd64\:v1.10.1.tar
cat <<EOF >./kubernetes-dashboard.yaml
image:
repository: k8s.gcr.io/kubernetes-dashboard-amd64
tag: v1.10.1
ingress:
enabled: true
hosts:
- k8s.frognew.com
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
tls:
- secretName: frognew-com-tls-secret
hosts:
- k8s.frognew.com
rbac:
clusterAdminRole: true
EOF
安装
$ helm install kubernetes-dashboard . \
--namespace kube-system \
-f kubernetes-dashboard.yaml
查看
$ kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 32d
kubernetes-dashboard ClusterIP 10.100.18.56 <none> 443/TCP 22m
通过 NodePort 方式访问
$ kubectl edit svc kubernetes-dashboard -n kube-system
# 修改 ClusterIP 为 NodePort
spec:
type: ClusterIP -> NodePort
$ kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 32d
kubernetes-dashboard NodePort 10.100.18.56 <none> 443:30632/TCP 25m
访问地址:https://192.168.5.80:30632/ 谷歌浏览器会限制访问,可以通过火狐浏览器访问。通过令牌方式登录。
获取令牌信息
$ kubectl -n kube-system get secret | grep kubernetes-dashboard-token
kubernetes-dashboard-token-m68dk kubernetes.io/service-account-token 3 114m
$ kubectl describe secret kubernetes-dashboard-token-m68dk -n kube-system