Online help restructure

The decision to make an internal document publicly-visible presented me with an opportunity to restructure it for clarity, navigability, and SEO.

Impact summary

MetricBeforeAfterChange
Total topics491 files241 filesReduced by 50%
Topic depth6 levels3 levelsFlattened by 50%
Troubleshooting1425660% of topics identified as obsolete
Installation4 discrete user journeys1 unified journeySignificant simplification

Methodology

  • Content audit: I cataloged the existing 491 topics to identify structural redundancies, such as empty landing pages, duplicates, and pages that could be combined. I was able to reduce the navigation depth from 6 levels to 3 to improve SEO and discoverability.
  • User journey consolidation: I unified four fragmented installation sections into a single linear narrative that covered all installation scenarios.
  • SME validation: I conducted workshops with subject matter experts to review all troubleshooting topics for references to resolved issues or obsolete software versions.
  • User-centric writing: I restructured the installation section to address feedback that users had a wide range of levels of experience with Kubernetes. I created a high-level flow for experts that was supported by reference topics with detailed steps for relative beginners. A sample of this is included in the Writing section: see Install OMT.

Structural comparison

Below is the complete file structure comparison.

Before (491 pages)

  • Release notes
    • Enhancements
    • Fixed issues
    • Known issues
    • Deprecations and obsolescence
  • Get started
    • Supported deployment models
    • Glossary
    • FAQs
    • User roles
    • Supported Configurations
    • CDF Delivery and Deployment FAQ
    • Enterprise readiness whitepaper
      • ITOM Suites
      • Container Deployment Foundation (CDF)
      • Deployment models
      • Networking
      • Security
      • Storage
      • High availability (HA)
      • Updates
      • Databases
      • Backup/restore and disaster recovery
      • Multi-tenancy
      • Elasticity
      • Monitoring
      • Licensing
      • Supportability
  • Install
    • Classic installation (Classic, standard, on-prem)
      • Plan (Classic, standard, on-prem)
        • System requirements (on-premises)
        • Check the file system requirements
      • Prepare (Classic, standard, on-prem)
        • Activate your Docker Hub account (on-premises)
        • Configure external databases
        • Configure load balancers (Classic, standard, on-prem)
        • Configure SUDO access
        • Set up SELinux
        • Download the required installation packages (on-premises)
        • Perform preliminary checks
        • Update some system configurations
          • Ensure localhost resolves to 127.0.0.1
          • Set the system parameters
          • Disable swap space
          • Install the prerequisite packages
        • Synchronize time (Classic, standard, on-prem)
        • Check the default gateway settings
        • Check the network settings
        • Check the host names and set up host name resolutions
        • Start to download the suite images (on-premises)
        • Configure the install.properties file
        • Configure a storage driver
        • Check the SSH configurations
        • Export logs to a remote destination
        • Configure NFS volumes
      • Deploy (Classic, standard, on-prem)
        • Upload images to an external registry
        • Install ITOM Container Deployment Foundation (on-premises)
        • Select the deployment configuration (on-premises)
        • Download the container images (on-premises)
        • Prepare the control plane and worker nodes (Classic, standard, on-prem)
        • Deploy the suite (Classic, standard, on-prem)
        • Silent installation (on-premises)
        • Deploy cluster nodes without SSH access
      • Uninstall (on-premises)
    • Classic installation (managed K8s, cloud)
      • System Requirements (Classic, managed K8s, cloud)
      • Prepare (Classic, managed K8s, cloud)
        • Activate your Docker Hub account (Classic, managed K8s, cloud)
        • Prepare external databases (Classic, managed K8s, cloud)
        • Configure OpenShift (Classic BYOK)
        • Download the required installation packages (Classic, managed K8s, cloud)
        • Create the CDF and suite namespaces (Classic managed K8S)
        • Configure NFS volumes (Classic BYOK)
        • Create a new Security Context Constraint
      • Deploy (Classic, managed K8s, cloud)
        • Install ITOM Container Deployment Foundation (Classic, managed K8s)
        • Create an OpenShift route for port 3000
        • Create OpenShift routes for ports 5443 and 443
        • Silent installation (Classic, managed K8s)
        • Install CDF Alias (Classic installation, managed K8s, cloud)
      • Uninstall CDF and the suite (Classic, managed K8s, cloud)
    • Helm installation (standard, on-prem)
      • Plan (Helm, standard, on-prem)
        • System requirements
        • Check the file system requirements
      • Prepare (Helm, standard, on-prem)
        • Activate your Docker Hub account (Helm, standard, on-prem)
        • Configure load balancers (Helm, standard, on-prem)
        • Configure sudo access (Helm)
        • Set up SELinux (Helm, standard, on-prem)
        • Download the required installation packages (Helm)
        • Perform preliminary check (Helm)
        • Update some system configurations (Helm)
          • Ensure localhost is resolved to 127.0.0.1 (Helm)
          • Set the system parameters (Helm)
          • Disable swap space (Helm)
          • Install the prerequisite packages (Helm)
        • Synchronize time (Helm)
        • Check the default gateway settings (Helm)
        • Check the network settings (Helm)
        • Check the host name and set up host name resolutions
        • Configure the install.properties file(Helm)
        • Configure a storage driver (Helm)
        • Check the SSH configurations (Helm, standard, on-prem)
        • Export logs to a remote destination (Helm, standard, on-prem)
        • Configure NFS volumes (Helm)
        • Create and configure a config.json file (Helm)
      • Deploy (Helm, standard, on-prem)
        • Install CDF (Helm)
        • Download the required installation images (Helm)
        • Upload the images to local registry
        • Install an ITOM application (Helm, standard, on-prem)
        • Add additional worker nodes (Helm, standard, on-prem)
      • Uninstall (Helm)
    • Helm installation (managed K8s, cloud)
      • System Requirements (Helm, managed K8s, cloud)
      • Prepare (Helm, managed K8s, cloud)
        • Activate your Docker Hub account
        • Download the required installation images (Helm BYOK)
        • Create and configure a config.json file (Helm, managed K8s, cloud)
      • Deploy (Helm, managed K8s, cloud)
        • Install ITOM Container Deployment Foundation (Helm, managed K8s, cloud)
        • Install an ITOM application (Helm-based managed Kubernetes)
      • Uninstall (Helm, managed K8s, cloud)
    • AppHub installation (standard, on-prem)
      • Plan the deployment (AppHub, standard, on-prem)
        • System requirements (AppHub, standard, on-prem)
        • Check the file system requirements (AppHub)
      • Prepare (AppHub, standard, on-prem)
        • Activate your Docker Hub account (AppHub, standard, on-prem)
        • Configure an external default-db database (AppHub, standard, on-prem)
        • Configure load balancers (AppHub, standard, on-prem)
        • Configure SUDO access (AppHub, standard, on-prem)
        • Set up SELinux (AppHub, standard, on-prem)
        • Download the required installation package (AppHub)
        • Perform preliminary check (AppHub)
        • Update some system configurations (AppHub, standard, on-prem)
          • Ensure localhost is resolved to 127.0.0.1 (AppHub)
          • Set the system parameters (AppHub)
          • Disable swap space (AppHub)
          • Install the prerequisite packages (AppHub)
        • Synchronize time (AppHub, standard, on-prem)
        • Check the default route for the localhost and default gateway settings (AppHub, standard, on-prem)
        • Check the network settings (AppHub)
        • Check the host name and set up host name resolutions (AppHub, standard, on-prem)
        • Configure the install.properties file (AppHub)
        • Configure a storage driver (AppHub)
        • Check the SSH configurations (AppHub, standard, on-prem)
        • Export logs to a remote destination (AppHub, standard, on-prem)
        • Configure NFS volumes (AppHub)
        • Create and configure a config.json file (AppHub)
      • Deploy (AppHub, standard, on-prem)
        • Install CDF (AppHub)
        • Upload a Helm chart file (AppHub)
        • Download the required installation images (AppHub)
        • Upload the images to local registry (AppHub)
        • Create custom certificates
      • Uninstall (AppHub, standard, on-prem)
    • AppHub Installation (managed K8s)
      • Plan
        • System Requirements
      • Prepare
        • Activate your Docker Hub account
        • Prepare External Databases
        • Download Installation Packages
        • Set up persistent storage
        • Create and configure a config.json file
        • Create custom certificates
        • Upload CDF images to an external registry
      • Deploy
        • Install CDF
        • Upload Helm charts
        • Download required installation images
        • Upload images to the local registry
      • Uninstall
    • OPTIC AppHub
      • About OPTIC AppHub
      • Getting Started
      • Logging In to OPTIC AppHub
      • OPTIC AppHub Applications
        • Configuring an Application
          • Configuring General Settings
            • Configuring Advanced Settings
          • Configuring Services
          • Configuring Security Settings
          • Configuring Integrations
        • Deploying an Application
        • Saving a Draft
        • Exporting an Application
        • Missing Images
        • Signature Validation
      • OPTIC AppHub Deployments
        • Viewing a Deployment
        • Editing a Deployment
        • Upgrading a Deployment
        • Rolling Back a Deployment
        • Onboarding a Deployment
        • Troubleshooting Deployments
        • Deleting a Deployment
        • Editing the values.YAML File
  • Upgrade
    • Upgrade (standard distribution)
      • Plan an on-premises upgrade
        • Select an upgrade point (Standard distribution)
        • Required disk space and available memory
        • Free up disk space
        • Upgrade system requirements
      • Prepare (Standard distribution)
        • Add additional worker nodes if required
        • Check that the hostname has not changed
        • Back up data
        • Download, unzip, and verify the upgrade package (single hop upgrades only)
        • Download, unzip, and verify the upgrade package (single and multihop upgrades)
        • Upload the images if you use an external registry
        • Configure sudo access (standard distribution)
        • Configure SSH connections (Standard distribution)
        • Make sure that all control plane and worker nodes are running
      • Upgrade CDF (Standard distribution; single hop upgrades only)
      • Upgrade CDF (Standard distribution; single and multihop upgrades)
      • Verify
      • ITOM_Container_Deployment_Foundation:2021.11/PostUpgrade
        • Disable JNDI Lookup in CDF namespace
        • Reapply your Alertmanager rules
        • Clear the browser cache (Standard distribution)
    • Upgrade (managed K8S)
  • Administer
    • Monitoring
      • Access the Grafana homepage
      • Grafana dashboards
      • Map a pod IP address in the Grafana dashboard with the real host IP address
      • Configure the number of Prometheus and Alertmanager replicas
      • Configure resource requests and limits of the monitoring capability
      • Configure the log retention period of the monitoring capability
      • Configure the collection interval of the ITOM Monitoring Pack
      • Expose Prometheus
    • Add, remove, and reconfigure CDF capabilities
      • Enable the cluster management and deployment management capabilities
      • Enable the log collection capability
      • Enable the monitoring capability
      • Disable a capability
    • Set the security context
    • Remove the License menu item from the CDF Management Portal
    • Configure application proxies after you install CDF
    • Enabling Highly Availability (HA) of the cluster after CDF installation
    • Use cdfctl to management CDF and the deployment
    • Install CDF alias for non root users
    • Access Kubernetes API server with a bearer token
    • Add or remove nodes from a cluster on the Management portal
    • Add or remove nodes from a cluster via CLI commands (Classic, Helm)
    • Manage node labels
    • Manage node labels (Helm)
    • Change CDF cluster runlevel
    • Enable CDF capabilities Tools on a new bastion node
    • Change the external access host name of the CDF cluster
    • Update the DNS entries
    • Rebind a PV and a PVC
    • Update the operating system
    • Update the operating system (Helm)
    • Administer IdM
      • Use an organization as a template to create a new organization in IdM
      • Manage users
      • Manage groups
      • Manage roles
      • Manage OpenID Connect
      • Back up and restore IdM
      • Create and configure authentication groups
      • Add a database user and give permissions
      • Customize password policy
      • Customize the Management Portal login page
      • Log in to the Management Portal with different attributes
      • Manage hierarchical organizations in CDF
      • Manage authentication
        • Use reference authentication to log in to the Management Portal
        • Use a certificate to log in to the Management Portal
        • Use SAML credentials to log in to the Management Portal
        • Use OAuth 2 authentication to log in to the Management Portal
          • Set up OAuth 2.0 authentication with a Google IdP
          • Set up OAuth 2.0 authentication with an Azure IdP
          • Set up OAuth 2.0 authentication with a Keycloak IdP
        • Set up RADIUS authentication
        • Set up LDAP authentication
      • Configure a SAML IDP server
        • Use a Microsoft ADFS as an IDP server for CDF IdM
        • Use Azure as SAML IDP for CDF IdM
      • Renew IdM SAML SSO certificate (Helm)
      • Renew IdM SAML SSO certificate
      • Add a proxy to access an external IdP
    • Manage suite metadata
    • Modify the configuration information of external databases
    • Restart CDF
    • Restart CDF components in a managed Kubernetes environment
    • Security
      • Authorization
      • Data integrity
      • Enable a firewall on a node (Helm)
      • Enable a firewall on a node
      • Manage CDF certificates (Helm)
      • Manage CDF certificates
      • Encryption
      • Enable the Pod Security Policy
      • Installation security recommendations
    • Restart a single cluster node
    • CDF backup, restore and disaster recovery
      • Restore a Helm-based deployment of CDF
      • Back up an on-premises deployment of CDF
      • Back up CDF (managed Kubernetes distribution)
      • Back up a Helm-based deployment of CDF
      • Restore an on-premises deployment of CDF
      • Restore a managed Kubernetes deployment of CDF
      • Disaster recovery of an on-premise deployment of CDF
    • Update the persistent volumes (PVs) to use new storage locations
    • Change system UID and GID after installation
    • Change the password of the local registry admin user
    • Delete unwanted images from the local registry
    • Change the POD_CIDR parameter value after CDF installation
    • Change the SERVICE_CIDR parameter value after CDF installation
    • Reset the IdM portal login password (Helm)
    • Reset CDF Management Portal password
    • List CDF deployments
    • Run a precheck on an external database
    • Change the HA virtual IP address after CDF installation
  • Use
    • Access CDF
    • View existing images
    • List of CDF scripts
    • Manage cluster
    • Manage deployments
    • Manage namespaces
    • Manage replica sets
    • Manage replication controllers
    • Manage stateful sets
    • Manage daemon sets
    • View jobs
    • Pods in CDF
    • Manage pods
    • View Services
    • View Ingresses
    • View Persistent Volume Claims
    • View Secrets
    • View ConfigMaps
    • Manage High Availability (HA) in a cluster with multiple control plane nodes
    • View help
    • View available suite updates
    • Manage CDF logs
    • Monitor the deployment
    • Manual verification commands
    • CDF Doctor
  • Troubleshoot
    • Troubleshoot installation
      • CDF installation fails on low performance nodes
      • CDF installation fails if DNS is not configured
      • 0 of X required images are available in the registry
      • Can't download the suite images
      • Can't export the NFS volumes
      • Can't log in to the Docker Hub
      • Can't mount an NFS server from a worker node
      • Can't reinstall a suite after uninstalling it
      • CDF installation fails due to intermittent DNS resolution failures
      • CDF installation fails with "cdf-deployer":"FAILED" error
      • CDF installation fails with "cannot re-use a name that is still in use" error
      • CDF installation fails with a "fail to pull image" error message
      • CDF installation fails with the first control plane node in the NotReady status
      • CDF silent installation fails with a "Failed to update keepalived nodeSelector." error message
      • CDF on GKE doesn't support an SSL connection to the native Google PostgreSQL database
      • "Checking command xxx failed" during CDF installation
      • "Checking containerd service not installed" error during CDF installation
      • "Checking HA_VIRTUAL_IP unreachable" error during CDF installation
      • "Checking image availability timeout" error during CDF installation
      • "Checking localhost" error during CDF installation
      • "Checking kubelet service not installed " error during CDF installation
      • "Checking kernel parameters" error during CDF installation
      • "Checking overlayfs device is used on docker" error during CDF installation
      • "Checking port xxx failed" during CDF installation
      • "Checking range overlap of docker bip and host network" error during OMT installation
      • "Checking swap is disabled" error during CDF installation
      • "Checking udev sync support" error during CDF installation
      • "Could not issue certificates" error and cluster pods go down
      • "database connection test failed" error during CDF installation
      • Fail to install some required prerequisite packages
      • FAILED: Checking DNS server connection timeout
      • "FATAL: docker installation failed." error during CDF installation
      • Failed to configure and start the ETCD database after enabling fapolicyd
      • FATAL: Invalid value for --nfs-server
      • File consumption on the devicemapper grows rapidly (Helm)
      • File consumption on the devicemapper grows rapidly
      • First control plane node goes down during CDF installation
      • Image xxx not found
      • Installation fails with PV issues
      • "Insufficient CPU, insufficient memory" error message and a pod is stuck in "Pending" state
      • Invalid character "{" in host name
      • "IPv4 forwarding is disabled" error during CDF installation
      • "Package net-tools is not installed" error during CDF installation
      • Pods are stuck in the "Terminating" state when you install CDF
      • Primary DNS server goes down and CDF installation fails
      • "semodule: Failed on... selinux-addition.pp!" error message and installation fails
      • The browser does not trust certificates
      • The NXDOMAIN logs show irrelevant information
      • "userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedKeyTypes" error while adding worker node
      • Timeout errors occur when CDF calls the AKS API server
    • Troubleshoot upgrade
      • CDF upgrade fails if the bastion node is running Ubuntu
      • "Device is busy" or "waiting for IO/CPU to become free" error messages during upgrade
      • "Error: client: etcd cluster is unavailable or misconfigured; error: tls: bad certificate" during upgrade
      • Errors occur when upgrading from CDF 2021.08 to 2021.11
      • Error "org.postgresql.util.PSQLException: FATAL: password authentication failed for user "postgres"" during upgrade
      • "Failed to find CDF_HOME" error
      • "Failed to pull image" error when you try to upgrade CDF
      • Failed to pull images during upgrade when McAfee on-access scan is enabled
      • Flannel pod doesn't start after you restart a node
      • IdM pod crashes during CDF upgrade
      • Jobs are not updated after a CDF upgrade
      • kube-apiserver doesn't enable encryption correctly after an upgrade
      • "panic: runtime error: index out of range [1] with length 1" error when upgrading OMT
      • Patching a deployment on GKE 1.17 takes a long time
      • Prometheus node exporters are not running in worker nodes after updating to 2021.08
      • Prometheus pod is missing after you upgrade CDF
      • Prometheus pod is in "Pending" state after you upgrade CDF
      • Service portal is down and pods are in init status
      • Suite upgrade fails and the suite pod stays in a Pending state
      • The Update button on CDF Management Portal is not working well
      • ImagePullBackOff errors when upgrading CDF
      • Upgrade fails after your session is disconnected
      • Upgrade fails when you run the "upgrade --u" command
      • Upgrade fails when the system locale isn't en_US.utf8
      • Error "UPGRADE FAILED" during helm upgrade
      • "UPGRADE FAILED" error after updating certificates from CDF Management Portal
      • "renew, ERR: precheck: cert validity" during CDF upgrade
      • "userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedKeyTypes" error while upgrading CDF
      • "Waiting for upgrade finished timeout" error during CDF upgrade
      • "Warning FailedCreatePodSandBox" message and pods do not start during upgrade
    • Troubleshoot administration
      • Application helm charts didn't display on AppHub after uploading successfully
      • Can't get password from Vault
      • Can't run the replaceExternalAccess.sh script
      • replaceExternalAccessHost script fails with "Waiting for idm pod ready..."
      • Cannot access a node from other nodes by using its FQDN
      • Cannot delete a pod after a worker node crashes
      • Cannot restart the PostgreSQL data pod
      • Cannot log into CDF Swagger UI page
      • Can't reset Grafana Admin password
      • Can't run kubectl or kube-status.sh commands as a non-root user
      • CDF-API-server volume verification failed
      • cleanRegistry failed with error "failed to garbage collect: error enumerating blobs..."
      • CrashLoopBackOff status on the terminal when you migrate one node to another node
      • "curl: (77) Problem with the SSL CA cert (path? access rights?)" error occurs when running gen_secret.sh
      • "error="failed to new session: ssh: rejected: connect failed (open failed)" when adding node
      • "Error from server" error when you try to get a secret
      • Failed to access the Management Portal
      • Failed to add a node with "ALREADY DONE" in the log
      • "Failed to get IP address of itom-pg-backup pod" when running backup_recover.sh or db_admin.sh
      • Failed to issue nginx-ingress-controller certificates
      • Failed to update database configuration with the updateExternalDbInfo script
      • Fluentd has high CPU usage
      • Grafana and Prometheus-operator pods in CrashLoopBackOff state
      • Intermittently failed to connect exposed service via external FQDN with HA using Keepalived
      • itom-prometheus-grafana pod gets stuck in Init:CrashLoopBackOff status
      • itom-vault pod is running but other pods don't start
      • kube-apiserver failed to start up
      • Kubelet gets stuck with massive "runtime service failed: rpc error: code = Unknown" error messages
      • Kubernetes gets stuck when rebooting the server
      • Pods failed to start up and got stuck in Init status after upgrading Linux distribution
      • Red Hat, CentOS, or Oracle Linux restarts unexpectedly
      • Some PostgreSQL pod stuck in 1/2 state
      • Prometheus pod crashes repeatedly
      • "server returned HTTP status 404 Not Found" error
      • The downloadimages.sh script failed to authenticate the docker account with 2FA enabled
      • "The external certificates have already expired" error when logging in to the Management portal
      • The IdM login page is not displayed
      • The itom-vault pod doesn't go up after system reboot
      • The Kubelet service does not work when installing the suite to a pre-occupied port
      • The RHEL7.4 NFS4.1 client can loop in its stage manager
      • The Vault server is unavailable due to etcd failure
      • "Unable to inspect docker image" in /var/log/messages
      • Vault pod failed to start when NFS disk usage reaching 100%
      • Vault reports an "[ERROR] expiration: error restoring leases" error after restarting
      • A CDF cluster node becomes "NotReady" after a vMotion VM migration
      • Worker nodes cannot be deleted from the CDF Management Portal
    • Troubleshoot IdM
      • Admin user can't log in to the Management Portal after resetting an expired password
      • IdM fails to connect to database
      • IdM pods are in "idle in transaction" state in PostgreSQL
      • Invalid user name/password or user account is locked or expired
      • "The request token is invalid" errors during login
      • "Unable to upgrade connection" error trying to get IdM secret
      • You can't log in and a "The service is unavailable at this time" message is displayed
    • Find the log files
    • Service dependency (Classic deployment)
    • Service dependency (Helm deployment)
    • Contact support

After (241 pages)

  • Release notes
    • Enhancements
    • Fixed issues
    • Deprecation and obsolescence
    • Known issues
  • Get started
    • Glossary
    • User roles
    • Deployment models
    • Service dependency
    • OMT architecture
      • Components
      • Packaging
      • Networking
      • Security
      • Storage
      • High availability (HA)
      • Databases
      • Back up, restore and disaster recovery
      • Elasticity
      • Monitoring
      • Licensing
      • Supportability
  • Install
    • Deployment Architecture
    • System requirements
    • Activate your Docker Hub account
    • Download the installation package
    • Set up prerequisites
    • Deploy OMT
    • Post installation tasks
    • Uninstall
    • Reference topics
      • Create and configure a config.json file
      • Manage High Availability (HA) in a cluster with multiple control plane nodes
      • Configure Keepalived for High Availability
      • Configure storage for the Kubernetes backup capability
      • Set up persistent storage
      • Forward application logs to an external receiver
      • Configure sudo access
      • Synchronize time
      • Make required system configurations
      • Check the default gateway settings
      • Check the firewall settings
      • Check the host name and set up host name resolutions
      • Configure the install.properties file
      • Check the SSH configurations
      • Create a new Security Context Constraint (external K8s)
      • Request server certificates
      • Configure external databases
      • Download the OMT images and then upload them to an external image registry
      • Run a preliminary check
      • Configure an internal load balancer
      • Configure external load balancers
      • Install the itom-cdf-alias script for non-root users
  • Upgrade
    • System requirements
    • Download the OMT packages
    • Set up prerequisites for upgrades
    • Upgrade OMT
    • Post-upgrade configurations
    • Reference
      • Free disk space
      • Generate an upgrade runbook
      • Check that the hostname hasn't changed
      • Back up data
      • Upload images to an external registry
      • Configure permissions
      • Configure SSH connections
      • Disable on-access security scans
      • Make sure that all nodes or pods are running
  • Administer
    • Cluster management
      • Management Portal
      • Restart OMT
      • Update the DNS entries
      • Update the operating system
      • Post steps after applying an OS patch
      • Convert from CentOS to RHEL using convert2rhel
      • Configure application proxies after you install OMT
      • Change the POD_CIDR parameter value after OMT installation
      • Change the SERVICE_CIDR parameter value after OMT installation
      • Change the HA virtual IP address after OMT installation
      • Enable High Availability (HA) after you install OMT
      • Monitor the deployment with the "cdf-help" and Kubernetes commands
      • Change the persistent volumes (PVs) after you install OMT
      • Change from root user to non-root user after installation
      • Rebind a PV and a PVC
      • Add or remove nodes from a cluster by using the Management portal
      • Add or remove nodes from a cluster via CLI commands
      • Manage node labels
      • Change cluster runlevel
      • Security overview
      • Enable a firewall on a node
      • Manage OMT certificates
      • Set the security context
      • Enable the Pod Security Policy
      • Change system UID and GID after installation
      • Disaster recovery
      • Back up
      • Update scheduled time or backup scope for the Kubernetes backup capability
      • Restore
      • Back up and restore IdM
      • Clean up local registry images
      • Change the password of the local registry admin user
      • Change the registry setting
    • Administer AppHub
      • Change the external access host name of the OMT cluster
      • Modify the configuration information of external databases
      • Add, remove, and reconfigure OMT capabilities
      • Create a values.yaml file to enable capabilities after installation
      • Enable the cluster management and deployment management capabilities
      • Enable the log collection capability
      • Enable the monitoring capability
      • Enable the Tools capability on a new bastion node
      • Enable the Kubernetes backup capability manually on external Kubernetes
      • Disable a capability
    • Administer the logging capability
    • Administer the monitoring capability
      • Map a pod IP address in the Grafana dashboard with the real host IP address
      • Configure the number of Prometheus and alertmanager replicas
      • Configure resource requests and limits of the monitoring capability
      • Configure the collection interval of the monitoring capability
      • Configure the log retention period of the monitoring capability
      • Expose Prometheus
    • CLI tools
  • Use
    • Get started with AppHub
      • Log in to AppHub
      • AppHub Applications page
      • Save a draft application configuration
      • Export application resources
      • Missing images
      • Signature validation
      • AppHub Deployments page
      • Viewing a Deployment
      • Editing a Deployment
      • Upgrading a Deployment
      • Rolling Back a Deployment
      • Onboarding a Deployment
      • Troubleshooting Deployments
      • Using the YAML Editor
    • Manage applications and deployments
      • Upload a Helm chart using AppHub or the CLI
      • Download the application images and then upload them to an image registry
      • Deploy the application using AppHub or the CLI
      • Delete a deployment using AppHub or the CLI
    • Identity Management (IdM)
      • Manage organizations
      • Customize an organization's login page
      • Manage users
      • Manage groups
      • Manage roles and roles-based access control
      • Set up database user authentication
      • Set up LDAP authentication
      • Set up certificate-based authentication
      • Set up SAML authentication
      • Set up OAuth 2.0 authentication
      • Set up RADIUS authentication
      • Set up reference authentication
      • Create and configure authentication groups
      • Add a proxy to access an external IdP
      • IdM system settings
      • IdM audit
      • Manage OpenID Connect
    • Monitoring
      • Access the Grafana homepage
      • Grafana dashboards
    • Kubernetes Dashboard
      • View existing images
      • Manage cluster
      • Manage deployments
      • Manage namespaces
      • Manage replica sets
      • Manage replication controllers
      • Manage stateful sets
      • Manage daemon sets
      • View jobs
      • Pods in OMT
      • Manage pods
      • View Services
      • View Ingresses
      • View Persistent Volume Claims
      • View Secrets
      • View ConfigMaps
  • Troubleshoot
    • Troubleshoot installation
      • Can't export the NFS volumes
      • Can't access service which is running on another node
      • "Checking containerd service not installed" error during OMT installation
      • "Checking HA_VIRTUAL_IP unreachable" error during OMT installation
      • "Checking image availability timeout" error during OMT installation
      • "Checking kernel parameters" error during OMT installation
      • "Checking kubelet service not installed " error during OMT installation
      • "Checking localhost" error during OMT installation
      • "Checking swap is disabled" error during OMT installation
      • "database connection test failed" error during OMT installation
      • "Insufficient CPU, insufficient memory" error message and a pod is stuck in "Pending" state
      • "IPv4 forwarding is disabled" error during OMT installation
      • OMT installation fails due to intermittent DNS resolution failures
      • "Package net-tools is not installed" error during OMT installation
      • Primary DNS server goes down and OMT installation fails
    • Troubleshoot upgrade
      • "Failed to pull image" error when you try to upgrade OMT
      • Flannel pod doesn't start after you restart a node
      • IdM pod crashes during OMT upgrade
      • Jobs aren't updated after you upgrade OMT
      • Kubernetes keeps forwarding requests to the old iptables rules after upgrading OMT
      • "panic: runtime error: index out of range [1] with length 1" error when upgrading OMT
      • Prometheus pod is missing after you upgrade OMT
      • "UPGRADE FAILED" error after updating certificates from OMT Management Portal
      • "Warning FailedCreatePodSandBox" error and pods don't start during OMT upgrade
    • Troubleshoot administration
      • Can't access a node from other nodes by using its FQDN
      • Can't delete an application deployment on AppHub
      • Can't delete a pod after a worker node crashes
      • Can't reset Grafana Admin password
      • Can't restart the PostgreSQL data pod
      • Can't run kubectl or kube-status.sh commands as a non-root user
      • Can't run the replaceExternalAccess.sh script
      • Certificates don't show up on AppHub
      • "curl: (77) Problem with the SSL CA cert (path? access rights?)" error occurs when running gen_secret.sh
      • "Error from server" error when you try to get a secret
      • "Failed to get IP address of itom-pg-backup pod" when running backup_recover.sh or db_admin.sh
      • Grafana and Prometheus-operator pods in CrashLoopBackOff state
      • itom-prometheus-grafana pod gets stuck in Init:CrashLoopBackOff status
      • itom-vault pod is running but other pods don't start
      • "No valid CRL for current time found" error and the cdfapiserver service doesn't start
      • Prometheus pod crashes repeatedly
      • Red Hat, CentOS, or Oracle Linux restarts unexpectedly
      • Security products can't scan files before they are deleted
      • "UnrecognizedClientException" error while creating ECR repository with aws-create-repository
    • Troubleshoot IdM
      • Admin user can't log in to the Management Portal after resetting an expired password
      • IdM pods don't restart automatically after a broken database recovers
      • Invalid user name/password or user account is locked or expired
      • Login is slow for LDAP users
      • You can't log in and a "The service is unavailable at this time" message is displayed
    • OMT Doctor
    • Find the log files
    • Contact support