Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

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

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. 

  1. https://cloudsphere.atlassian.net/wiki/x/95F4BQ

  2. https://cloudsphere.atlassian.net/wiki/x/MQUGAw

  3. https://cloudsphere.atlassian.net/wiki/x/h4MGAw