Hosting Containerized Cloud-Native Stacks (Kubernetes) on GCP Marketplace
Google Cloud Marketplace is the fastest way for the customers to get started on Google Cloud Platform (GCP). GCP Marketplace offers ready-to-go development stacks, solutions, and services to accelerate development so that the users can spend less time installing and more time developing the application.
Why Google cloud marketplace?
Deploy in a few clicks.
Augment platform capabilities.
Built using Deployment Manager.
Security update notifications.
Steps to place the application on Google cloud marketplace:
The technical integration of the overall procedure is shown in the below diagram.
The main seven steps need to be followed while placing an application to the marketplace are described below.
Step 1: Fetch the helm chart
Download the helm chart of the application from its repository or write the required helm chart of the application. The helm chart mainly contains values.yaml, chart.yaml, and templates files.
The above diagram shows the sample tree structure of the helm chart. Click here to get to know more about helm charts.
Step 2: Create the initial schema
Write the schema.yaml file for the application because a schema defines the general structure to which files should adhere. The general structure of the schema.yaml file.
Step 3: Add an application descriptor
In the template folder of the helm chart, add a file named application.yaml with the contents shown below. The file mainly describes the application and is used in the UI.
Step 4: Write the Dockerfile
Container images are typically built using a Dockerfile and the docker build command-line tool. It is better to publish the Dockerfile and container build instructions in the public repository for the application. This enables customers to modify or rebuild the images, which is sometimes necessary to certify images for enterprise production environments. If the application image depends on a base image such as Debian, or a language run time image such as Python or OpenJDK, then one must use one of GCP Marketplace's certified container images.
Build the Dockerfile using the following command
sudo docker build -t mongodb .
Step 5: Push the Docker image to the registry
Container Registry repository must have the following structure:
The Application's main image must be in the root of the repository. The application's image should be in gcr.io/boxbe00034/mongodb format.
Deployer folder contains the image to be deployed.
If your application uses additional container images, each additional image must be in its own folder. For example, if your application requires an Ubuntu 16.04 image, add the image to gcr.io/boxbe00034/mongodb/ubuntu16_04.
All the images in your application must be tagged with the minor version using semantic versioning of the application.
Push the built application to the remote GCR (Google Container Registry) so that the application running in the cluster can access the image. The command to push the application to the container registry is :
docker --push gcr.io/boxbe00034/mongodb : 4.0
Once you push the application to the registry, the image registry looks as shown below:
Step 6: Submitting the application
Enable Partner Portal
Add your solution to partner portal:
In Partner Portal, you must add marketing information about your solution, and set up the product versions that you want to list.
Submit solution for review
Step 7: Getting the GCP Marketplace security check
Once you submit the solution, automatically through the GCP Marketplace platform testing and reviewing operations will take place. Automated testing includes security scanning, functional testing, and integration testing. This platform also provides the application’s end-to-end customer experience, including marketing materials, installation flow, security, and user guide.
When the application is supposed to publish in the marketplace, it should undergo many important steps, which include, building the image, test, deploy and reviewed by the marketplace teams. This document describes the most important steps to be followed while on boarding an application to the GCP marketplace. This procedure can also be followed for publishing applications in other cloud and container marketplaces such as AWS Marketplace, Azure Marketplace, IBM Cloud Marketplace, Oracle Cloud Marketplace and so on, with minimal changes on the platform, programming and operational dependencies respect to marketplace terms and conditions.
For building custom based cloud-native stack development & integration, hosting private or public marketplace repositories for existing applications and newly build cloud-native stacks, if you require more details about cloud-native microservices & cloud-native stack transformation, please refer to Yobitel Communications. www.yobitel.com.