k8s之Dashboard部署及使用

前面章节 Kubernetes 所有的操作我们都是通过命令行工具 kubectl 完成的。为了提供更丰富的用户体验,Kubernetes 还开发了一个基于 Web 的 Dashboard,用户可以用 Kubernetes Dashboard 部署容器化的应用、监控应用的状态、执行故障排查任务以及管理 Kubernetes 各种资源。

在 Kubernetes Dashboard 中可以查看集群中应用的运行状态,也能够创建和修改各种 Kubernetes 资源,比如 Deployment、Job、DaemonSet 等。用户可以 Scale Up/Down Deployment、执行 Rolling Update、重启某个 Pod 或者通过向导部署新的应用。Dashboard 能显示集群中各种资源的状态以及日志信息。

可以说,Kubernetes Dashboard 提供了 kubectl 的绝大部分功能,大家可以根据情况进行选择。

安装

Kubernetes 默认没有部署 Dashboard,可通过如下命令安装:

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

Dashboard 会在 kube-system namespace 中创建自己的 Deployment 和 Service。

[[email protected] ~]# kubectl get deployments. -n kube-system kubernetes-dashboard -o wide
NAME                   READY   UP-TO-DATE   AVAILABLE   AGE   CONTAINERS             IMAGES                                          SELECTOR
kubernetes-dashboard   1/1     1            1           20m   kubernetes-dashboard   k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1   k8s-app=kubernetes-dashboard
[[email protected] ~]# kubectl get service -n kube-system kubernetes-dashboard
NAME                   TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
kubernetes-dashboard   ClusterIP   10.108.187.212   <none>        443/TCP   22m

因为 Service 是 ClusterIP 类型,为了方便使用,我们可通过 kubectl --namespace=kube-system edit service kubernetes-dashboard 修改成 NodePort 类型。

spec:
  clusterIP: 10.108.187.212
  externalTrafficPolicy: Cluster
  ports:
  - nodePort: 30338
    port: 443
    protocol: TCP
    targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {}

保存修改,此时已经为 Service 分配了端口 30338。

[[email protected] ~]# kubectl get service -n kube-system kubernetes-dashboard
NAME                   TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
kubernetes-dashboard   NodePort   10.108.187.212   <none>        443:30338/TCP   28m

通过浏览器访问 Dashboard https://192.168.31.200:30338/,登录界面如下

配置登录权限
Dashboard 支持 Kubeconfig 和 Token 两种认证方式,为了简化配置,我们通过配置文件 dashboard-admin.yaml 为 Dashboard 默认用户赋予 admin 权限。

执行 kubectl apply 使之生效。

现在直接点击登录页面的 SKIP 就可以进入 Dashboard 了。

Dashboard的使用

Dashboard 界面结构
Dashboard 的界面很简洁,分为三个大的区域。

顶部操作区

在这里用户可以搜索集群中的资源、创建资源或退出。

左边导航菜单
通过导航菜单可以查看和管理集群中的各种资源。菜单项按照资源的层级分为两类:
Cluster 级别的资源

Namespace 级别的资源

默认显示的是 default Namespace,可以进行切换:

中间主体区
在导航菜单中点击了某类资源,中间主体区就会显示该资源所有实例,比如点击 Pods。

典型使用场景
接下来我们介绍几个 Dashboard 的典型使用场景。

部署 Deployment
点击顶部操作区的 + CREATE 按钮。

用户可以直接输入要部署应用的名字、镜像、副本数等信息;也可以上传 YAML 配置文件。如果是上传配置文件,则可以创建任意类型的资源,不仅仅是 Deployment。

在线操作
对于每种资源,都可以点击 按钮执行各种操作。

比如点击 View/edit YAML 可直接修改资源的配置,保存后立即生效,其效果与 kubectl edit 一样。

查看资源详细信息
点击某个资源实例的名字,可以查看到详细信息,其效果与 kubectl describe 一样。

查看 Pod 日志
在 Pod 及其父资源(DaemonSet、ReplicaSet 等)页面点击 按钮,可以查看 Pod 的日志,其效果与 kubectl logs 一样。

Kubernetes Dashboard 界面设计友好,自解释性强,可以看作 GUI 版的 kubectl。

小结
本章介绍了Kubernetes Dashboard 的安装和使用方法。Dashboard能完成日常管理的大部分工作,可以作为命令行工具 kubectl 的补充。

原文地址:https://blog.51cto.com/5157495/2443451

时间: 2024-08-01 00:23:54

k8s之Dashboard部署及使用的相关文章

k8s认证授权和dashboard部署

资源说明 kubectl本身带有认证信息 认证信息文件存放在用户家目录下的/root/.kube/config kubectl 可以远程访问 只需要把配置文件拷贝过去    k8s的输入输出都是以json格式来传递的 [[email protected] ~]# kubectl proxy --port=8080     Starting to serve on 127.0.0.1:8080 [[email protected] .kube]# curl http://localhost:808

Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 master 服务器的组件有:kube-apiserver.kube-controller-manager.kube-scheduler 因此需要下载k8s master,下载地址:https://github.com/kubernetes/kubernetes/blob/master/CHANGE

基于k8s集群部署prometheus监控etcd

目录 基于k8s集群部署prometheus监控etcd 1.背景和环境概述 2.修改prometheus配置 3.检查是否生效 4.配置grafana图形 基于k8s集群部署prometheus监控etcd 1.背景和环境概述 本文中涉及到的环境中.prometheus监控和grafana基本环境已部署好.etcd内置了metrics接口供收集数据,在etcd集群任意一台节点上可通过ip:2379/metrics检查是否能正常收集数据. curl -L http://localhost:237

K8s多节点部署详细步骤,附UI界面的搭建

K8s多节点部署 需要准备的环境: 6台centos7设备:192.168.1.11 master01192.168.1.12 node1192.168.1.13 node2192.168.1.14 master02192.168.1.15 lb1192.168.1.16 lb2VIP:192.168.1.100 实验步骤: 1:自签ETCD证书 2:ETCD部署 3:Node安装docker 4:Flannel部署(先写入子网到etcd)---------master----------5:自

rancher三节点k8s集群部署例子

rancher三节点k8s集群部署例子 待办 https://rorschachchan.github.io/2019/07/25/使用Rancher2-1部署k8s/ 原文地址:https://www.cnblogs.com/lishikai/p/12310449.html

[k8s]kube-dns/dashboard排错历险记(含sa加载用法/集群搭建)

kube-dns原理 参考: 组件架构看这个就够了 http://cizixs.com/2017/04/11/kubernetes-intro-kube-dns 设置细节看这个就够了 http://blog.fleeto.us/translation/configuring-private-dns-zones-and-upstream-nameservers-kubernetes busybox你的忠实实验伴侣 命令看这里: https://kubernetes.io/docs/concepts

Kubernetes(K8s)安装部署过程(一)--证书安装

一.安装前主题环境准备 1.docker安装 建议使用官网yum源安装,添加yum源之后,直接yum install docker即可 2.关闭所有节点的selinux 最好修改配置文件为disabled,而不是临时更改,避免以后重启引起不必要的麻烦 3.安装私有仓库环境Harbor 具体安装过程参考我的博客:http://www.cnblogs.com/netsa/p/8124708.html 二.安装预览 安装过程参考https://jimmysong.io/kubernetes-handb

Kubernetes1.91(K8s)安装部署过程(八)-- kubernetes-dashboard安装

kubernets-dashboard顾名思义是操作面板安装,也就是可视化管理机器,同意我们用镜像结合配置文件部署. 1.下载镜像: docker pull registry.docker-cn.com/kubernetesdashboarddev/kubernetes-dashboard-amd64:head 如图: 2.新增部署配置文件 需要2个文件. 文件一dashboard.yaml: apiVersion: v1 kind: ServiceAccount metadata: name:

微服务架构 - 离线部署k8s平台并部署测试实例

一般在公司部署或者真实环境部署k8s平台,很有可能是内网环境,也即意味着是无法连接互联网的环境,这时就需要离线部署k8s平台.在此整理离线部署k8s的步骤,分享给大家,有什么不足之处,欢迎指正. 1.准备环境 这次离线部署k8s的版本为v1.10.1,同时docker的版本为17.12.0-ce,不过本文章不介绍如何离线部署docker,如果大家要看的话,可以看本人之前写的文章<CentOS7离线部署docker> 本人准备的环境是3台虚拟机,也即1台master节点,2个node节点,ip及