Create a Kubernetes cluster

This topic walks through the steps to create a Kubernetes (K8s) cluster. If you are new to K8s, these instructions are for you.

There are several supported Kubernetes platforms and versions. This walkthrough presents an example using Google Kubernetes Engine (GKE) version 1.16.

After establishing a Kubernetes cluster, you can proceed to the Get started with Kubernetes Operator for Apache Cassandra topic to apply pre-configured Kubernetes Operator for Apache Cassandra manifests and related definitions to the Kubernetes environment. Then, you can use the Kubernetes Operator for Apache Cassandra to manage the established open-source Apache Cassandra® or DataStax Enterprise (DSE) resources in your Kubernetes cluster.

Prepare your Google Cloud Platform account

  1. Create or log into the Google account where you want to create the cluster.

  2. Go to the Kubernetes Engine page in the Google Cloud Console.

  3. In the Google Cloud Console, create or select a project.

  4. If not already enabled, click Enable billing for the Kubernetes Engine service in your project.

    It takes a few minutes to enable the Kubernetes Engine API and related services.

  5. When the payment verification completes, click Create cluster to begin creating your cluster.

Create the Kubernetes cluster

On the Cluster basics page, before accepting all the defaults and clicking Create, DataStax recommends following the numbered steps using the MY FIRST CLUSTER option. These steps familiarize you with all the options and help you set your preferred values.

  1. Name your cluster and click Next.

  2. Select a location. This example uses Zonal and sets the zone to us-central-1-c. Adjust according to your preference, and click Next.

  3. Set the release channel.

    This example uses the Static version option and selects GKE version 1.16.8-gke.15. This value is chosen in anticipation of applying the pre-configured 1.16 manifest YAML file, as covered in the quickstart. However, you can select any supported GKE version for your cass-operator version. The cass-operator repository has version-specific manifest YAML files to help you define common settings and get started quickly.

  4. Click Next.

  5. Choose low-cost resources.

    This example uses the default General Purpose machine configuration, using Series N1 and machine type n1-standard-4 (4 vCPU, 15 GB memory). To keep costs low during the free trial, the autoscaling and telemetry options remain disabled (default).

  6. Review your cluster settings.

  7. To apply your custom settings, click Make Changes, and then click Create on the next page.

The Google Cloud Console shows the record for your created Kubernetes cluster.

Install kubectl from the Google Cloud SDK

The kubectl command-line (CLI) tool lets you control Kubernetes clusters. When working with the Kubernetes cluster and Kubernetes Operator for Apache Cassandra, it is common to use the Google Cloud Console user interface and a Terminal window from which to submit kubectl commands. If you do not already have kubectl installed, then first install the Google Cloud SDK and install kubectl from it. On the kubernetes.io site, refer to the article about downloading the SDK.

  1. To go directly to the versioned list of Google Cloud SDK packages, see these installation instructions.

    1. (Alternatively): use a curl command to download and install the Google Cloud SDK on a 64-bit machine:

      curl -LO https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-347.0.0-linux-x86_64.tar.gz
    2. Extract the tarball:

      tar -xzvf google-cloud-sdk-347.0.0-linux-x86_64.tar.gz
    3. Install the Google Cloud SDK:

      ./google-cloud-sdk/install.sh
  2. After completing the installation, source your updated profile settings, as in the following example:

    source ~/.bashrc
  3. The Google Cloud SDK provides many tools. To install kubectl from the SDK, run:

    gcloud components install kubectl

    It is possible to receive a warning message similar to the following about an older version of a tool on your machine:

    There are older versions of Google Cloud Platform tools on your system PATH.
    Remove the following to avoid accidentally invoking these old tools:
    
      /usr/local/bin/kubectl
    1. Run the following commands to remove the old version and then verify the just-installed location:

      sudo rm /usr/local/bin/kubectl
      
      which kubectl
      /home/automaton/google-cloud-sdk/bin/kubectl

Configure the Google Cloud environment from your local machine

On your local machine where you just installed the Google Cloud SDK and the kubectl tool, follow these additional steps to create the connection from your local machine to the cloud environment.

  1. Enter this command:

    ./google-cloud-sdk/bin/gcloud init

    In the command output, watch for the log in prompt: You must log in to continue. Would you like to log in (Y/n)?

  2. Copy and paste the returned URL in a browser. If you are already logged into the Google email account that you used while creating the Kubernetes cluster, the page presents an OAuth code automatically.

  3. Now return to your Terminal session and paste the code at the Enter verification code: prompt:

    Enter verification code: (Paste the code you received here)

    The command output continues, displaying your authorized email address and prompting you to confirm or specify settings for the Kubernetes cloud environment. Here is a sample extract of the messages and prompts:

    You are logged in as: (account email address)
    ...
    Pick cloud project to use:
     [1] <userid>-project-datastax-fte
     [2] Create a new project
    Please enter numeric choice or text value (must exactly match list
    item):  1
    
    Your current project has been set to: [<userid>-project-datastax-fte].
    
    Do you want to configure a default Compute Region and Zone? (Y/n)?
    
    Which Google Compute Engine zone would you like to use as project
    default?
    If you do not specify a zone via a command line flag while working
    with Compute Engine resources, the default is assumed.
     [1] us-east1-b
    ...
     [7] us-central1-c
    ...
    Please enter numeric choice or text value (must exactly match list
    item):  7
    
    Your project default Compute Engine zone has been set to [us-central1-c].
    You can change it by running [gcloud config set compute/zone NAME].
    
    Your project default Compute Engine region has been set to [us-central1].
    You can change it by running [gcloud config set compute/region NAME].
    ...
    Your Google Cloud SDK is configured and ready to use!
    ...

Complete the connection between the GKE cloud and your machine

Now that the Google Cloud SDK is configured, there is one more step to complete the connection between the Google Kubernetes Engine (GKE) cloud instance and your local machine.

  1. In the Google Cloud Console, go to the Clusters tab, and then select the box next to your cluster’s name.

  2. Click the Connect button next to your cluster name. The console displays a command example.

  3. Copy the command from the Google Cloud Console, and enter it in your terminal session:

    gcloud container clusters get-credentials <userid>-datastax-cluster1 --zone us-central1-c --project <userid>-project-datastax-fte
    Result
    Fetching cluster endpoint and auth data.
    kubeconfig entry generated for <userid>-datastax-cluster1.

Next steps

You’ve created a Kubernetes cluster and connected a GKE cloud instance and your local machine. You can now submit kubectl commands that directly control your Kubernetes cluster, including the commands to apply Kubernetes Operator for Apache Cassandra configuration YAML files to the Kubernetes cluster. To try this, see Quickstart for Kubernetes Operator for Apache Cassandra.

Was this helpful?

Give Feedback

How can we improve the documentation?

© Copyright IBM Corporation 2025 | 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