Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member207000
Participant
Before I start explaining, how to manage your first container on SAP Cloud Platform, Kyma runtime. I hope you are already aware of the Docker container and deployed your container on the SAP Cloud Platform. If not, then first read the following article and perform all the steps, we'll use the same container for Kyma runtime.

Deploy Python Application on SAP Cloud Platform using Docker Container


 

I'll briefly explain all the terms we are using in this article.

Docker


Docker is the containerization platform that packages your application and all its dependencies together in the form of containers, which make your application works seamlessly in any environment.

Kubernetes


Kubernetes is an open-source container orchestration engine for automating deployment, scaling, and management of containerized applications.

Kyma Runtime


Kyma is an open-source project built on top of Kubernetes, Kyma Runtime is a fully managed Kubernetes-based runtime that allows partners and customers to build extensions by using both microservice and serverless functions.

Steps:


We'll follow this 6 steps approach to run our container on Kyma Runtime.

  1.  Follow all the steps from our previous article.

    • Create the python source code (helloworld.py)

    • Create a Dockerfile file  (Dockerfile)

    • Build the docker image  (hello-world-python)

    • Run the image in a container

    • Push the image to docker hub

    • Push the docker image from docker hub to SAP Cloud Platform



  2.  Install Kubernetes command-line tool, kubectl  and enable Kubernetes in Docker Desktop

  3.  Create a deployment.yaml file.

  4.  Deploy on Kubernetes installed locally (Optional Step )

  5.  Deploy on SAP Cloud Platform, Kyma Runtime using Kyma Console

  6.  Create APIrule and test our application.


Installation

Docker Desktop is already installed ( assuming you completed the previous article).

Enable Kubernetes in Docker Desktop.

Goto Docker Application installed on the machine and enable it.


 

Install kubectl (Kubernetes Command Line Interface), I found it here.

https://storage.googleapis.com/kubernetes-release/release/v1.20.0/bin/windows/amd64/kubectl.exe

After installation verify your kubectl is configured. At the command line, type the following:
kubectl version


Now you are working with Kubernetes! You can see the node by typing:
kubectl get nodes


 

Deployment.yaml


Now let’s begin the action. Create a file named deployment.yaml and add the following contents to it and then save it:
apiVersion: v1
kind: Service
metadata:
name: helloworld
labels:
app: helloworld
spec:
ports:
- name: http
port: 3333
selector:
app: helloworld

---

apiVersion: apps/v1
kind: Deployment
metadata:
name: helloworld
spec:
selector:
matchLabels:
app: helloworld
replicas: 4
template:
metadata:
labels:
app: helloworld
spec:
containers:
- image: ravimittal/hello-world-python-image
name: helloworld
ports:
- containerPort: 3333

 

This YAML file is the instructions to Kubernetes for what you want running. It is telling Kubernetes the following:

  • You want a load-balanced service exposing port 3333

  • You want four instances of the helloworld container running


 

Deploy Locally ( Optional Step )


Use kubectl to send the YAML file to Kubernetes by running the following command:
kubectl apply -f deployment.yaml

You can see the pods are running if you execute the following command:
kubectl get pods



Deploy on Kyma Runtime


Now it's time to run the container on SAP Cloud Platform, Kyma Runtime.

Go to SAP Cloud Platform Cockpit, and use Console URL to open Kyma Console ( Under Kyma Runtime Tab )


 

Follow the article on Developers.sap.com to Enable SAP Cloud Platform, Kyma Runtime, and create Dev namespace.

https://developers.sap.com/tutorials/cp-kyma-getting-started.html


Within next few seconds after deployment, you will see 4 Pods are running. Hope you remember in the Deployment.yaml file we instructed runtime for 4 instances.


Click on Pods to see our container details.


 

On the right side of the above screen, click on three dots, you will get the option to Delete the POD.

Delete it, you will see that runtime automatically creates a new POD.

 

That's it! We got our containers running on SAP Cloud Platform, Kyma runtime.

But something is missing unless we see some output/result from our container/application.

 

Here we can create another YAML file or we can use the Kyma console to create APIRule to access our container app.


Enter any Name and Hostname and Create API Rule. You will get the URL under Host on the next screen.


Click on this URL, or copy/paste in any browser, and you will see our application running. 🙂


Now that's the end of our article. Try yourself and share your queries and feedback.

Thanks for reading!
8 Comments