Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Creating the DuploCloud Infrastructure and a Plan
Each DuploCloud Infrastructure is a connection to a unique Virtual Private Cloud (VPC) network that resides in a region that can host Kubernetes clusters.
After you supply a few basic inputs, DuploCloud creates an Infrastructure for you within Google Cloud Platform (GCP) and DuploCloud, with a few clicks. Behind the scenes, DuploCloud does a lot with what little you supply — generating the VPC, Subnets, NAT Gateway, Routes, and Google Kubernetes Engine (GKE) cluster.
With the Infrastructure as your foundation, you can customize an extensible, versatile Platform Engineering development environment by adding Tenants, Hosts, Services, and more.
Estimated time to complete Step 1: 20 minutes. Much of this time is consumed by DuploCloud's creation of the Infrastructure and enabling your GKE cluster with Kubernetes.
Before starting this tutorial:
Learn more about DuploCloud Infrastructures, Plans, and Tenants.
Reference the Access Control documentation to create User IDs with the Administrator role. To perform the tasks in this tutorial, you must have Administrator privileges.
In the DuploCloud Portal, navigate to Administrator -> Infrastructure. The Infrastructure page displays.
Click Add. The Add Infrastructure page displays.
From the table below, enter the values that correspond to the fields on the Add Infrastructure page. Accept all other default values for fields not specified.
Use the toggle switch to Enable GKE.
Select either GKE Autopilot or GKE Standard options. You will follow different paths in the tutorial for creating clusters with GKE Autopilot or GKE Standard.
Click Create to create the Infrastructure. DuploCloud begins creating and configuring your Infrastructure and GKE Cluster using Kubernetes. It may take up to twenty (20) minutes to create the Infrastructure.
It may take up to twenty (20) minutes for your Infrastructure to be created and Kubernetes (GKE) enablement to be complete. Use the Kubernetes card in the Infrastructure screen to monitor the status, which should display as Enabled when completed. You can also monitor progress by using the Kubernetes tab, as DuploCloud generates your Cluster Name, Default VM Size, Server Endpoint, and Token.
Every DuploCloud Infrastructure generates a Plan. Plans are sets of templates that are used to configure the Tenants or workspaces, in your Infrastructure. You will set up Tenants in the next tutorial step.
Before proceeding, confirm that a Plan exists that corresponds to your newly created Infrastructure.
In the DuploCloud Portal, navigate to Administrator -> Plans. The Plans page displays.
Verify that a Plan exists with the name you gave to the Infrastructure you created.
You previously verified that your Infrastructure and Plan were created. Now verify that Kubernetes is enabled before proceeding to Create a Tenant.
In the DuploCloud Portal, navigate to Administrator -> Infrastructure. The Infrastructure page displays.
From the NAME column, click on the name of the Infrastructure you created.
Click the GKE tab. When Kubernetes has been Enabled for GKE, details are listed in the tab. The Infrastructure page displays the Enabled status on the Kubernetes card for GKE Clusters.
When an Infrastructure is created, a GKE Cluster is created by default. You can view the details and download the kubeconfig file from the DuploCloud portal.
From the DuploCloud portal, navigate to Administrator -> Infrastructure. Click on the name of the Infrastructure, and select the GKE tab. To download the kubeconfig file, click Download Kube Config.
Add Infrastructure page field | Value |
---|---|
Name
YOUR_INFRA_NAME
Account
YOUR_GOOGLE_ACCOUNT
VPC CIDR
10.10.0.0/16
Cloud
Google
Region
YOUR_GEOGRAPHIC_REGION
Subnet
CIDR 22
Get up and running with DuploCloud inside a Google Cloud Platform environment; harness the power of generating application infrastructures.
This quick-start tutorial shows you how to set up an end-to-end cloud deployment. You will create Google Cloud Platform infrastructure and Tenants. By the end of this tutorial, you should be able to view the deployed sample web application.
Estimated time to complete tutorial: 60-70 minutes.
When you complete the GCP Quick Start Tutorial, you have two options or paths, as shown in the table below.
Using GKE Autopilot - You create an app and service in DuploCloud using Google Kubernetes Engine-Autopilot and expose it using a load balancer within DuploCloud.
Using GKE Standard - You create an app, service and a node pool in DuploCloud using Google Kubernetes Engine-Standard and expose it using a load balancer within DuploCloud.
For beginners, we recommend you use GKE Autopilot. GKE Autopilot manages the infrastructure, including the nodes, node pools, and underlying infrastructure resources such as networking and storage. You do not need to manage or configure node pools, node instance types, or autoscaling policies.
GKE Standard offers more granular control over resource management, including the ability to configure node pools with specific types of instances, set scaling policies, and manage node upgrades.
For a high-level comparison of GKE Autopilot and GKE Standard and to help you choose which method best suits your needs, skills, and environments, see this Google Cloud documentation.
* - Optional Step
Click the card below to watch a DuploCloud GCP demo.
Step | GKE Autopilot | GKE Standard |
---|---|---|
1
Create Infrastructure and Plan
Create Infrastructure and Plan
2
Create Tenant
Create Tenant
3
Create Service
Create Service
4
Create Load Balancer
Create a Node Pool
5
Test the app
Create Load Balancer
6
Test the app
Finish the Quick Start Tutorial by creating a Service using GKE Autopilot
In this tutorial for DuploCloud AWS, you have so far created a VPC network with configuration templates (Infrastructure and Plan) and an isolated workspace (Tenant).
Now you need to create a DuploCloud Service on top of your Infrastructure and configure the Service to run and deploy your application. In this tutorial path, we'll deploy using Docker containers, leveraging Google Cloud Platform's (GCE) Google Kubernetes Engine (GKE) Autopilot.
Alternatively, you can finish this tutorial by:
For a comparison of the benefits of GKE Autopilot vs. GKE Standard, consult this Google Cloud article.
Estimated time to complete remaining tutorial steps: 15-20 minutes
For the remaining steps in this tutorial, you will:
Create a Service and applications (webapp) using the premade Docker image nginx:latest.
Expose the Service by creating and sharing a load balancer and DNS name.
Test the application.
Creating a DuploCloud Tenant that segregates your workloads
Now that the Infrastructure and Plan exist and a Kubernetes GKE Cluster has been enabled, create one or more Tenants that use the configuration DuploCloud created.
Tenants in DuploCloud are similar to projects or workspaces and have a subordinate relationship to the Infrastructure. Think of the Infrastructure as a virtual "house" (cloud), with Tenants conceptually "residing" in the Infrastructure performing specific workloads that you define. As Infrastructure is an abstraction of a Virtual Private Cloud, Tenants abstract the segregation created by a Kubernetes Namespace, although Kubernetes Namespaces are only one component that Tenants can contain.
Estimated time to complete Step 2: 10 minutes.
DuploCloud customers often create at least two Tenants for their production and non-production cloud environments (Infrastructures).
For example:
Production Infrastructure
Pre-production Tenant - for preparing or reviewing production code
Production Tenant - for deploying tested code
Non-production Infrastructure
Development Tenant - for writing and reviewing code
Quality Assurance Tenant - for automated testing
In larger organizations, some customers create Tenants based on application environments, such as creating one Tenant for Data Science applications and another Tenant for web applications, and so on.
Tenants are sometimes created to isolate a single customer workload, allowing more granular performance monitoring, scaling flexibility, or tighter security. This is referred to as a single-Tenant setup.
Before creating a Tenant, verify that you accomplished the tasks in the previous tutorial steps. Using the DuploCloud Portal, confirm that:
An Infrastructure and Plan exist, both with the name you created.
The Infrastructure has Kubernetes (GKE) Enabled.
Create a Tenant for your Infrastructure and Plan:
In the DuploCloud Portal, navigate to Administrator -> Tenants.
Click Add. The Create a Tenant pane displays.
Enter a unique name for your Tenant in the Name field.
Select the Plan that you created in the previous step.
Click Create.
It may take 1-2 minutes for the Tenant to be set up. While the Tenant is setting up, a temporary fault may show up under Administrator -> Faults. This fault can be ignored, as it should clear within the first 2 minutes.
From the DuploCloud portal, navigate to Administrator -> Tenants, and verify that a Tenant exists with the name and Plan you created.
Creating a Kubernetes Service to run a Docker-containerized application
In this exercise, we will create a simple Google Cloud Nginx service. When you run the application, DuploCloud accesses Docker images in a preconfigured Docker Hub.
When you run your own applications, you will choose a public image or provide credentials to access your private repository. Before you deploy your own applications, configure your Docker Registry credentials in DuploCloud.
Estimated time to complete Step 3: 10 minutes.
Before creating a Service, verify that you accomplished the tasks in the previous tutorial steps. Using the DuploCloud Portal, confirm that:
An Infrastructure and Plan exist, both with the name that you chose.
The Infrastructure has GKE Enabled.
A Tenant with the name you chose has been created.
In the Tenant list box, on the upper-left side of the DuploCloud Portal, select the Tenant that you created.
In the DuploCloud Portal, navigate to Kubernetes -> Services. The Services page displays.
Click Add. The Add Service page displays.
In the Service Name field, enter a name for the service (in the example below, the name is "myservice").
In the Docker image field, enter the docker image (nginx:latest
).
Click Next. The Advanced Options page is displayed.
At the bottom of the Advanced Options page, click Create. Your Service is created and initialized.
It may take approximately five (5) minutes for the Service to initialize. Use the Containers page (Kubernetes -> Containers) to monitor the Service creation status, between Desired (Running) and Current.
From the DuploCloud portal, navigate to Kubernetes -> Services, and verify that your DuploCloud Service has a Current status of Running.
Creating a Load Balancer to configure network ports to access the application
Now that your DuploCloud Service is running, you have a mechanism to expose the containers and images in which your application resides. But because your containers are running inside a private network, you also need a load balancer to listen on the correct ports in order to access the application.
In this step, we add a Load Balancer Listener to complete this network configuration.
Estimated time to complete Step 4: 10 minutes.
Before creating a Load Balancer, verify that you accomplished the tasks in the previous tutorial steps. Using the DuploCloud Portal, confirm that:
An Infrastructure and Plan exist, both with the name you created.
The Infrastructure you created has GKE Enabled.
A Tenant with the name you chose has been created.
A Service with the name you chose has been created.
In the Tenant list box, on the upper-left side of the DuploCloud Portal, select the Tenant that you created.
All containers are running inside a private network and cannot be accessed from an external network. To do so one can create a load balancer.
In the DuploCloud Portal, navigate to Kubernetes -> Services. The Services page displays.
From the Name column, click on the name of your Service
Click the Load Balancers tab.
Click the Configure Load Balancer link. The Add Load Balancer Listener pane displays.
From the Type list box, select Application LB.
In the Container Port field, enter 80. This is the configured port on which the application inside the Docker Container Image is running.
In the External Port field, enter 80. This is the port through which users will access the web application.
From the Visibility list box, select Public.
From the Application Mode list box, select Docker Mode.
Type / (forward-slash) in the Health Check field to indicate that the cluster we want Kubernetes to perform Health Checks on is located at the root
level.
In the Backend Protocol list box, select HTTP.
Click Add. The Load Balancer is created and initialized. In approximately 2-3 minutes you will see the load balancer details available in the portal. When the Load Balancer is ready for use the LB Status card displays Ready.
From the DuploCloud portal, navigate to Kubernetes -> Services.
Click on the name of your Service.
Verify that the Load Balancer has a status of Ready on the LB Status card.
Create a Node Pool to run the operating system for your app.
A Node Pool is a group of Compute Engine VM instances within a GKE cluster that have the same configuration and provide the compute resources for running Kubernetes workloads. Node Pools allow you to customize and manage subsets of nodes within your GKE cluster to meet the requirements of your applications.
Estimated time to complete Step 3: 10 minutes.
Before creating a Service, verify that you accomplished the tasks in the previous tutorial steps. Using the DuploCloud Portal, confirm that:
In the Tenant list box, on the upper-left side of the DuploCloud Portal, select the Tenant that you created.
From the DuploCloud portal, navigate to Kubernetes -> Node Pools.
Click on the Node Pool tab and then click Add. The Add Node Pool page displays.
In the Name field, enter a unique name for your GCE Virtual Machine. Choose the same Availability Zone as your Infrastructure, and update the Instance Type, if needed.
Optionally, Enable Autoscaling.
If autoscaling is enabled, set the Initial Node Count, Min Node Count, Max Node Count, and Location Policy.
Click Create. The Node Pool is created.
Navigate to Kubernetes -> Nodes, and click on the Node Pool tab.
Click on the name of the Node Pool that you created.
Verify that the Status is Running.
Creating a Kubernetes Service to run a Docker-containerized application
In this exercise, we will create a simple Google Cloud Nginx service. When you run the application, DuploCloud accesses Docker images in a preconfigured Docker Hub.
Estimated time to complete Step 4: 10 minutes.
Before creating a Service, verify that you accomplished the tasks in the previous tutorial steps. Using the DuploCloud Portal, confirm that:
In the Tenant list box, on the upper-left side of the DuploCloud Portal, select the Tenant that you created.
In the DuploCloud Portal, navigate to Kubernetes -> Services. The Services page displays.
Click Add. The Add Service page displays.
In the Service Name field, enter a name for the service (in the example below, the name is "myservice").
In the Docker image field, enter the docker image (for example "nginx:latest").
Click Next. The Advanced Options page is displayed.
At the bottom of the Advanced Options page, click Create. Your Service is created and initialized.
It may take approximately five (5) minutes for the Service to initialize. Use the Containers page (Kubernetes -> Containers) to monitor the Service creation status, between Desired (Running) and Current.
From the DuploCloud portal, navigate to Kubernetes -> Services, and verify that your DuploCloud Service has a Current status of Running.
Creating a Load Balancer to configure network ports to access the application
Now that your DuploCloud Service is running, you have a mechanism to expose the containers and images in which your application resides. But because your containers are running inside a private network, you also need a load balancer to listen on the correct ports in order to access the application.
In this step, we add a Load Balancer Listener to complete this network configuration.
Estimated time to complete Step 5: 10 minutes.
Before creating a Load Balancer, verify that you accomplished the tasks in the previous tutorial steps. Using the DuploCloud Portal, confirm that:
In the Tenant list box, on the upper-left side of the DuploCloud Portal, select the Tenant that you created.
All containers are running inside a private network and cannot be accessed from an external network. To do so one can create a load balancer.
In the DuploCloud Portal, navigate to Kubernetes -> Services. The Services page displays.
From the NAME column, select the name of your Service
Click the Load Balancers tab.
Click the Configure Load Balancer link. The Add Load Balancer Listener pane displays.
From the Type list box, select Application LB.
In the Container Port field, enter 80. This is the configured port on which the application inside the Docker Container Image is running.
In the External Port field, enter 80. This is the port through which users will access the web application.
From the Visibility list box, select Public.
From the Application Mode list box, select Docker Mode.
Type / (forward-slash) in the Health Check field to indicate that the cluster we want Kubernetes to perform Health Checks on is located at the root
level.
In the Backend Protocol list box, select HTTP.
Click Add. The Load Balancer is created and initialized. In approximately 2-3 minutes you will see the load balancer details available in the portal. When the Load Balancer is ready for use the LB Status card displays Ready.
From the DuploCloud portal, navigate to Kubernetes -> Services.
Click on the name of your Service.
Verify that the Load Balancer has a status of Ready on the LB Status card.
An exist, both with the name that you chose.
The Infrastructure has .
A Tenant with the .
For more advanced node pool functions, see the .
When you run your own applications, you will choose a public image or provide credentials to access your private repository. Before you deploy your own applications, .
An exist, both with the name that you chose.
The Infrastructure has .
A with the name you chose has been created.
A had been created.
An exist, both with the name you created.
The Infrastructure you created has .
A with the name you chose has been created.
A had been created.
A with the name you chose has been created.
Test the application to ensure you get the results you expect
You can test your application directly from the Services page.
Estimated time to complete Step 6 and finish tutorial: 10 minutes.
Before creating a Load Balancer, verify that you accomplished the tasks in the previous tutorial steps. Using the DuploCloud Portal, confirm that:
An Infrastructure and Plan exist, both with the name you created.
The Infrastructure you created has GKE Enabled.
A Tenant with the name you chose has been created.
A Node Pool has been created.
A Service with the name you chose has been created.
An Application Load Balancer has been created.
In the Tenant list box, on the upper-left side of the DuploCloud Portal, select the Tenant that you created.
In the DuploCloud Portal, navigate to Kubernetes -> Services. The Services page displays.
From the Name column, select demo-service.
Click the Load Balancers tab. The Application Load Balancer configuration is displayed.
Open a browser instance and Paste the IP Address in the URL field of your browser.
Press ENTER. A web page with the text Welcome to nginx! is displayed.
Congratulations! You have just launched your first web service on DuploCloud!
In the LB Configuration card, click the Copy Icon ( ) to copy the IP Address displayed to your clipboard.
Test the application to ensure you get the results you expect
You can test your application directly from the Services page.
Estimated time to complete Step 5 and finish tutorial: 10 minutes.
Before creating a Load Balancer, verify that you accomplished the tasks in the previous tutorial steps. Using the DuploCloud Portal, confirm that:
In the Tenant list box, on the upper-left side of the DuploCloud Portal, select the Tenant that you created.
In the DuploCloud Portal, navigate to Kubernetes -> Services. The Services page displays.
From the Name column, click on the Service you created.
Click the Load Balancers tab. The Application Load Balancer configuration is displayed.
Open a browser instance and Paste the IP Address in the URL field of your browser.
Press ENTER. A web page with the text Welcome to nginx! is displayed.
Congratulations! You have just launched your first web service on DuploCloud!
An exist, both with the name you created.
The Infrastructure you created has .
A with the name you chose has been created.
A with the name you chose has been created.
An has been created.
In the LB Configuration card, click the Copy Icon ( ) to copy the IP Address displayed to your clipboard.
Finish the Quick Start Tutorial by creating a Service using GKE Standard
In this tutorial for DuploCloud AWS, you have so far created a VPC network with configuration templates (Infrastructure and Plan) and an isolated workspace (Tenant).
Now you need to create a DuploCloud Service on top of your Infrastructure and configure the Service to run and deploy your application. In this tutorial path, we'll deploy using Docker containers, leveraging Google Cloud Platform's (GCE) Google Kubernetes Engine (GKE) Standard.
Alternatively, you can finish this tutorial by:
For a comparison of the benefits of GKE Autopilot vs. GKE Standard, consult this Google Cloud article.
Estimated time to complete remaining tutorial steps: 30-40 minutes
For the remaining steps in this tutorial, you will:
Create a GCE Virtual Machine (VM) or a Node Pool.
Create a Service and applications (webapp) using the premade Docker image nginx:latest.
Expose the Service by creating and sharing a load balancer and DNS name.
Test the application.