LogoLogo
HI GIO User Guide EN
HI GIO User Guide EN
  • HI GIO Cloud Help Center
    • HI GIO Cloud Website
    • HI GIO Cloud Sales Portfolio
  • COMPUTE
    • 1. Working with VM
      • Create a New Virtual Machine from ISO
      • Create a Virtual Machine from a Template
      • Install VMware Tools in a Virtual Machine
      • View VM
      • Performing Power Operations on Virtual Machines
      • Editing the properties of a new VM
      • Create VM's Template
      • Force change root/administrator's password
      • Safely remove Disk in Windows OS
    • 2. Working with vAPP
      • Create a vAPP
      • Start and Stop Order of Virtual Machines in a vApp
    • 3. HI GIO Auto Scale
    • 4. HI GIO API
      • API creates VM from Template
      • API reconfigures VM's Disk
      • API reconfigures VM's Networks
      • API token login
      • API reconfigures VM's Memory
      • API reconfigures VM's CPU
      • API power on/off VM
    • 5. HI GIO KMS Service
    • 6. Encryption Management Service
  • HI GIO S3 STORAGE
    • Login to HI GIO S3 Storage Portal
    • How to get the S3 Key
    • Mount HI GIO S3 Storage into Windows
    • Bucket Management
      • How to create the new Bucket
      • Setup Public or Private ACL for Bucket
      • Versioning
      • Lifecycle Rule
      • Bucket Policy
    • Management File, Folder
      • Create the Folder
      • Upload Folder/File
      • Download Folder/Files
      • Get the link Download of Files
      • File Versioning
    • Connect S3 Services with Veeam Backup
      • Connect HI GIO S3 with Veeam Backup
    • Backup DATA from NAS to HI GIO S3 Service
      • Backup Data from Synology NAS with ClouSync
      • Backup Data from Synology NAS with Hyper Backup
    • S3 Data Encryption – SSE-C and SSE-S3
  • BACK-UP AS A SERVICE
    • 1. HI GIO BaaS
      • BaaS Support Matrix
      • Install Veeam Agent for Linux
      • Install Veeam Agent for Windows
      • Update Veeam Service Provider Console Management Agent v.7 & Backup Agent v.6
      • Create backup job on Linux OS via Veeam agent console
      • Create backup job on Windows OS via Veeam agent console
      • Create backup job for Linux via Portal
      • Create backup job for Windows via Portal
      • Restore Linux VM on HIGIO Cloud via Media file (ISO file)
      • Restore Windows VM on HI GIO Cloud via Media file (ISO file)
      • How to configure receive Alarm from BaaS
      • Workaround
        • Veeam Agent Installation for CentOS 9 Stream
        • Veeam Agent Installation for CentOS 8 Stream
        • Veeam Agent Installation for RHEL 9.2
    • 2. HI GIO Backup
      • Restore Entire VM via vCD's portal
      • Instant Recovery
    • 3. HI GIO M365 BaaS
  • HI GIO DRaaS
    • How To Install vCDA On-Premises appliance
    • How To Use vCDA On-Premises
    • Stretching layer 2 networks for HI GIO's DRaaS
      • Preparing the configure
      • Deploy NSX Autonomous Edge (on-premises site)
      • Register & configure the Networks of the NSX Autonomous Edge On-Premises
      • Create a L2 VPN server session (HI GIO site).
      • Create a L2 VPN - Client session (on-premises site)
      • (Optional) Deploy the secondary NSX Autonomous Edge in HA mode (on-premises site)
    • FAILOVER SCENARIO
      • ENVIRONMENT
      • FAILOVER
        • Step 1: Create a protection job (from on-premises site)
        • Step 2: Configure the Network Settings for On-Premises to Cloud Replications
        • Step 3P - Partial failover VMs (VM - APP1) from on-premise site to HI GIO site
        • Step 3F - Full failover vAPP1 (VM - APP1 & VM - DB1) from on-premise site to HI GIO
        • Step 4: Reverse replication of the VM from HI GIO Cloud to On-Premises
        • Step 5: Migrate the VMs back from HI GIO Cloud to On-Premises
        • Step 6: Reprotect the VMs from On-Premises to HI GIO Cloud
        • FAQs
  • NETWORK
    • 1. Working with Network
      • Working with Organization VDC Networks
      • How to create NAT rules on Edge Gateway
      • Using Edge Gateway Firewall
      • Using Distributed Firewall in a Data Center Group
    • 2. VPN
      • IPSec parameters
      • IPSec VPN
      • IPSec Remote Access VPN Clients on Windows
    • 3. Load Balancer
      • Import SSL Certificate
      • Create Pools on Load Balancing
      • Create Virtual Service (VS) on Load Balancing
      • Open Firewall Rule To Public Service To Internet
      • Monitor Traffic Analytics
      • How to Use WAF on HI GIO Portal
  • MANAGEMENT
    • 1. IAM Portal
      • Activate HI GIO - IAM account
      • HI GIO Portal – Tenant User Guide
      • Setup Password Lifetime
      • Setup Passkey
      • HI GIO's VM monitoring
      • HI GIO's Monitoring Alert - Email notification channel
      • HI GIO's Monitoring Alert - Telegram notification channel
    • 2. Create a Catalog
  • HI GIO Kubernetes
    • 1. Steps To Create Kubernetes Cluster on HI GIO Portal
    • 2. How to resize Kubernetes Cluster on HI GIO portal
    • 3. Extending disk size for nodes in Kubernetes Cluster on HI GIO Portal
    • 4. How to upgrade Kubernetes Cluster in HI GIO Portal
    • 05. Deploy demo app with persistence volume and publish app via ingress controller
    • 06. How to configure HI GIO Kunernetes cluster autoscale
Powered by GitBook
On this page
  • Overview
  • Procedure
Export as PDF
  1. HI GIO Kubernetes

05. Deploy demo app with persistence volume and publish app via ingress controller

Previous4. How to upgrade Kubernetes Cluster in HI GIO PortalNext06. How to configure HI GIO Kunernetes cluster autoscale

Last updated 4 months ago

Overview

Step-by-step guide on how to deploy demo application on HI GIO Kubernetes

  • Install nginx ingress controller to your Kubernetes cluster. Installing the nginx ingress controller will auto-create 2 Virtual services (80, 443) in HI GIO LB.

  • Deploy demo app with persistence volume into the Kubernetes cluster and publish app via ingress nginx

Procedure

1. Pre-requisites:

  • Helm (v3 or higher)

  • Make sure there is at least 1 available public IP

  • Have a default Storage Class

  • Permission for access to your Kubernetes cluster

2. Procedure:

1

Step 1: Install nginx ingress controller to your Kubernetes cluster

#Add repo ingress-nginx
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx 
helm repo update ingress-nginx
#Install ingress nginx
helm install ingress-nginx ingress-nginx/ingress-nginx \
		--namespace ingress-nginx \
		--set controller.service.appProtocol=false \
		--create-namespace
  • Verify pod status is Running and service ingress-nginx-controller successfully obtained an EXTERNAL IP

kubectl get all -n ingress-nginx

CNI driver on Kubernetes automatically creates Virtual services on HI GIO LB and 2 DNAT rules (80, 443) on vCD.

Please modify the VPC firewall to allow access to the ingress virtual services. This provides access to your application published via the nginx ingress

Ref

2

Step 2: Deploy demo app with persistence volume into the Kubernetes cluster and publish app via ingress nginx

  • Demo app folder structure

demoapp 
├── 01-demoapp-namespace.yaml
├── 02-demoapp-pvc.yaml
├── 03-demoapp-deployment.yaml
├── 04-demoapp-service.yaml
└── 05-demoapp-ingress.yaml
  • Create file 01-demoapp-namespace.yaml to create demoapp namespace

apiVersion: v1
kind: Namespace
metadata:
  name: demoapp
  • Create file 02-demoapp-pvc.yaml to create a Persistence Volume Claim

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: demoapp-pvc
  namespace: demoapp
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: default-storage-class-1 #adjust to use your storage class
  • Create file 03-demoapp-deployment.yaml to create the demoapp deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: demoapp
  namespace: demoapp
spec:
  replicas: 3
  selector:
    matchLabels:
      app: demoapp
  template:
    metadata:
      labels:
        app: demoapp
    spec:
      containers:
      - name: demoapp
        image: paulbouwer/hello-kubernetes:1.8
        ports:
        - containerPort: 8080
        volumeMounts:
        - mountPath: /data
          name: demoapp-storage
      volumes:
      - name: demoapp-storage
        persistentVolumeClaim:
          claimName: demoapp-pvc
  • Create file 04-demoapp-service.yaml to create demoapp service

apiVersion: v1
kind: Service
metadata:
  name: demoapp
  namespace: demoapp
spec:
  type: ClusterIP
  ports:
  - port: 80
    targetPort: 8080
  selector:
    app: demoapp
  • Create file 05-demoapp-ingress.yaml to create demoapp ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: demoapp-ingress
  namespace: demoapp
spec:
  ingressClassName: nginx
  rules:
  - host: demoapp.cloud.net.vn #adjust to use your domain
    http:
      paths:
      - backend:
          service:
            name: demoapp
            port:
              number: 80
        path: /
        pathType: Prefix
  • Apply all manifests

cd demoapp
kubectl apply -f .
  • Create a DNS record for demoapp

Name: <ingress-host>
Address: 42.113.xx.xx (EXTERNAL-IP of ingress nginx)
  • If all the configuration is correct, you can access your app with the domain http://<ingress-host>

Using Edge Gateway firewall