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
-
Get a Kubernetes cluster with Kyma or Istio
Examples:
-
Clone the source repo.
git clone https://github.com/SAP/cloud-robotics cd cloud-robotics
-
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
-
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
-
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