Web 控制台
在 OpenShift Container Platform 中使用 web 控制台
摘要
第 1 章 访问Web控制台
OpenShift Container Platform Web控制台是可从Web浏览器访问的用户界面。开发人员可以使用Web控制台来直观地浏览并管理项目的内容。
先决条件
- 必须启用JavaScript才能使用Web控制台。为获得最佳体验,请使用支持WebSockets的Web浏览器。
- 在为集群创建支持基础结构之前,请参阅OpenShift Container Platform 4.x Tested Integrations页。
1.1. 了解和访问Web控制台
Web控制台作为一个pod 在主服务器(master)上运行。这个 pod 提供了运行Web控制台所需的静态环境。成功安装 OpenShift Container Platform 后,在安装程序的 CLI 输出中可以找到已安装集群的 Web 控制台的 URL 及登录凭据。例如:
INFO Install complete! INFO Run 'export KUBECONFIG=<your working directory>/auth/kubeconfig' to manage the cluster with 'oc', the OpenShift CLI. INFO The cluster is ready when 'oc login -u kubeadmin -p <provided>' succeeds (wait a few minutes). INFO Access the OpenShift web-console here: https://console-openshift-console.apps.demo1.openshift4-beta-abcorp.com INFO Login to the console with user: kubeadmin, password: <provided>
使用这些信息登录并访问Web控制台。
第 2 章 使用 OpenShift Container Platform dashboard 获取集群信息
OpenShift Container Platform 仪表板(dashboard) 包括了集群的高级别信息。在 OpenShift Container Platform web 控制台中通过 Home → Dashboards → Overview 访问它。
OpenShift Container Platform 仪表板提供各种集群信息,被分别显示在独立的仪表板卡中。
2.1. 关于 OpenShift Container Platform 仪表板页
OpenShift Container Platform 仪表板由以下各卡组成:
Details 提供有关信息型集群详情的简单概述。
状态包括 ok、error、warning、in progress 和 unknown。资源可添加自定义状态名称。
- 集群 ID
- 提供者
- 版本
Cluster Inventory 详细列出资源数目和相关状态。这在通过干预解决问题时非常有用,其中包含以下相关信息:
- 节点数
- Pod 数
- 持久性存储卷声明
- 集群中的裸机主机,根据其状态列出(只在 metal3 环境中可用)。
Cluster Capacity 图表可帮助管理员了解在什么时候集群需要额外的资源。此表包含一个内环和一个外环。内环显示当前的消耗,外环显示为资源配置的阈值,其中包括以下信息:
- CPU 时间
- 内存分配
- 所消耗的存储
- 所消耗的网络资源
- Cluster Utilization 显示在指定时间段内各种资源的能力,以帮助管理员了解高资源消耗的范围和频率。
- Events 列出了与集群中最近活动相关的消息,如创建 Pod,或者虚拟机迁移到另一台主机。
- Top Consumers 可帮助管理员了解集群资源是如何被消耗的。点一个资源可以进入一个包括详细信息的页面,它列出了对指定集群资源(CPU 、内存或者存储)消耗最多的 Pod 和节点。
第 3 章 在OpenShift Container Platform中配置Web控制台
您可以修改OpenShift Container Platform Web控制台以设置注销重定向URL,或禁用控制台。
先决条件
- 部署一个OpenShift Container Platform集群。
3.1. 配置Web控制台
您可以通过编辑console.config.openshift.io
资源来配置Web控制台设置。
编辑
console.config.openshift.io
资源:$ oc edit console.config.openshift.io cluster
以下是控制台的资源定义示例:
apiVersion: config.openshift.io/v1 kind: Console metadata: name: cluster spec: authentication: logoutRedirect: "" 1 status: consoleURL: "" 2
第 4 章 在 OpenShift Container Platform 中定制 Web 控制台
您可以对 OpenShift Container Platform web 控制台进行定制,如设置自定义徽标、产品名、链接、通知标语和命令行下载。这在您需要定制 Web 控制台以满足具体公司或政府要求时特别有用。
4.1. 添加自定义徽标和产品名称
您可以通过添加自定义徽标或自定义产品名称来创建自定义品牌。因为这些设置相互独立,因此可以两者都设置或只设置其中的一个。
先决条件
- 您必须具有管理员特权。
-
创建一个要使用的徽标文件。徽标可以是通用图像格式的文件,包括 GIF 、JPG 、PNG 或 SVG ,并有
max-height
为60px
的限制。
流程
在
openshift-config
命名空间中将您的徽标文件导入到 ConfigMap 中:$ oc create configmap console-custom-logo --from-file ~/path/to/console-custom-logo.png -n openshift-config
编辑 web 控制台的 Operator 配置使其包含
customLogoFile
和customProductName
:$ oc apply -f <file>
apiVersion: operator.openshift.io/v1 kind: Console metadata: name: cluster spec: customization: customProductName: My Console customLogoFile: name: console-custom-logo key: console-custom-logo.png
更新 Operator 配置后,它将会把自定义的 logo ConfigMap 同步到控制台命名空间中,并将其挂载到 console pod 并重新部署。
检查操作是否成功。如果有任何问题,控制台的 cluster operator 将会报告
Degraded
,控制台 Operator 配置也会报告CustomLogoDegraded
,但显示的原因会是KeyOrFilenameInvalid
或NoImageProvided
。运行以下命令检查
clusteroperator
:$ oc get clusteroperator console -o yaml
运行以下命令检查 console Operator 配置:
$ oc get console.operator.openshift.io -o yaml
4.2. 在 Web 控制台中创建自定义链接
先决条件
- 您必须具有管理员特权。
流程
- 在 Administration → Custom Resource Definitions 中点 ConsoleLink。
点 YAML 并编辑该文件:
apiVersion: console.openshift.io/v1 kind: ConsoleLink metadata: name: example spec: href: 'https://www.example.com' location: HelpMenu 1 text: Link 1
- 1
- 有效的位置设置为
HelpMenu
、UserMenu
、ApplicationMenu
和NamespaceDashboard
。
要使自定义链接出现在所有命名空间中,请按照以下示例操作:
apiVersion: console.openshift.io/v1 kind: ConsoleLink metadata: name: namespaced-dashboard-link-for-all-namespaces spec: href: 'https://www.example.com' location: NamespaceDashboard text: This appears in all namespaces
要使自定义链接只出现在某些命名空间中,请按照以下示例操作:
apiVersion: console.openshift.io/v1 kind: ConsoleLink metadata: name: namespaced-dashboard-for-some-namespaces spec: href: 'https://www.example.com' location: NamespaceDashboard # This text will appear in a box called "Laucher" under "namespace" or "project" in the web console text: Custom Link Text namespaceDashboard: namespaces: # for these specific namespaces - my-namespace - your-namespace - other-namespace
要使自定义链接出现在应用程序菜单中,请按照以下示例操作:
apiVersion: console.openshift.io/v1 kind: ConsoleLink metadata: name: application-menu-link-1 spec: href: 'https://www.example.com' location: ApplicationMenu text: Link 1 applicationMenu: section: My New Section # image that is 24x24 in size imageURL: https://via.placeholder.com/24
- 点 Save 按钮应用所做的改变。
4.3. 为外部日志链接定义模板
如果您连接到可帮助您浏览日志的服务,但需要以特定的方式生成 URL,则可以为链接定义一个模板。
先决条件
- 您必须具有管理员特权。
流程
- 在 Administration → Custom Resource Definitions 中点 ConsoleExternalLogLink。
点 YAML 并编辑该文件:
apiVersion: console.openshift.io/v1 kind: ConsoleExternalLogLink metadata: name: example spec: hrefTemplate: >- https://example.com/logs?resourceName=${resourceName}&containerName=${containerName}&resourceNamespace=${resourceNamespace}&podLabels=${podLabels} text: Example Logs
4.4. 创建自定义通知标语
先决条件
- 您必须具有管理员特权。
流程
- 在 Administration → Custom Resource Definitions 中点 ConsoleNotification。
点 YAML 并编辑该文件:
apiVersion: console.openshift.io/v1 kind: ConsoleNotification metadata: name: example spec: backgroundColor: '#0088ce' color: '#fff' link: href: 'https://www.example.com' text: Optional link text location: BannerTop 1 text: This is an example notification message with an optional link.
- 1
- 有效的位置设置为
BannerTop
、BannerBottom
和BannerTopBottom
。
- 点 Save 按钮应用所做的改变。
4.5. 自定义 CLI 下载
您可以使用自定义链接文本和 URL 来配置用于下载 CLI 的链接。它们可以直接指向软件包的文件或提供软件包的外部页面。
先决条件
- 您必须具有管理员特权。
流程
- 进入 Administration → Custom Resource Definitions。
- 从 Custom Resource Definitions (CRDs) 列表中选 ConsoleCLIDownload 。
点 YAML 标签页,然后进行编辑:
apiVersion: console.openshift.io/v1 kind: ConsoleCLIDownload metadata: name: example-cli-download-links-for-foo spec: description: | This is an example of download links for foo displayName: example-foo links: - href: 'https://www.example.com/public/foo.tar' text: foo for linux - href: 'https://www.example.com/public/foo.mac.zip' text: foo for mac - href: 'https://www.example.com/public/foo.win.zip' text: foo for windows
- 点 Save 按钮。
4.6. 在 Kubernetes 资源中添加 YAML 示例
您可以随时动态地将 YAML 示例添加到任何 Kubernetes 资源中。
先决条件
- 您必须具有集群管理员特权。
流程
- 在 Administration → Custom Resource Definitions 中点 ConsoleYAMLSample。
点 YAML 并编辑该文件:
apiVersion: console.openshift.io/v1 kind: ConsoleYAMLSample metadata: name: example spec: targetResource: apiVersion: batch/v1 kind: Job title: Example Job description: An example Job YAML sample yaml: | apiVersion: batch/v1 kind: Job metadata: name: countdown spec: template: metadata: name: countdown spec: containers: - name: counter image: centos:7 command: - "bin/bash" - "-c" - "for i in 9 8 7 6 5 4 3 2 1 ; do echo $i ; done" restartPolicy: Never
使用
spec.snippet
表示 YAML 样本不是完整的 YAML 资源定义,而是可在用户光标处的现有 YAML 文档中插入的片段。- 点 Save。
第 5 章 关于 web 控制台中的开发者视角
OpenShift Container Platform web 控制台提供两种视角: Administrator 视角和 Developer 视角。
Developer 视角提供开发人员用例特有的工作流,比如:
- 通过导入现有代码基、镜像和 dockerfile 在 OpenShift Container Platform 中创建和部署应用程序。
- 在一个项目中,以可视的形式和与其关联的应用程序、组件和服务进行交互,并监控它们的部署和构建状态。
- 在应用程序中对组件进行分组,并在应用程序内部及跨应用程序间连接组件。
- 集成无服务器功能(技术预览)。
- 使用 Eclipse Che 创建开发平台来编辑应用程序代码。
先决条件
要访问 Developer 视角,需要已登陆到 web 控制台。
5.1. 访问 Developer 视角
OpenShift Container Platform web 控制台中的 Developer 视角提供了针对于开发人员用例的工作流。
您可以使用以下方法来访问 Developer 视角:
流程
- 使用您的登录凭证登录到 OpenShift Container Platform web 控制台。OpenShift Container Platform Web 控制台的默认视图是 Administrator 视角。
使用视角切换功能把它切换到 Developer 视角。带有创建应用程序选项的 Topology 视图会被显示。
第 6 章 在OpenShift Container Platform中禁用Web控制台
您可以禁用OpenShift Container Platform Web控制台。
先决条件
- 部署一个OpenShift Container Platform集群。
6.1. 禁用Web控制台
您可以通过编辑console.operator.openshift.io
资源来禁用Web控制台。
编辑
console.operator.openshift.io
资源:$ oc edit console.operator.openshift.io cluster
以下示例显示了资源中可以修改的参数:
apiVersion: config.openshift.io/v1 kind: Console metadata: name: cluster spec: managementState: Removed 1
- 1
- 将
managementState
参数值设置为Removed
以禁用Web控制台。此参数的其他有效值是Managed
(启用由集群控制的控制台),Unmanaged
(启用由用户控制管理的Web控制台)。
Legal Notice
Copyright © 2024 Red Hat, Inc.
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.