1. k8s仪表盘介绍:

    在dashboard中,虽然可以做到创建、删除、修改资源等操作,但通常情况下,我们会把它当做健康k8s集群的软件。作为Kubernetes的Web用户界面,用户可以通过Dashboard在Kubernetes集群中部署容器化的应用,对应用进行问题处理和管理,并对集群本身进行管理。通过Dashboard,用户可以查看集群中应用的运行情况,同时也能够基于Dashboard创建或修改部署、任务、服务等Kubernetes的资源。通过部署向导,用户能够对部署进行扩缩容,进行滚动更新、重启Pod和部署新应用。当然,通过Dashboard也能够查看Kubernetes资源的状态。

    在默认情况下,Dashboard显示默认(default)命名空间下的对象,也可以通过命名空间选择器选择其他的命名空间。在Dashboard用户界面中能够显示集群大部分的对象类型。
    1)集群管理
    集群管理视图用于对节点、命名空间、持久化存储卷、角色和存储类进行管理。 节点视图显示CPU和内存的使用情况,以及此节点的创建时间和运行状态。 命名空间视图会显示集群中存在哪些命名空间,以及这些命名空间的运行状态。角色视图以列表形式展示集群中存在哪些角色,这些角色的类型和所在的命名空间。 持久化存储卷以列表的方式进行展示,可以看到每一个持久化存储卷的存储总量、访问模式、使用状态等信息;管理员也能够删除和编辑持久化存储卷的YAML文件。

    2) 工作负载
    工作负载视图显示部署、副本集、有状态副本集等所有的工作负载类型。在此视图中,各种工作负载会按照各自的类型进行组织。工作负载的详细信息视图能够显示应用的详细信息和状态信息,以及对象之间的关系。

    3) 服务发现和负载均衡
    服务发现视图能够将集群内容的服务暴露给集群外的应用,集群内外的应用可以通过暴露的服务调用应用,外部的应用使用外部的端点,内部的应用使用内部端点。

    4) 存储
    存储视图显示被应用用来存储数据的持久化存储卷申明资源。

    5) 配置
    配置视图显示集群中应用运行时所使用配置信息,Kubernetes提供了配置字典(ConfigMaps)和秘密字典(Secrets),通过配置视图,能够编辑和管理配置对象,以及查看隐藏的敏感信息。

    6) 日志视图
    Pod列表和详细信息页面提供了查看日志视图的链接,通过日志视图不但能够查看Pod的日志信息,也能够查看Pod容器的日志信息。通过Dashboard能够根据向导创建和部署一个容器化的应用,当然也可以通过手工的方式输入指定应用信息,或者通过上传YAML和JSON文件来创建和不受应用。

2. 安装仪表盘:

# 下载所需要的yaml文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc5/aio/deploy/recommended.yaml

#拉取镜像
docker pull kubernetesui/dashboard:v2.0.0-rc5


# 修改yaml文件
vim recommended.yaml

# 文件内容
---
kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  type: NodePort            
  ports:
    - port: 443
      targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard


# 执行创建
kubectl apply -f recommended.yaml

# 查看仪表盘服务是否以运行
kubectl get svc -n kubernetes-dashboard

NAME                        TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)         AGE
dashboard-metrics-scraper   ClusterIP   10.106.73.119   <none>        8000/TCP        20h
kubernetes-dashboard        NodePort    10.101.13.209   <none>        443:32429/TCP   20h

此时说明仪表盘已经启动成功,对外端口是32429, 在之后访问时使用这个端口(注意:你的可能不一样)
3. 基于token的方式登陆仪表盘
# 创建一个仪表盘用户
kubectl create serviceaccount dashboard-admin -n kube-system
#绑定用户为集群管理用户
kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
# 获取Token
kubectl get secrets -n kube-system | grep dashboard-admin


dashboard-admin-token-h4v8b                      kubernetes.io/service-account-token   3      20h

# 根据Token名称获取Token内容
kubectl describe secrets -n kube-system  dashboard-admin-token-h4v8b

# 使用获取到的Token内容登陆仪表盘
访问地址:   https://ip:port
ip是仪表盘所在ip,port是之前得到的port

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐