View on GitHub

cloud-robotics

Cloud Robotics Core: Kubernetes, Federation, App Management

Deploy Cloud Robotics Core from sources

Estimated time: 30 min

This page describes how to deploy Cloud Robotics Core from sources on your Kyma Cluster.

Please use a Linux shell like Ubuntu 20.04 LTS. You will need the following tools on your machine

Build and deploy the project

  1. Get a Kubernetes cluster with Kyma or Istio

    Examples:

  2. Clone the source repo.

     git clone https://github.com/SAP/cloud-robotics
     cd cloud-robotics
    
  3. Create a Cloud Robotics config in your Kyma cluster:

    Before you deploy the images in your cluster for the first time you need to configure it using make kubeconfig=<path of kubeconfig file of your cluster> set-deployment-config.

    Please answer the configuration questions. Domain and Ingress IP of your cluster should be determined automatically and provided as default values.

    If you keep the default registry ghcr.io/sap/cloud-robotics in your configuration you could skip step 4. We built the images and pushed them for you into our github docker registry.

    When you save the configuration and there is no .REGISTRY file on your computer, it will be created automatically using the registry you entered in the wizzard. The script will not overwrite existing values. The file is used when you build your own images in step 4.

    Command summary:

     make kubeconfig=<path of kubeconfig file of your cluster> set-deployment-config
    
  4. Build the project. Depending on your computer and internet connection, it may take around 15 minutes.

    Docker containers for core services are built in docker containers.

    For convenience you can save the docker registry you want to use in .REGISTRY file in the root directory of this repository on your computer. The registry from this file is used by default for building and pushing your images. This file is not synchronized to github.

    You can start building your docker images using make docker-images

    After a successfull build make docker-push pushes them to the registry.

    Command summary:

    make docker-images
    make docker-push
    
  5. Deploy the cloud project.

    In order to deploy the core services use this command make kubeconfig=<path of kubeconfig file of your cluster> create-deployment.

    When your docker images are pushed and your cluster is configured correctly this deployment should finish automatically after a while.

    Command summary:

     make kubeconfig=<path of kubeconfig file of your cluster> create-deployment
    

After completing the deployment, you can list these components from the console on your workstation:

$ kubectl get pods
NAME                                          READY   STATUS    RESTARTS   AGE
cert-manager-57db9b7d88-gm6qv                 1/1     Running   0          64m
cert-manager-cainjector-55d7f64568-hctf2      1/1     Running   0          64m
cert-manager-webhook-7766b75f65-gj2w7         1/1     Running   0          64m
app-rollout-controller-64b7676d6-bdf6f        1/1     Running   0          59s
chart-assignment-controller-73a7f73d6-acf7e   1/1     Running   0          59s

More services are about to come 😀

With the project deployed, you’re ready to connect a robot to the cloud.

Update the project

To apply changes made in the source code, run:

make docker-images
make docker-push
make kubeconfig=<path of kubeconfig file of your cluster> update-deployment

What’s next