• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Kubernetes-DashBoard用户界面

k8s 搞java代码 3年前 (2022-05-13) 22次浏览 已收录 0个评论
文章目录[隐藏]

1部署Dashboard用户界面

作为Kubernetes的Web用户界面,用户可以通过Dashboard在Kubernetes集群中部署容器化的应用,对应用进行问题处理和管理,并对集群本身进行管理。通过Dashboard,用户可以查看集群中应用的运行情况,同时也能够基于Dashboard创建或修改部署、任务、服务等Kubernetes的资源。通过部署向导,用户能够对部署进行扩缩容,进行滚动更新、重启Pod和部署新应用。当然,通过Dashboard也能够查看Kubernetes资源的状态。下面是部署Dashboard的过程:

1)下载kubernetes-dashboard.yaml文件

通过:https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml 地址,能够下载下载kubernetes-dashboard.yaml文件。

2)编辑kubernetes-dashboard.yaml文件

通过编辑工具打开kubernetes-dashboard.yaml,并在此文件中的Service部分下添加type: NodePort和nodePort: 30001,添加位置如下图所示。

3)通过执行如下的命令部署Web UI

<span class="com"># kubectl create -f  {path}/kubernetes-dashboard.yaml</span>

www#gaodaima.com来源gao@!dai!ma.com搞$$代^@码!网搞代码

2、访问Dashboard用户界面

在Dashboard部署完成后,就可以服务

1)在浏览器中输入:https://{Master IP}:30001,此处为:https://10.0.32.175:3001,打开页面如下:

2)创建一个管理员用户

创建amind-user.yaml文件,文件内容如下:

<em><span class="pln">apiVersion</span><span class="pun">:</span><span class="pln"> v1</span></em>
<em><span class="pln">kind</span><span class="pun">:</span> <span class="typ">ServiceAccount</span></em>
<em><span class="pln">metadata</span><span class="pun">:</span></em>
<em><span class="pln">  name</span><span class="pun">:</span><span class="pln"> admin</span><span class="pun">-</span><span class="pln">user</span></em>
<em><span class="pln">  </span><span class="kwd">namespace</span><span class="pun">:</span><span class="pln"> kube</span><span class="pun">-</span><span class="pln">system</span></em>

<em><span class="pun">---</span></em>

<em><span class="pln">apiVersion</span><span class="pun">:</span><span class="pln"> rbac</span><span class="pun">.</span><span class="pln">authorization</span><span class="pun">.</span><span class="pln">k8s</span><span class="pun">.</span><span class="pln">io</span><span class="pun">/</span><span class="pln">v1beta1</span></em><em><span class="pln">kind</span><span class="pun">:</span> <span class="typ">ClusterRoleBinding</span><span class="pln"> </span></em>
<em><span class="pln">metadata</span><span class="pun">:</span><span class="pln"> </span></em>
<em><span class="pln">  name</span><span class="pun">:</span><span class="pln"> admin</span><span class="pun">-</span><span class="pln">user</span></em>
<em><span class="pln">  annotations</span><span class="pun">:</span></em>
<em><span class="pln">    rbac</span><span class="pun">.</span><span class="pln">authorization</span><span class="pun">.</span><span class="pln">kubernetes</span><span class="pun">.</span><span class="pln">io</span><span class="pun">/</span><span class="pln">autoupdate</span><span class="pun">:</span> <span class="str">"true"</span></em>
<em><span class="pln">roleRef</span><span class="pun">:</span></em>
<em><span class="pln">  apiGroup</span><span class="pun">:</span><span class="pln"> rbac</span><span class="pun">.</span><span class="pln">authorization</span><span class="pun">.</span><span class="pln">k8s</span><span class="pun">.</span><span class="pln">io</span></em>
<em><span class="pln">  kind</span><span class="pun">:</span> <span class="typ">ClusterRole</span></em>
<em><span class="pln">  name</span><span class="pun">:</span><span class="pln"> cluster</span><span class="pun">-</span><span class="pln">admin</span></em>
<em><span class="pln">subjects</span><span class="pun">:</span></em>
<em><span class="pun">-</span><span class="pln"> kind</span><span class="pun">:</span> <span class="typ">ServiceAccount</span></em>
<em><span class="pln">  name</span><span class="pun">:</span><span class="pln"> admin</span><span class="pun">-</span><span class="pln">user</span></em>
<em><span class="pln">  </span><span class="kwd">namespace</span><span class="pun">:</span><span class="pln"> kube</span><span class="pun">-</span><span class="pln">system</span></em>

通过执行如下命令创建admin-user:

<span class="com">#kubectl create -f {path}/admin-user.yaml</span>

3)获取管理员用户的Token

通过执行如下命令获取系统Token信息:

<span class="com">#kubectl describe  secret admin-user --namespace=kube-system</span>

4)添加Tokenkubeconfig文件

通过编辑工具打开kubeconfig文件(~/.kube/config),并添加Token。

5)导入kubeconfig文件

在界面中导入kubeconfig文件。

3、使用Dashboard

3.1 Dashboard提供的功能

在默认情况下,Dashboard显示默认(default)命名空间下的对象,也可以通过命名空间选择器选择其他的命名空间。在Dashboard用户界面中能够显示集群大部分的对象类型。

1)集群管理

集群管理视图用于对节点、命名空间、持久化存储卷、角色和存储类进行管理。 节点视图显示CPU和内存的使用情况,以及此节点的创建时间和运行状态。 命名空间视图会显示集群中存在哪些命名空间,以及这些命名空间的运行状态。角色视图以列表形式展示集群中存在哪些角色,这些角色的类型和所在的命名空间。 持久化存储卷以列表的方式进行展示,可以看到每一个持久化存储卷的存储总量、访问模式、使用状态等信息;管理员也能够删除和编辑持久化存储卷的YAML文件。

2) 工作负载

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

3) 服务发现和负载均衡

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

4) 存储

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

5) 配置

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

6) 日志视图

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

3.2 部署应用

1)手动创建应用

通过向导创建和部署容器化应用时,需要提供如下的一些信息:

  • 应用名称(App name 必需): 需要部署的应用的名称。带有此值的标签将会被添加至部署和服务中。在当前的Kubernetes命名空间中,应用名称必须是唯一的。同时,应用名称必须以小写字母开头,以小写字母和数字结尾,可以包含字母、数字和“-”。名称最长为24个字母。
  • 容器组个数(Number of pods 必需): 希望部署的容器组数量。值必须为整数。
  • 描述(Description): 对于应用的描述,将被添加至部署的注释中,并在应用详细信息中显示。
  • 标签(Labels): 应用的默认标签为应用的名称和版本。可以指定其它的标签,这些标签将会被应用至部署、服务、容器组等资源中
  • 命名空间(Namespace):在同一个物理集群中,Kubernetes支持多个虚拟集群。这些虚拟集群被称为命名空间,通过命名空间可以将资源进行逻辑上的划分。通过下列菜单可以选择已有的命名空间,当然也可以创建新的命名空间。命名空间的名称最大的字符数为63,名词可以使用字母、数字“-”,不能包含大写字母,同时也不能全部使用数字。
  • 镜像拉取保密字典(Image Pull Secret): 如果Docker容器镜像是私有的,则有可能需要保密证书。Dashboard通过下拉菜单提供了所有的可用的保密凭证,也允许创建新的保密字典。保密字典名称必须遵循DNS域名语法,例如:new.image-pull.secret。保密字典的内容必须使用基于base64进行加密的,并在.dockercfg文件中进行指定。保密字典名称最长不能超过253个字符。
  • 环境变量(Environment variables): Kubernetes通过环境变量暴露服务, 可以创建环境变量或者使用环境变量的值将参数传递给命令。环境变量能够被应用用来发现服务,环境变量的值可以通过¥(VAR_NAME)语法被其它变量引用。

2)上传YAML或JSON文件创建应用

通过编译工具编写容器化应用的YAML和JSON文件,在Dashboard用户界面中通过上传文件创建和部署应用。

 

参考材料

  1. 《Web UI (Dashboard)》地址:https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/

作者简介:
季向远,北京神舟航天软件技术有限公司产品经理。本文版权归原作者所有。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Kubernetes-DashBoard用户界面

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址