This topic describes the steps to create a Kubernetes YAML based blueprint. HyperCloud™ Platform supports deploying standard Kubernetes blueprints. Kubernetes blueprints can only be deployed if a Kubernetes cluster is deployed using HyperCloud Platform.
Deploying a Managed Kubernetes Cluster (Azure Kubernetes Service)
Use the following steps to deploy a Kubernetes Cluster using the Microsoft Azure Kubernetes Service
Note: There must be enough resources available in the Resource Pool used for deploying the Azure Kubernetes Cluster.
Login to the HyperCloud™ Platform with your credentials Click on Services Orchestration Tab Click on Containers tab Click on New to Launch Kubernetes Cluster Wizard
Enter a Name: hg-prod-aks-1
From the drop-down for Cloud Select Azure Kubernetes Service (AKS)
Type: Standard
Resource Pools: RP.ARM.South East Asia.<RP-Name>
Machine Type: Standard_D11
Node Count per Zone: 2
Select Resource group from the drop-down for e.g hg-prod-aks-rg
Click Save Changes
Click on the Cluster Click on Timeline Tab Click on View Execution Logs.
Note: If you run into an error stating - Operation could not be completed as it results in exceeding approved standardDFamily Cores quota. Additional details…. You may need to pick a different instance or contact your administrator who can request a quota increase
Deploying a Managed Kubernetes Cluster (Amazon Elastic Kubernetes Service)
Use the following steps to deploy a Kubernetes Cluster using the Amazon Elastic Kubernetes Service
Login to the HyperCloud™ Platform with your credentials Click on Services Orchestration Tab Click on Containers tab Click on New to Launch Kubernetes Cluster Wizard
Enter a Name: hg-prod-eks-1
From the Target drop-down: Select Amazon Elastic Kubernetes Service (AKS)
Type: High-Availability
Resource Pools: RP.AWS.ap-southeast-1a.<RP>, RP.AWS.ap-southeast-1b.<RP >
Note: Must have 2 AWS Resource available which are created from a different Availability Zones
Machine Type: c5.large
Node Count per Zone: 2
AutoScale Custer: Enabled (Default)
Minimum Worker per Pool: 2
Maximum Worker per Pool: 5
ROLE ARN: Select the Amazon EKS Service Role
Select Resource group from the drop-down for e.g hg-prod-aks-rg
To allow specific users to access this Cluster, Click on Users & Groups
Only Me: Only the creator can access this Cluster
Everyone: All users in this Tenant can access this Kubernetes Cluster
Groups & Users
In the users Text Box: Type the first alphabet of a username you would like to add & select the user
In the Groups Text Box: Type the first alphabet of a group name you would like to add and select the group.
Click Save Changes
...
Click on the Cluster Click on Timeline Tab Click on View Execution Logs
Configuring a Managed Kubernetes Cluster
Configuring Kubernetes Namespace
Kubernetes Namespace – acts like a workspace with optional quotas and limits for each pod (containers). Use the following steps to create a Kubernetes namespace.
Note: Kubernetes best practice suggest creating dedicated namespace for you Applications and avoid using the default namespace.
Login to the HyperCloud™ Platform with your credentials Click on Services Orchestration Tab Click on Containers tab Click on the Kubernetes Cluster already provisioned
Click on Action Button Click on New Namespace
Enter a Name for the Namespace for e.g. production
Click Save
Configuring Kubernetes Secret
Secret can be credentials/ hidden configuration which can referenced by containers during runtime
Note: Kubernetes Secrets must be created within a namespace. This secret can be used by deployments in the current namespace only.
Login to the HyperCloud™ Platform with your credentials Click on Services Orchestration Tab Click on Containers tab Click on the Kubernetes Cluster already provisioned
Click on Action Button Click on New Secret
Enter a name: app1-secret1
Select Namespace: production
From the Type Drop-down: Select the Secrete type
opaque
kubernetes.io/tls
kubernetest.io/dockerconfigjson
Note: Refer the Kubernetes Secret Overview for more details
Click Save to create a secret in the name space
...
To view the secret, click on the Kubernetes Namespace tab Click on the same space which was selected to create the secret.
Configuring Kubernetes Storage Class
Storage class – allow Kubernetes blueprints to create volumes in specific class automatically.
Note: Storage Class is not bound to a namespace.
Login to the HyperCloud™ Platform with your credentials Click on Services Orchestration Tab Click on Containers tab Click on the Kubernetes Cluster already provisioned
Click on Action Button Click on New Storage Class
Enter a Name for the storage Class: Standard
Click Save
Configuring Kubernetes Persistent Volumes
Persistent Volumes are pre-created volumes which can be attached to containers during runtime.
Login to the HyperCloud™ Platform with your credentials Click on Services Orchestration Tab Click on Containers tab Click on the Kubernetes Cluster already provisioned
Click on Action Button Click on New
Enter a Volume Name: app1-vol1
Storage Class: Standard
Reclaim Policy: Delete
Disk – Select disk options to create the persistent volume
New – Enter a Volume Size (GB) for e.g 100 GB
Existing – User must provide the exact URI for an existing volume
Click Save
Deploying a Kubernetes Blueprint (YAML)
Use the following steps to deploy a Kubernetes blueprint.
Login to the HyperCloud™ Platform with your credentials Click on Services Orchestration Tab Click on AppStore.
Click on New Click on K8S
Click on Action Import
Click on Choose File Enter the following URL Kubernetes Guestbook Application
Note: By default, this application will not be accessible to the internet. To enable internet access, change the following under the kind: Service
...
spec:
#type : NodePort (Comment this line)
type: LoadBalancer
Click Save Changes
...
Click on the Kubernetes Blueprint
Select the namespace: production
Click on Run
Note: This may take more than a few minutes
The Application can be found under Services Orchestration Tab Click on Apps tab
Refer https://kubernetes.io/docs/tutorials/ to create Kubernetes YAML based Blueprints.
Deploying a Kubernetes Blueprint (Hem Chart)
Use the following steps to deploy a Kubernetes blueprint.
...
Download the sample Kubernetes HELM Chart from https://github.com/hypergrid-inc/HyperCloud-Blueprints/tree/master/Kubernetes/Helm%20Charts/mongodb
Create an archive using the following steps:
...
tar -cvf mongodb
tar --gzip -cvzf mongodb-5.17.0.tgz mongodb
...
Login to the HyperCloud™ Platform with your credentials Click on Services Orchestration Tab Click on AppStore. Click on New Click on Helm
Enter a Name: MongoDB
Click on Choose File and upload the mongodb-5.17.0.tgz
On the Entitled Users:
Select Only Me: If this template is not meant to be shared
Select Everyone: If this template is to be shared with everyone in the Tenant
Select Groups & Users: if the template is to be shared with specific users or groups
Click on Save Changes
...
Click on the Helm Chart for mongodb Select a namespace for e.g. production Click Run.
...
Overview
...
The HyperCloud™ Platform (HCP) supports standard Kubernetes Blueprint deployments. You can deploy a Kubernetes blueprint only on a Kubernetes cluster.
Follow these steps to create a Kubernetes Blueprint using YAML.