Kubernetes Dashboard on Ubuntu 16.04安装记录

简介: Kubernetes Dashboard on Ubuntu 16.04安装记录 以下内容在Kubernetes 1.9.3 + Ubuntu 16.04.4(Server & Desktop)上试验通过。

Kubernetes Dashboard on Ubuntu 16.04安装记录

  • 以下内容在Kubernetes 1.9.3 + Ubuntu 16.04.4(Server & Desktop)上试验通过。

Kubernetes Dashboard(https://github.com/kubernetes/dashboard)是Kubernetes的Web UI管理工具,可以 支持多种K8s运行环境,在Docker for Mac上可以快速安装使用(https://my.oschina.net/u/2306127/blog/1606599),但在Ubuntu上有一些区别,这里是安装过程的记录。

1、安装flannel网络驱动

执行下面的命令,安装flannel网络驱动(是不同pod互访必须的驱动,可选其它的网络驱动):

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

!!!安装flannel网络出现pending挂起问题(podCidr参数丢失,即便在kubeadm运行时已指定):

#查看日志:
kubectl get pods --namespace kube-system
kubectl --namespace kube-system logs kube-flannel-ds-bvxd2
#上面的kube-flannel-ds-bvxd2为flannel的pod名称,根据get pods返回的名称输入。 
#编辑 /etc/kubernetes/manifests/kube-controller-manager.yaml
在command节,加入:
- --allocate-node-cidrs=true
- --cluster-cidr=10.244.0.0/16

然后systemctl restart kubelet即可。

2、安装Dashboard pod

运行下面的命令,安装Dashboard service pod:

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

注意:

  • 自dashboard 1.10.0版出来后,安装程序改为:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.8.3/src/deploy/recommended/kubernetes-dashboard.yaml
  • 如果想要安装1.10.0,则为(目前镜像还没有,装不了):
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml

查看安装结果情况:

kubectl get pod --namespaces kube-system
  • 如果出现pending,可以尝试将镜像单独拉取下来,方法如下:
docker pull k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3

3、建立账号和授权

将下面的内容保存为文件,如dashboard-rbac.yaml。

apiVersion: v1 kind: ServiceAccount metadata:
 name: dashboard
 namespace: kube-system

---

kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata:
 name: dashboard
subjects:
 - kind: ServiceAccount
 name: dashboard
 namespace: kube-system
roleRef:
 kind: ClusterRole
 name: cluster-admin
 apiGroup: rbac.authorization.k8s.io

然后执行安装(所建立的账号为dashboard)

kubectl create -f dashboard-rbac.yaml

如果创建失败,可以使用kubectl delete sa/podid-xxx --all-namespaces的方式删除,再重新运行上面的yaml文件进行安装。

  • 注意:需要将sa和clusterrolebindings里的账号同时删除。如下所示:
kubectl delete sa/dashboard --namespace kube-system
kubectl delete clusterrolebindings/dashboard --namespace kube-system

查看账号是否成功建立:

kubectl get sa --all-namespaces

4、Dashboard浏览器登录

4.1 启动Dashboard的Web服务

可以使用端口转发或者kubelet内置的Web服务来提供后台服务。

  • 端口转发,外部可访问。
kubectl port-forward kubernetes-dashboard-7798c48646-wkgk4 8443:8443 --namespace=kube-system &
  • 内置服务,只能本机访问。
kubectl proxy

打开浏览器,输入下面的URL地址,点击 Sign in 按钮进入登录界面。

4.2 获得登录授权码

获得登录授权的Token,运行:

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

返回结果如下所示:

Name: dashboard-token-kl5ns
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name=dashboard
 kubernetes.io/service-account.uid=5832bfe3-219f-11e8-982a-0800275005f0

Type: kubernetes.io/service-account-token

Data
====
namespace: 11 bytes
token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtdG9rZW4ta2w1bnMiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNTgzMmJmZTMtMjE5Zi0xMWU4LTk4MmEtMDgwMDI3NTAwNWYwIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZCJ9.OIo391SDxMDlnzHF0PYbAUNnS_QK9vdbyCx8ZBy3DAdBpBKaKq3U01sPX6H8w_UzP96Mu3Hhh3Xu8ar5nMi5AZLYcct9zR3LepOBdFTQ_YNTJNOjsqMuyD-dWYx6NoQW5lARRtjWSO2UAjrj7Mz4NsfWy8JDUEZZJQ31rtog-Bxgp8K_nxtJiCdROvvd6eM7zNEYOzxYJavsKARyGfJcBRZ6OgxfnH0-8PpwbMEy9qpIQw_sfxVPEaZ-z_y06CX6vbps_-JsFSBDjpVmQQBsNsBxz3Dwm0E8_T9V5z9T13HqUccuGydgp7bYz4PEbDBSD5-xbOIniBwniP3ak1mn_w
ca.crt: 1025 bytes

将上面的token内容拷贝下来,然后进入Web界面的 token ,复制到Enter Token下面的编辑框中。

zrzut ekranu z 2017-12-14 10-58-28

4.3 使用Kubernetes Dashboard

Kubernetes Dashboard运行起来的界面如下,可以查看信息,管理各种服务。

zrzut ekranu z 2017-12-14 10-59-31 本文转自开源中国-Kubernetes Dashboard on Ubuntu 16.04安装记录
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
22天前
|
Ubuntu NoSQL 关系型数据库
Ubuntu系统下安装常用软件
Ubuntu系统下安装常用软件
44 0
Ubuntu系统下安装常用软件
|
1月前
|
Ubuntu Linux C语言
Ubuntu下安装vscode,并解决终端打不开vscode的问题
Ubuntu下安装vscode,并解决终端打不开vscode的问题
135 0
|
2月前
|
Kubernetes 数据安全/隐私保护 Docker
|
2月前
|
存储 Ubuntu 网络协议
|
1月前
|
Ubuntu Docker 容器
如何在Ubuntu上安装Docker?
【2月更文挑战第10天】
243 0
|
2月前
|
负载均衡 Ubuntu 应用服务中间件
|
24天前
|
Ubuntu 关系型数据库 MySQL
Ubuntu 中apt 安装MySQL数据库
Ubuntu 中apt 安装MySQL数据库
66 0
|
3天前
|
Ubuntu 数据安全/隐私保护
在UBUNTU虚拟机上安装R软件包
在UBUNTU虚拟机上安装R软件包
|
3天前
|
存储 编解码 Ubuntu
0-零基础安装ubuntu(超详细安装步骤)
0-零基础安装ubuntu(超详细安装步骤)
|
4天前
|
Ubuntu Linux 定位技术
手把手教你优雅的安装虚拟机 Ubuntu —— 图文并茂
手把手教你优雅的安装虚拟机 Ubuntu —— 图文并茂