Questo contenuto non è disponibile nella lingua selezionata.
Chapter 6. Customizing the web console in OpenShift Container Platform
You can customize the OpenShift Container Platform web console to set a custom logo, product name, links, notifications, and command line downloads. This is especially helpful if you need to tailor the web console to meet specific corporate or government requirements.
6.1. Adding a custom logo and product name Copia collegamentoCollegamento copiato negli appunti!
You can create custom branding by adding a custom logo or custom product name. You can set both or one without the other, as these settings are independent of each other.
Prerequisites
- You must have administrator privileges.
-
Create a file of the logo that you want to use. The logo can be a file in any common image format, including GIF, JPG, PNG, or SVG, and is constrained to a of
max-height.60px
Procedure
Import your logo file into a config map in the
namespace:openshift-config$ oc create configmap console-custom-logo --from-file /path/to/console-custom-logo.png -n openshift-configTipYou can alternatively apply the following YAML to create the config map:
apiVersion: v1 kind: ConfigMap metadata: name: console-custom-logo namespace: openshift-config binaryData: console-custom-logo.png: <base64-encoded_logo> ...1 - 1
- Provide a valid base64-encoded logo.
Edit the web console’s Operator configuration to include
andcustomLogoFile:customProductName$ oc edit consoles.operator.openshift.io clusterapiVersion: operator.openshift.io/v1 kind: Console metadata: name: cluster spec: customization: customLogoFile: key: console-custom-logo.png name: console-custom-logo customProductName: My ConsoleOnce the Operator configuration is updated, it will sync the custom logo config map into the console namespace, mount it to the console pod, and redeploy.
Check for success. If there are any issues, the console cluster Operator will report a
status, and the console Operator configuration will also report aDegradedstatus, but with reasons likeCustomLogoDegradedorKeyOrFilenameInvalid.NoImageProvidedTo check the
, run:clusteroperator$ oc get clusteroperator console -o yamlTo check the console Operator configuration, run:
$ oc get consoles.operator.openshift.io -o yaml
6.2. Creating custom links in the web console Copia collegamentoCollegamento copiato negli appunti!
Prerequisites
- You must have administrator privileges.
Procedure
-
From Administration
Custom Resource Definitions, click on ConsoleLink. - Select Instances tab
Click Create Console Link and edit the file:
apiVersion: console.openshift.io/v1 kind: ConsoleLink metadata: name: example spec: href: 'https://www.example.com' location: HelpMenu1 text: Link 1- 1
- Valid location settings are
HelpMenu,UserMenu,ApplicationMenu, andNamespaceDashboard.
To make the custom link appear in all namespaces, follow this example:
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 namespacesTo make the custom link appear in only some namespaces, follow this example:
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 "Launcher" under "namespace" or "project" in the web console text: Custom Link Text namespaceDashboard: namespaces: # for these specific namespaces - my-namespace - your-namespace - other-namespaceTo make the custom link appear in the application menu, follow this example:
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- Click Save to apply your changes.
6.3. Customizing console routes Copia collegamentoCollegamento copiato negli appunti!
For
console
downloads
ingress
console
ingress
console-operator
ingress
console-operator
6.3.1. Customizing the console route Copia collegamentoCollegamento copiato negli appunti!
You can customize the console route by setting the custom hostname and TLS certificate in the
spec.componentRoutes
Ingress
Prerequisites
- You have logged in to the cluster as a user with administrative privileges.
You have created a secret in the
namespace containing the TLS certificate and key. This is required if the domain for the custom hostname suffix does not match the cluster domain suffix. The secret is optional if the suffix matches.openshift-configTipYou can create a TLS secret by using the
command.oc create secret tls
Procedure
Edit the cluster
configuration:Ingress$ oc edit ingress.config.openshift.io clusterSet the custom hostname and optionally the serving certificate and key:
apiVersion: config.openshift.io/v1 kind: Ingress metadata: name: cluster spec: componentRoutes: - name: console namespace: openshift-console hostname: <custom_hostname>1 servingCertKeyPairSecret: name: <secret_name>2 - Save the file to apply the changes.
6.3.2. Customizing the download route Copia collegamentoCollegamento copiato negli appunti!
You can customize the download route by setting the custom hostname and TLS certificate in the
spec.componentRoutes
Ingress
Prerequisites
- You have logged in to the cluster as a user with administrative privileges.
You have created a secret in the
namespace containing the TLS certificate and key. This is required if the domain for the custom hostname suffix does not match the cluster domain suffix. The secret is optional if the suffix matches.openshift-configTipYou can create a TLS secret by using the
command.oc create secret tls
Procedure
Edit the cluster
configuration:Ingress$ oc edit ingress.config.openshift.io clusterSet the custom hostname and optionally the serving certificate and key:
apiVersion: config.openshift.io/v1 kind: Ingress metadata: name: cluster spec: componentRoutes: - name: downloads namespace: openshift-console hostname: <custom_hostname>1 servingCertKeyPairSecret: name: <secret_name>2 - Save the file to apply the changes.
6.4. Customizing the login page Copia collegamentoCollegamento copiato negli appunti!
Create Terms of Service information with custom login pages. Custom login pages can also be helpful if you use a third-party login provider, such as GitHub or Google, to show users a branded page that they trust and expect before being redirected to the authentication provider. You can also render custom error pages during the authentication process.
Customizing the error template is limited to identity providers (IDPs) that use redirects, such as request header and OIDC-based IDPs. It does not have an effect on IDPs that use direct password authentication, such as LDAP and htpasswd.
Prerequisites
- You must have administrator privileges.
Procedure
Run the following commands to create templates you can modify:
$ oc adm create-login-template > login.html$ oc adm create-provider-selection-template > providers.html$ oc adm create-error-template > errors.htmlCreate the secrets:
$ oc create secret generic login-template --from-file=login.html -n openshift-config$ oc create secret generic providers-template --from-file=providers.html -n openshift-config$ oc create secret generic error-template --from-file=errors.html -n openshift-configRun:
$ oc edit oauths clusterUpdate the specification:
apiVersion: config.openshift.io/v1 kind: OAuth metadata: name: cluster # ... spec: templates: error: name: error-template login: name: login-template providerSelection: name: providers-templateRun
to understand the options.oc explain oauths.spec.templates
6.5. Defining a template for an external log link Copia collegamentoCollegamento copiato negli appunti!
If you are connected to a service that helps you browse your logs, but you need to generate URLs in a particular way, then you can define a template for your link.
Prerequisites
- You must have administrator privileges.
Procedure
-
From Administration
Custom Resource Definitions, click on ConsoleExternalLogLink. - Select Instances tab
Click Create Console External Log Link and edit the file:
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
6.6. Creating custom notification banners Copia collegamentoCollegamento copiato negli appunti!
Prerequisites
- You must have administrator privileges.
Procedure
-
From Administration
Custom Resource Definitions, click on ConsoleNotification. - Select Instances tab
Click Create Console Notification and edit the file:
apiVersion: console.openshift.io/v1 kind: ConsoleNotification metadata: name: example spec: text: This is an example notification message with an optional link. location: BannerTop1 link: href: 'https://www.example.com' text: Optional link text color: '#fff' backgroundColor: '#0088ce'- 1
- Valid location settings are
BannerTop,BannerBottom, andBannerTopBottom.
- Click Create to apply your changes.
6.7. Customizing CLI downloads Copia collegamentoCollegamento copiato negli appunti!
You can configure links for downloading the CLI with custom link text and URLs, which can point directly to file packages or to an external page that provides the packages.
Prerequisites
- You must have administrator privileges.
Procedure
-
Navigate to Administration
Custom Resource Definitions. - Select ConsoleCLIDownload from the list of Custom Resource Definitions (CRDs).
Click the YAML tab, and then make your edits:
apiVersion: console.openshift.io/v1 kind: ConsoleCLIDownload metadata: name: example-cli-download-links spec: description: | This is an example of download links displayName: example links: - href: 'https://www.example.com/public/example.tar' text: example for linux - href: 'https://www.example.com/public/example.mac.zip' text: example for mac - href: 'https://www.example.com/public/example.win.zip' text: example for windows- Click the Save button.
6.8. Adding YAML examples to Kubernetes resources Copia collegamentoCollegamento copiato negli appunti!
You can dynamically add YAML examples to any Kubernetes resources at any time.
Prerequisites
- You must have cluster administrator privileges.
Procedure
-
From Administration
Custom Resource Definitions, click on ConsoleYAMLSample. Click YAML and edit the file:
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: NeverUse
to indicate that the YAML sample is not the full YAML resource definition, but a fragment that can be inserted into the existing YAML document at the user’s cursor.spec.snippet- Click Save.