.. _co-quickstart: |co-long| Quick Start --------------------- Use the following instructions to use the shell script ``operator-util.sh`` to quickly get running with |co-long| and |cp|. The script deploys and starts |co| and |cp| in the :ref:`supported provider environments `. Prerequisites - A Kubernetes cluster conforming to one of the :ref:`supported environments `. - Cluster size based on the :ref:`Sizing Recommendations `. - The provider CLI or `Cloud SDK `__ is installed and initialized. - `kubectl `__ is installed, initialized, with the context set. You also must have the ``kubeconfig`` file configured for your cluster. - Access to the |co-long| bundle (Step 1 below). .. _co-downloade-the-bundle-qs: --------------------------------------------------- Step 1. Download the |co| bundle for |cp| |version| --------------------------------------------------- .. include:: includes/download-and-helm-step-1-and-2.rst .. _co-qs-configure-provider-yaml: ------------------------------------------------ Step 3. Configure the default provider YAML file ------------------------------------------------ Make the following configuration changes to your provider YAML file. #. Go to the ``helm/providers`` directory on your local machine. #. Open the ``.yaml`` file. #. Validate or change your region and zone or zones (if your cluster spans :ref:`multiple availability zones `). The example below uses ``region: us-central1`` and ``zones: - us-central1-a``. #. Validate or change your storage provisioner. See `Storage Class Provisioners `__ for configuration examples. .. note:: The example below uses GCE persistent disk storage (``gce-pd``) and solid-state drives (``pd-ssd``). .. sourcecode:: bash global: provider: name: gcp region: us-central1 kubernetes: deployment: ## If kubernetes is deployed in multi zone mode then specify availability-zones as appropriate ## If kubernetes is deployed in single availability zone then specify appropriate values zones: - us-central1-a storage: ## https://kubernetes.io/docs/concepts/storage/storage-classes/#gce ## provisioner: kubernetes.io/gce-pd reclaimPolicy: Delete parameters: type: pd-ssd #. Enter the image registry endpoint. The following example shows the default public image registry endpoint for Confluent images. If you are installing from images downloaded and stored locally or located elsewhere, you need to enter your unique endpoint. If the endpoint you use requires basic authentication, you need to change the credential parameter to ``required: true`` and enter a username and password. .. sourcecode:: bash ## Docker registry endpoint where Confluent images are available. ## registry: fqdn: docker.io credential: required: false username: password: #. Enable load balancing for external access to the |ak| cluster. Enable load balancing for external access to the |ak| cluster. The domain name is the domain name you use (or that you create) for your cloud project in the provider environment. See :ref:`co-endpoints` for more information. :: ## Kafka Cluster ## kafka: name: kafka replicas: 3 resources: requests: cpu: 200m memory: 1Gi loadBalancer: enabled: true domain: "" tls: enabled: false fullchain: |- privkey: |- cacerts: |- .. _co-qs-run-shell-script: ------------------------ Step 4. Deploy |co-long| ------------------------ The ``operator-util.sh`` script is located in the ``scripts`` directory. To deploy all components, enter the following command from within the ``/scripts`` directory: :: ./operator-util.sh -n -r -f The following options are used in the command: * **-n** or **--namespace:** If you do not enter a new namespace, the namespace used is the default Kubernetes namespace. Typically, you should enter a new simple namespace. ``operator`` is used in the example below. * **-r** or **--release:** A release prefix to use. This creates a unique release name for each component. ``co1`` is used in the example below. * **-f** or **--helm-file:** The path to the provider YAML file. The path to the ``gcp.yaml`` file is shown in the example below. The following shows an example using namespace ``operator`` and prefix ``co1``. :: ./operator-util.sh -n operator -r co1 -f ../helm/providers/gcp.yaml It takes a few minutes for the script to completely deploy all components. You may see messages like the following when the script is running. This is normal and typically occurs because |ak-tm| pods take a while to start up. :: Error from server (NotFound): statefulsets.apps "ksql" not found Retry 1/10 exited 1, retrying in 1 seconds... Error from server (NotFound): statefulsets.apps "ksql" not found Retry 2/10 exited 1, retrying in 2 seconds... Error from server (NotFound): statefulsets.apps "ksql" not found Retry 3/10 exited 1, retrying in 4 seconds... NAME DESIRED CURRENT AGE ksql 2 2 4s Run Command: kubectl --context gke-platform-develop -n operator rollout status sts/ksql -w When the script completes, enter the following command: :: kubectl get pods -n operator The following output should be displayed. :: NAME READY STATUS RESTARTS AGE cc-operator-76c54d65cd-vgm5w 1/1 Running 0 7m28s connectors-0 1/1 Running 0 2m17s connectors-1 1/1 Running 0 2m17s controlcenter-0 1/1 Running 0 2m14s kafka-0 1/1 Running 0 6m23s kafka-1 1/1 Running 0 4m58s kafka-2 1/1 Running 0 3m40s ksql-0 1/1 Running 0 2m10s ksql-1 1/1 Running 0 2m10s replicator-0 1/1 Running 0 2m7s replicator-1 1/1 Running 0 2m7s schemaregistry-0 1/1 Running 0 2m4s schemaregistry-1 1/1 Running 0 2m4s zookeeper-0 1/1 Running 0 7m15s zookeeper-1 1/1 Running 0 7m15s zookeeper-2 1/1 Running 0 7m15s .. note:: See :ref:`co-test-deployment` in the manual instructions for internal and external deployment testing steps. .. tip:: If you want to delete components, enter the command ``./operator-util.sh --delete -n -r -f ``.