Upgrade DataStax Enterprise (DSE) 5.1 to 6.7 or 6.8

The upgrade process for DataStax Enterprise (DSE) provides minimal downtime (ideally zero). During this process, upgrade and restart one node at a time while other nodes continue to operate online. With a few exceptions, the cluster continues to work as though it were on the earlier version of DSE until all of the nodes in the cluster are upgraded.

Data loss possible with tuples

To avoid data loss for databases that use the tuple data type, follow these instructions when upgrading from any DSE version earlier than 6.8.35 to any later version:

  1. Upgrade databases with the tuple data type to DSE 6.8.35.

    Upgrading directly to 6.8.36 or later without upgrading to 6.8.35 first will result in data loss.

  2. Update the SSTables for those databases.

  3. Proceed with the upgrade to your target version.

Due to a serious bug which affects DSE 6.8.7 and DSE 6.8.8, DataStax recommends upgrading to DSE 6.8.9 or later.

Read and understand these instructions before upgrading. Carefully reviewing the planning and upgrade instructions can prevent errors and data loss. In addition, review the DSE 6.8 release notes for all changes before upgrading.

Back Up your Existing Installation

DataStax recommends backing up your data prior to any version upgrade.

A backup provides the ability to revert and restore all the data used in the previous version if necessary. For manual backup instructions, see Backing up a tarball installation or Backing up a package installation.

DSE OpsCenter provides a Backup Service that manages enterprise-wide backup and restore operations for DSE clusters and is highly recommended over any manual backup procedure. Ensure you use a compatible version of DSE OpsCenter for your DSE version.

Upgrade SSTables

Be certain to upgrade SSTables on your nodes both before and after upgrading. Failure to upgrade SSTables will result in severe performance penalties and possible data loss.

Version-Specific Notes

DSE Search changes starting in DSE 6.7.7

The Solr timeAllowed parameter is enabled by default to prevent long running shard queries, such as complex facets and Boolean queries, from using system resources after they have timed out from the DSE Search coordinator. For details, see Limiting queries by time.

DSE Search changes starting in DSE 6.8.0

Unbounded facet searches are no longer allowed using facet.limit=-1. The maximum facet limit value is 20,000 as set by solr.max.facet.limit.size. DataStax doesn’t recommend overriding the facet limit size using -Dsolr.max.facet.limit.size in jvm8-server.options or jvm11-server.options, depending upon your JVM version.

system.local and system.peers are now metadata_directory

DSE 6.8 includes a new metadata_directory property that holds information about the local node and all peers. This metadata_directory stores the same information as system.local and system.peers in earlier versions.

Upgrade Restrictions and Limitations

Restrictions and limitations apply while a cluster is in a partially upgraded state. The cluster continues to work as though it were on the earlier version of DSE until all of the nodes in the cluster are upgraded.

General Restrictions

  • Do not enable new features.

  • Upgrade DSE OpsCenter if necessary. The minimum compatible version for DSE 6.8 and 5.1 is DSE OpsCenter 6.8.4.

  • Do not run nodetool repair.

  • Stop the DSE OpsCenter Repair Service if enabled: 6.8.

  • During the upgrade, do not bootstrap new nodes or decommission existing nodes.

  • Do not issue TRUNCATE or DDL related queries during the upgrade process.

  • Do not alter schemas for any workloads.

  • Complete the cluster-wide upgrade before the expiration of gc_grace_seconds (default 10 days) to ensure any repairs complete successfully.

  • If the Performance Service was disabled before the upgrade, do not enable it during the upgrade. See Performance Service documentation for DSE 5.1 or DSE OpsCenter 6.8.

Nodes on different versions might show a schema disagreement during an upgrade.

Restrictions for Nodes Using Security

  • Do not change security credentials or permissions until the upgrade is complete on all nodes.

  • If you are not already using Kerberos, do not set up Kerberos authentication before upgrading. First upgrade the cluster, and then set up Kerberos.

Restrictions for DSE Analytics Nodes

Spark versions change between major DSE versions. DSE release notes (6.8.x) indicate which version of Spark is used.

When upgrading to a major version of DSE, all nodes in a DSE datacenter that run Spark must be on the same version of Spark and the Spark jobs must be compiled for that version. Each datacenter acting as a Spark cluster must be on the same upgraded DSE version before reinitiating Spark jobs.

In the case where Spark jobs run against Graph keyspaces, you must update all of the nodes in the cluster first to avoid Spark jobs failing.

Restrictions for DSE Advanced Replication Nodes

Upgrades are supported only for DSE Advanced Replication V2.

Application code and driver compatibility

Be sure to check driver compatibility between the previous and new database versions.

Advanced Preparation for Upgrading DSE Search Nodes

Before continuing, complete all the advanced preparation steps on DSE Search nodes while DSE 5.1 is still running.

  1. Ensure all use of HTTP API writes are changed to use Cassandra Query Language (CQL) commands for updates and inserts.

  2. Edit the search index config and make these changes, as needed. See Search index config for valid options to change query behavior for search indexes.

    • Remove the unsupported dataDir option. You can still set the location of search indexes.

    • Remove mergePolicy, maxMergeDocs, and mergeFactor. For example:

      <mergeFactor>25</mergeFactor>
      <maxMergeDocs>...
      <mergePolicy>...

      Use mergePolicyFactory instead, and add mergeScheduler:

      <mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler">
          <int name="maxThreadCount">16</int>
          <int name="maxMergeCount">32</int>
      </mergeScheduler>
      ...
      <mergePolicyFactory class="org.apache.solr.index.TieredMergePolicyFactory">
        <int name="maxMergeAtOnce">10</int>
        <int name="segmentsPerTier">10</int>
      </mergePolicyFactory>
    • Remove any instance of ExtractingRequestHandler.

    • Remove DSENRTCachingDirectoryFactory. Change:

      <directoryFactory name="DirectoryFactory" class="com.datastax.bdp.search.solr.DSENRTCachingDirectoryFactory"/>

      to:

      <directoryFactory name="DirectoryFactory" class="solr.StandardDirectoryFactory"/>
  3. Ensure that the catalina.properties and context.xml files are present in the Apache Tomcat® conf dir.

    DSE does not start after the upgrade if those files are missing.

    The default location of the Tomcat conf directory depends on the type of installation:

    • Package installations: /etc/dse/tomcat/conf

    • Tarball installations: <installation_location>/resources/tomcat/conf

  4. If earlier DSE versions use a custom configuration for the Solr UI web.xml, change:

    <filter-class>com.datastax.bdp.search.solr.auth.DseAuthenticationFilter</filter-class>

    to

    <filter-class>com.datastax.bdp.cassandra.auth.http.DseAuthenticationFilter</filter-class>
  5. The StallMetrics MBean is removed.

Advanced Preparation for Upgrading DSE Graph Nodes

Ensure that edge label names and property key names use only the supported characters. Edge label names and property key names allow only [a-zA-Z0-9], underscore, hyphen, and period. In earlier versions, edge label names and property key names allowed nearly unrestricted Unicode:

  • schema.describe() displays the entire schema, even if it contains illegal names.

  • In-place upgrades allow existing schemas with invalid edge label names and property key names.

  • Schema elements with illegal names cannot be updated or added.

Advanced Preparation for Upgrading DSE Analytics Nodes

Before upgrading DSE Analytics nodes:

  1. If you programmatically set the shuffle parameter, you must change the code for applications that use conf.set("spark.shuffle.service.port", port). Instead, use dse spark-submit which automatically sets the correct service port based on the authentication state. See Configuring Apache Spark™ for more information.

  2. If DSEFS is enabled, copy CFS hivemetastore directory to dse:

    DSE_HOME/bin/dse hadoop fs -cp cfs://node_ip_address/user/spark/warehouse/ dsefs://node_ip_address/user/spark/warehouse/
  3. Cassandra File System (CFS) is removed. Remove the cfs and cfs_archive keyspaces before upgrading. For more information, see Copying data from CFS to DSEFS.

    DROP KEYSPACE cfs
    DROP KEYSPACE cfs_archive
  4. Make sure any use of the SPARK_LOCAL_DIRS and SPARK_EXECUTOR_DIRS environment variables match their use as described in Set environment variables.

  5. For applications to use the compatible Spark Jobserver API in DataStax repository, migrate jobs that extend from SparkHiveJob and SparkSqlJob to SparkSessionJob. See example in the DemoSparkSessionJob in the demos directory.

    The default location of the demos directory depends on the type of installation:

    • Package installations: /usr/share/dse/demos

    • Tarball installations: <installation_location>/demos

Preparing to Upgrade

The DataStax Installer is not supported for DSE 6.0 and later. To upgrade from DSE 5.x that was installed with the DataStax Installer, you must first change from a standalone installer installation to a tarball or package installation for the same DSE version. See Convert DataStax Installer installations.

Follow these steps to prepare each node for the upgrade.

These steps are performed in your current version and use DSE 5.1 documentation.

  1. Upgrade to the latest patch release on your current version. Fixes included in the latest patch release can simplify the upgrade process.

    Get the current DSE version:

    bin/dse -v
  2. Familiarize yourself with the changes and features in the new release:

  3. Before upgrading, be sure that each node has adequate free disk space.

    Determine current DSE data disk space usage:

    sudo du -sh /var/lib/cassandra/data/
    Result
    3.9G	/var/lib/cassandra/data/

    Determine available disk space:

    sudo df -hT /
    Result
    Filesystem     Type  Size  Used Avail Use% Mounted on
    /dev/sda1      ext4   59G   16G   41G  28% /

    The required space depends on the compaction strategy. See Disk space.

  4. Required: Remove all ITriggers and custom interfaces, as their modifications are unsupported.

    Do not use triggers on upgraded nodes, as they can potentially introduce serious latency, reliability, and performance issues. Consider using internal APIs instead. DSE 6.x does not support triggers.

    Examples of custom implementations to find and remove include the following:

    1. Check for existing triggers:

      SELECT * FROM system_schema.triggers;
    2. Drop all existing triggers before upgrading:

      DROP TRIGGER trigger_name ON keyspace_name.table_name;
    3. Check for existing indexes:

      SELECT * FROM system_schema.indexes;
    4. Drop all existing custom secondary indexes before upgrading, except DSE Search indexes, which do not need to be replaced:

      DROP INDEX index_name;
    5. Find and remove custom query handlers and custom payload implementations.

      For more information, see the documentation for your Cassandra driver.

      If you need assistance, contact IBM Support.

  5. Because Thrift-compatible tables (COMPACT STORAGE) are no longer supported, you must migrate all non-system tables that have COMPACT STORAGE to CQL table format before upgrading.

    DSE will not start if tables using COMPACT STORAGE are present.

    1. Get the schema:

      -e 'DESCRIBE FULL SCHEMA;' > schema_file
    2. Use a script to run ALTER TABLE commands that drop COMPACT STORAGE from each table:

      cat schema_file | while read -d $';\n' line ; do
        if echo "$line"|grep 'COMPACT STORAGE' 2>&1 > /dev/null ; then
          TBL="`echo $line|sed -e 's|^CREATE TABLE \([^ ]*\) .*$|\1|'`"
          if echo "$TBL"|egrep -v '^system' 2>&1 > /dev/null; then
            echo "ALTER TABLE $TBL DROP COMPACT STORAGE;" >> schema-drop-list
          fi
        fi
      done
      -f schema-drop-list

      The script above dumps the complete DSE schema to schema_file, uses grep to find lines containing COMPACT STORAGE, and then writes only those table names to schema-drop-list along with the required ALTER TABLE commands. The schema-drop-list file is then read by cqlsh which runs the ALTER TABLE commands contained therein.

  6. Upgrade the SSTables on each node to ensure that all SSTables are on the current version.

    Failure to upgrade SSTables when required results in a significant performance impact and increased disk usage.

    nodetool upgradesstables

    Use the --jobs option to set the number of SSTables that upgrade simultaneously. The default setting is 2, which minimizes impact on the cluster. Set to 0 to use all available compaction threads.

    DataStax recommends running the upgradesstables command on one node at a time or, when using racks, one rack at a time.

    If the SSTables are already on the current version, the command returns immediately and no action is taken.

  7. Ensure that keyspace replication factors are correct for your environment:

    cqlsh --execute "DESCRIBE KEYSPACE keyspace-name;" | grep "replication"
    Result
    CREATE KEYSPACE keyspace-name WITH replication = {'class': 'NetworkTopologyStrategy, 'replication_factor': '3'} AND durable_writes = true;
  8. Verify the Java runtime version and upgrade to a supported version if needed.

    java -version
    Result
    openjdk version "1.8.0_222"
    OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~18.04.1-b10)
    OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

    OpenJDK 8 (1.8.0_151 minimum) and Oracle Java SE 8 (JRE or JDK) (1.8.0_151 minimum) are supported. OpenJDK is recommended because DataStax does more extensive testing on OpenJDK than Oracle Java.

  9. Run nodetool repair to ensure that data on each replica is consistent with data on other nodes:

    nodetool repair -pr
  10. Install the libaio package for optimal performance.

    RHEL platforms:

    sudo yum install libaio

    Debian:

    sudo apt-get install libaio1
  11. Back up any customized configuration files since they may be overwritten with default values during installation of the new version.

    If you backed up your installation using instructions in Backing up a tarball installation or Backing up a package installation, your original configuration files are included in the archive.

Upgrade Steps

You can also use Lifecycle Manager (LCM) in DSE OpsCenter to clone a configuration profile and run an upgrade job on a datacenter or node.

The upgrade process requires upgrading and restarting one node at a time in the following order:

  1. In multiple datacenter clusters, upgrade every node in one datacenter before upgrading another datacenter.

  2. Upgrade the seed nodes within a datacenter first.

  3. Upgrade DSE Analytics datacenters.

  4. Upgrade transactional (DSE Graph) datacenters.

  5. Upgrade DSE Search nodes or datacenters.

Follow these steps for each node’s upgrade:

These steps are performed in your upgraded version and use DSE 6.7 or DSE 6.8 documentation depending upon your target version.

  1. Flush the commit log of the current installation:

    nodetool drain
  2. Stop the node:

    • Package installations:

      sudo service dse stop
    • Tarball installations:

      installation_dir/bin/dse cassandra-stop
  3. Use the appropriate method to install the new product version on a supported platform:

  4. To configure the new version:

    1. Compare changes in the new configuration files with the backup configuration files after the upgrade but before restarting, remove deprecated settings, and update any new settings if required.

      You must use the new configuration files that are generated from the upgrade installation. Copy any parameters needed from your old configuration files into these new files.

      Do not replace the newly-generated configuration files with the old files.

      Use the DSE yaml_diff tool (6.8) to compare backup YAML files with the upgraded YAML files:

      cd /usr/share/dse/tools/yamls
      ./yaml_diff path/to/yaml-file-old path/to/yaml-file-new
      Result
      ...
       CHANGES
      =========
      authenticator:
      - AllowAllAuthenticator
      + com.datastax.bdp.cassandra.auth.DseAuthenticator
      
      authorizer:
      - AllowAllAuthorizer
      + com.datastax.bdp.cassandra.auth.DseAuthorizer
      
      roles_validity_in_ms:
      - 2000
      + 120000
      ...

      Remove deprecated cassandra.yaml settings:

      concurrent_counter_writes
      concurrent_materialized_view_writes
      concurrent_reads
      concurrent_writes
      max_client_wait_time_ms
      max_threads
      request_scheduler
      request_scheduler_options
      rpc_port
      rpc_server_type
      start_rpc
      thrift_framed_transport_size_in_mb

      Replace deprecated cassandra.yaml RPC settings:

      # Deprecated RPC settings
      rpc_address
      rpc_broadcast_address
      
      # Replacement settings
      native_transport_address
      native_transport_broadcast_address

      Replace deprecated cassandra.yaml memtable settings:

      # Deprecated memtable settings
      memtable_heap_space_in_mb
      memtable_offheap_space_in_mb
      
      # Replacement settings
      memtable_space_in_mb

      Change the following memtable setting:

      memtable_allocation_type: offheap_objects

      Replace deprecated cassandra.yaml user-defined function (UDF) settings:

      # Deprecated UDF settings
      user_defined_function_warn_timeout
      user_defined_function_fail_timeout
      
      # Replacement settings
      user_defined_function_warn_micros: 500
      user_defined_function_fail_micros: 10000
      user_defined_function_warn_heap_mb: 200
      user_defined_function_fail_heap_mb: 500
      user_function_timeout_policy: die

      Replacement UDF settings are in microseconds. The new timeouts are not equivalent to the deprecated settings.

      Replace deprecated cassandra.yaml internode and client-to-node encryption settings:

      # Deprecated settings
      server_encryption_options:
          store_type: JKS
      
      client_encryption_options:
          store_type: JKS
      
      # Replacement settings
      # Valid options for keystore_type are JKS, JCEKS, PKCS11, or PKCS12
      # Valid options for truststore_type are JKS, JCEKS, or PKCS12
      server_encryption_options:
          keystore_type: JKS
          truststore_type: JKS
      
      client_encryption_options:
          keystore_type: JKS
          truststore_type: JKS

      For security reasons, DSE 6.8 only allows protocol: TLS:

      server_encryption_options:
          ...
          protocol: TLS
      
      client_encryption_options:
          ...
          protocol: TLS

      Remove deprecated cassandra.yaml credential cache settings that are no longer required for cache optimization:

      credentials_validity_in_ms
      credentials_update_interval_in_ms

      Replace deprecated Spark resource and encryption settings in dse.yaml:

      # Deprecated Spark settings
      spark_ui_options:
        server_encryption_options:
          store_type: JKS
      
      # Replacement settings
      # Valid options for keystore_type are JKS, JCEKS, PKCS11, or PKCS12
      # Valid options for truststore_type are JKS, JCEKS, or PKCS12
      spark_ui_options_options:
        server_encrption_options:
          keystore_type: JKS
          truststore_type: JKS

      Remove deprecated DSE Search node settings in dse.yaml:

      cql_solr_query_executor_threads
      enable_back_pressure_adaptive_nrt_commit
      max_solr_concurrency_per_core
      solr_indexing_error_log_options

      DSE 6.x does not start with those options present.

  5. When upgrading DSE to versions earlier than 5.1.16, 6.0.8, or 6.7.4 inclusive, if any tables are using DSE Tiered Storage, remove all txn_compaction log files from second-level tiers and lower. For example, given the following dse.yaml configuration, remove txn_compaction log files from /mnt2 and /mnt3 directories:

    tiered_storage_options:
        strategy1:
            tiers:
                - paths:
                    - /mnt1
                - paths:
                    - /mnt2
                - paths:
                    - /mnt3

    The following example removes the files using the find command:

    find /mnt2 -name "*_txn_compaction_*.log" -type f -delete &&
    find /mnt3 -name "*_txn_compaction_*.log" -type f -delete

    Failure to complete this step may result in data loss.

  6. Remove any previously installed JTS JAR files from the CLASSPATHS in your DSE installation. JTS (Java Topology Suite) is distributed with DSE 6.7.

  7. Start the node:

  8. Verify that the upgraded datacenter names match the datacenter names in the keyspace schema definition:

    1. Get the node’s datacenter name:

      nodetool status | grep "Datacenter"
    2. Verify that the node’s datacenter name matches the datacenter name for a keyspace:

      cqlsh --execute "DESCRIBE KEYSPACE keyspace-name;" | grep "replication"
      Result
      CREATE KEYSPACE keyspace-name WITH replication = {'class': 'NetworkTopologyStrategy, 'datacenter-name': '3'};
  9. Review the logs for warnings, errors, and exceptions:

    grep -w 'WARN\|ERROR\|exception' /var/log/cassandra/*.log

    Warnings, errors, and exceptions are frequently found in the logs when starting an upgraded node. Some of these log entries are informational to help you execute specific upgrade-related steps. If you find unexpected warnings, errors, or exceptions, contact IBM Support.

    Non-standard log locations are configured in dse-env.sh.

  10. Repeat the upgrade process on each node in the cluster following the recommended order.

  11. After the entire cluster upgrade is complete, Upgrade the SSTables on one node at a time or, when using racks, one rack at a time.

    Failure to upgrade SSTables when required results in a significant performance impact and increased disk usage and possible data loss. Upgrading is not complete until the SSTables are upgraded.

    nodetool upgradesstables

    Use the --jobs option to set the number of SSTables that upgrade simultaneously. The default setting is 2, which minimizes impact on the cluster. Set to 0 to use all available compaction threads.

    DataStax recommends running the upgradesstables command on one node at a time or, when using racks, one rack at a time.

    You can run the upgradesstables command before all the nodes are upgraded as long as you run the command on only one node at a time or, when using racks, one rack at a time. Running upgradesstables on too many nodes at once degrades performance.

General Post-Upgrade Steps

After all nodes are upgraded:

  1. If you use the DSE OpsCenter Repair Service, turn on the Repair Service.

  2. If you encounter serialization-header errors, stop the node and repair them using the sstablescrub -e option:

    sstablescrub -e fix-only keyspace table

    For more details on serialization-header errors and repairs, see DSE 5.0 SSTables with UDTs corrupted after upgrading to DSE 5.1, 6.0, or 6.7.

  3. Optional: Reconfigure or disable DSE Metrics Collector, which is a diagnostics information aggregator used to help facilitate DSE problem resolution.

    In DSE 6.7 and later, DSE Metrics Collector is enabled by default.

Post-Upgrade Steps for DSE Search Nodes

For DSE Search nodes:

  1. The appender SolrValidationErrorAppender and the logger SolrValidationErrorLogger are no longer used and may safely be removed from logback.xml.

  2. In contrast to earlier versions, DataStax recommends accepting the new default value of 1024 for back_pressure_threshold_per_core in dse.yaml. See Configuring and tuning indexing performance.

  3. Do a full reindex of all encrypted search indexes on each node in your cluster:

    dsetool reload_core keyspace_name.table_name distributed=false reindex=true deleteAll=true

    Plan sufficient time after the upgrade is complete to reindex with deleteAll=true on all nodes.

Post-Upgrade Steps for DSE Analytics Nodes

For DSE Analytics nodes:

  1. Check the replication factor for the dse_analytics keyspace, a new keyspace stores all DSE Analytics internal system data. DataStax recommends setting the replication strategy to NetworkTopologyStrategy (NTS) with a replication factor of at least 3 in each of DSE Analytics datacenters. If a datacenter has more nodes, a larger replication factor should be considered.

    To check the replication strategy and factor:

    cqlsh --execute "DESCRIBE KEYSPACE dse_analytics;" | grep "replication"
    Result
    CREATE KEYSPACE keyspace-name WITH replication = {'class': 'replication-strategy, 'datacenter-name': 'replication-factor'};
  2. If you are using Spark SQL tables, migrate them to the new Hive metastore format:

    dse client-tool spark metastore migrate --from 5.0.0 --to 6.7.0
  3. Spark Jobserver uses DSE custom version 8.0.4.45. Ensure that applications use the compatible Spark Jobserver API from the DataStax repository.

Warning Messages During and after Upgrade

You can ignore some log messages that occur during and after an upgrade:

  • Some gremlin_server properties in earlier versions of DSE are no longer required. If properties exist in the dse.yaml file after upgrading, logs display warnings similar to:

    WARN [main] 2017-08-31 12:25:30,523 GREMLIN DseWebSocketChannelizer.java:149 - Configuration for the org.apache.tinkerpop.gremlin.driver.ser.GraphSONMessageSerializerGremlinV1d0 serializer in dse.yaml overrides the {product-short} default - typically it is best to allow {product-short} to configure these.

    You can ignore these warnings or modify dse.yaml so that only the required gremlin_server properties are present.

Locking DSE Package Versions

If you have upgraded a DSE package installation, then you can prevent future unintended upgrades.

RHEL yum installations

To hold a package at the current version:

  1. Install yum-versionlock (one-time operation):

    sudo yum install yum-versionlock
  2. Lock the current DSE version:

    sudo yum versionlock dse-*

To clear the version lock and enable upgrades:

sudo yum versionlock clear

For details, see the versionlock command.

Debian apt-get installations

To hold a package at the current version:

sudo apt-mark hold dse-*

To remove the version hold:

sudo apt-mark unhold dse-*

For details, see the apt-mark command.

Was this helpful?

Give Feedback

How can we improve the documentation?

© Copyright IBM Corporation 2026 | Privacy policy | Terms of use Manage Privacy Choices

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: Contact IBM