自己动手搭建kubernetes dashboard界面

自己动手搭建kubernetes dashboard界面

kubernetes官方提供了一套实用的dashboard界面。但是,入学者按照github上搭建安装时往往会遇到各种问题。顺手写个博客记录一下,也希望能帮到一些初学者。

搭建前准备

目前,我搭建的kubernetes dashboard版本是1.10.1.搭建之前我们首先要有一套k8s集群环境。搭建k8s环境有空再写博客,另外还需要准备以下东西:

  1. 从github上下载kubernetes dashboard的安装yaml文件,github地址在,yaml文件在
  2. 默认安装dashboard的时候,会需要heapster服务,yaml文件的地址在,依据README安装即可;
  3. 还需要metrics,地址在,依据README安装即可;
  4. 所需各类镜像如是局域网环境,需提前下载好,通过docker save压缩成tar包,再copy到局域网后docker load加载;

搭建步骤

创建dashboard各服务。将dashboard service改为Nodeport方便我们测试连接
在这里插入图片描述
然后依次创建heapster、metrics服务。然后我们访问集群任一节点https://Ip:Nodeport url。得到如下界面:
在这里插入图片描述
我们看到访问需要token。我们需要一个用户授予admin权限。通过以下yaml文件来创建:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kube-system

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

我们创建了一个名为admin-user的SA,通过ClusterRoleBinding绑定名为cluster-admin的ClusterRole。

kubectl get secret -n kube-system|grep admin-user-token
获取secret名字
kubectl get secret “secret的名字” -o jsonpath={.data.token} -n kube-system |base64 -d

获得一个base64字符串,粘贴到网页中。
切记,请使用火狐浏览器,我使用google和IE都无法进入页面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes Dashboard是一个开源的Web UI,用于管理和监控Kubernetes集。它提供了一个直观的界面,可用于管理Kubernetes对象,查看集群的状态和资源情况,执行容器调试等。 以下是在Kubernetes集群中安装Kubernetes Dashboard的步骤: 1.下载Kubernetes Dashboard YAML文件 在GitHub上下载最新版本的Kubernetes Dashboard YAML文件: ```bash wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml ``` 2.编辑Kubernetes Dashboard YAML文件 使用文本编辑器打开刚刚下载的YAML文件,并找到以下行: ```yaml # - --enable-skip-login ``` 将其注释掉,以便在安装后使用用户名和密码进行身份验证。修改后的行如下所示: ```yaml - --enable-skip-login=false ``` 3.安装Kubernetes Dashboard 运行以下命令以在Kubernetes集群中安装Kubernetes Dashboard: ```bash kubectl apply -f recommended.yaml ``` 等待几分钟,直到所有Pod和服务都已创建并处于运行状态。 4.创建用户和角色绑定 要使用Kubernetes Dashboard,需要创建一个具有最低特权的服务帐户,并将其绑定到具有关联权限的角色中。 以下是一个示例用户和角色绑定YAML文件: ```yaml apiVersion: v1 kind: ServiceAccount metadata: name: dashboard-admin namespace: kubernetes-dashboard --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: dashboard-admin roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: dashboard-admin namespace: kubernetes-dashboard ``` 将上面的文本保存为dashboard-admin.yaml,并运行以下命令以创建用户和角色绑定: ```bash kubectl apply -f dashboard-admin.yaml ``` 5.访问Kubernetes Dashboard 默认情况下,Kubernetes Dashboard只能通过kubectl proxy访问。要使其可以通过Web浏览器访问,需要使用NodePort或LoadBalancer将其公开。 以下是使用NodePort将Kubernetes Dashboard公开的示例命令: ```bash kubectl patch svc kubernetes-dashboard -n kubernetes-dashboard --type=json -p '[{"op":"replace","path":"/spec/type","value":"NodePort"}]' ``` 该命令将为Kubernetes Dashboard创建一个NodePort服务,并将其公开到集群的所有节点上。您可以运行以下命令以查看服务的NodePort端口: ```bash kubectl get svc kubernetes-dashboard -n kubernetes-dashboard ``` 要访问Kubernetes Dashboard,请在Web浏览器中输入以下URL: ``` https://<node-ip>:<node-port> ``` 其中,<node-ip>是运行Kubernetes Dashboard的节点的IP地址,<node-port>是Kubernetes Dashboard服务的NodePort端口。要查找节点的IP地址,请运行以下命令: ```bash kubectl get nodes -o wide ``` 在浏览器中打开上面的URL,您将被重定向到Kubernetes Dashboard登录页面。输入刚才创建的服务帐户的用户名和密码,即可访问Kubernetes Dashboard。 这就是在Kubernetes集群中安装Kubernetes Dashboard的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值