Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-12179

Install Kafka on IBM Cloud

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Trivial
    • Resolution: Invalid
    • 2.7.0
    • None
    • docs, documentation
    • None

    Description

      Installing Kafka on IBM Cloud

       

      This document will describe how to install Kafka on IBM Cloud using Kubernetes Service.

       

      Contents

      1. Introduction
      2. Provision Kubernetes Cluster
      3. Deploy IBM Cloud Block-Storage Plugin
      4. Deploy Kafka
      5. Verifying the Kafka Installation

       Introduction

      To complete this tutorial, you should have an IBM Cloud account, if you do not have one, please register/signup here.

      For installing Kafka, we have used the Kubernetes cluster, and used the IBM Cloud Block-Storage plugin for our persistent volume. Upon the completion of this tutorial, you would have the Kafka up and running on the Kubernetes cluster.

      1. Provision the Kubernetes cluster, if you have already setup one, skip to step 2.
      2. Deploy the IBM Cloud Block-Storage Plugin to the created cluster, if you have already done this, skip to step 3.
      3. Deploy the Kafka.

      Provision Kubernetes Cluster

      • Click on the Catalog button on top center. Open Catalog
      • In search catalog box, search for Kubernetes Service and click on it.
      • You are now at Create Kubernetes Cluster page, there you have the two plans to create the Kubernetes cluster, either using free plan or standard plan.

       

      Option1- Using Free Plan:

      • Select Pricing Plan as “Free”.
      • Click on Create.
      • Wait a few minutes, and then your Cloud would be ready.

       

      Note: Please be careful when choosing free cluster, as your pods could be stuck at pending state due to insufficient compute and memory resources, if you face such kind of issue please increase your resource by creating them choosing the standard plan.

       

      Option2- Using Standard Plan:

      • Select Pricing Plan as “Standard” 
      • Select your Kubernetes Version as latest available or desired one by application. In our example we have set it to be ‘1.18.13’.
      • Select Infrastructure as “Classic
      • Leave Resource Group to “Default
      • Select Geography as “Asia” or your desired one.
      • Select Availability as “Single Zone”.

      This option allows you to create the resources in either single or multi availability zones. Multi availability zone provides you the option to create the resources in more than one availability zones so in case of catastrophe it could sustain the disaster and continues to work.

      • Select Worker Zone as Chennai 01.
      •  In Worker Pool, input your desired number of nodes as “3
      • Leave the Encrypt Local Disk option to “On
      • Select Master Service Endpoint to “Both private and public endpoints
      • Give your cluster-name as “Kafka-Cluster
      • Provide tags to your cluster and click on Create.
      • Wait a few minutes, and then your Cloud would be ready.

      Deploy IBM Cloud Block-Storage Plugin

      • Click on the Catalog button on top center.
      • In search catalog box, search for IBM Cloud Block Storage Plug-in and click on it
      • Select your cluster as "Kafka-Cluster"
      • Provide Target Namespace as “kafka-storage”, leave name and resource group to default
      • Click on Install

       

      Deploy Kafka

      • Again go to the Catalog and search for Kafka.
      • Provide the details as below.
      • Target: IBM Kubernetes Service
      • Method: Helm chart
      • Kubernetes cluster: Kafka-Cluster(jp-tok)
      • Target namespace: kafka
      • Workspace: kafka-01-07-2021
      • Resource group: Default
      • Click on Parameters with Default Values, you can set the deployment values or use the default ones, we have used the default ones in this example.
      • Click on Install.

      Verifying the Kafka Installation

      • Go to the Resources List in the Left Navigation Menu and click on ** Kubernetes and then Clusters.    
      • Click on your created Kafka-Cluster.
      • A screen would come up for your created cluster, click on Actions, and then Web Terminal
      • A warning will appear asking you to install the Web Terminal, click on Install
      • When the terminal is installed, click on the action button again and click on web terminal and type the following command in below command window. It will show you the workspaces of your cluster, you can see kafka active.
      $ kubectl get ns
      $ kubectl get pod –n Namespace –o wide 

      $ kubectl get service –n Namespace 

                                     

      The installation is done. Enjoy!

      Attachments

        1. Kafka1.png
          12 kB
          Muhammad Arif
        2. KafkaVerify3.png
          13 kB
          Muhammad Arif
        3. KafkaVerify4.png
          15 kB
          Muhammad Arif
        4. KafkaVerify1.png
          24 kB
          Muhammad Arif
        5. KafkaVerify2.png
          83 kB
          Muhammad Arif
        6. Kafka2.png
          64 kB
          Muhammad Arif
        7. Kubernetes4.png
          29 kB
          Muhammad Arif
        8. Kubernetes1.png
          36 kB
          Muhammad Arif
        9. Kubernetes5.png
          30 kB
          Muhammad Arif
        10. Kubernetes6.png
          59 kB
          Muhammad Arif
        11. Kubernetes3.png
          55 kB
          Muhammad Arif
        12. Kubernetes7.png
          8 kB
          Muhammad Arif
        13. Storage1.png
          11 kB
          Muhammad Arif
        14. Storage2.png
          62 kB
          Muhammad Arif
        15. Kubernetes2.png
          127 kB
          Muhammad Arif

        Activity

          People

            Unassigned Unassigned
            arifnafees7@gmail.com Muhammad Arif
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: