<<<<<<< HEAD

Kubenetes Virtalus Appliance

Virtalus Kubernetes appliance is designed to manage and create out of the box Kubernetes clusters with preinstalled metalLb Loadbalancer.

Requirements

  • Min. Memory: 3 GB (master), 1 GB (worker)
  • Min. Cores (VCPU): 2 (master), 1 (worker)
  • Min Storage : 10GB
  • One master node per vnet

Understanding Appliance Parameters

Virtalus appliances takes contextual variables as paramters which are later used in the VMs to add more flexibility to each appliance. These variables are responsible for the end deployment of the appliance.

Parameter Description Default Type of deployment Example
Master Node Address/Network Use IP address of master node if this VM is a slave/worker node(empty parameter assumes single node deployment) null Slave/Worker 192.168.0.125
Secret Token Secret token of master node to join Kubernetes cluster null Slave/Worker x1y2z3
Secret Hash Secret Hash of master node to join Kubernetes cluster null Slave/Worker x1y2z3
Master Node Name(optional) Hostname of Master node null Slave/Worker onekube-192-168-1-125
Kubernetes API Port API port 6443 Master 6399
Master Node Act as Control Plane only If set yes Master node will not act as worker node no Master yes
Pods Network Pods will use this network to connect to each other and the cluster 10.244.0.0/16 Master 192.168.10.0/24
LoadBalancer IP Range These IPs will be used by LoadBalancer service, if any null Master/Slave 192.168.10.10-192.168.10.20
Custom LoadBalancer config Custom MetalLB config can be used(Advanced) null Master -

Single Node Deployment

If single VM is deployed without any context kubernetes cluster parameters, a single node Kubernetes cluster will be deployed.

Multinode Deployment

For a multinode deployment first deployed VM will act as a master node and all following VM deployments will sync with this master node. This master node will also act as control plane for the entire cluster.

Master Node

  • Initialize the VM, set Report to onegate to true(mandatory) and set loadbalancer parameters(optional).
  • Other custom attributes can also be set if required.
  • Wait for the VM to be ready, once the kubernetes cluster is initialized, login banner will be updated but will only be visible after relogin.
  • After VM has initialized and is ready config file can be accessed from /etc/one-appliance/config. Copy the config file's following parameters.
    • k8s_token
    • k8s_hash

Worker Node

  • Initialize new VM from the same appliance and add contextual parameters copied from master to new VM instance
  • wait for the new VM to be ready.
  • Repeat this process and use the same config as of master node for all worker or slave nodes.

LoadBalancer

Kubernetes appliance comes with prebuilt MetalLb Loadbalancer which is an opensource solution for kubernetes load balancer services. To enable or use metalLb attach a single VNet of prefered loadbalancer IP on all kubernetes nodes, add the ip range of loadbalancer and initialize the VM. to edit loadbalancer config run kubectl edit configmap config -n metallb-system To view config of metalLb run kubectl describe configmap config -n metallb-system

Remote Usage

To control the Kubernetes cluster remotely, you need to have the kubectl CLI tool installed on your system (workstation, laptop). Follow the official installation guide. When finished, you can validate the correct installation by running,

kubectl --help

=======

Kubenetes Virtalus Appliance

Virtalus Kubernetes appliance is designed to manage and create out of the box Kubernetes clusters with preinstalled metalLb Loadbalancer.

Requirements

  • Min. Memory: 3 GB (master), 1 GB (worker)
  • Min. Cores (VCPU): 2 (master), 1 (worker)
  • Min Storage : 10GB
  • One master node per vnet

Understanding Appliance Parameters

Virtalus appliances takes contextual variables as paramters which are later used in the VMs to add more flexibility to each appliance. These variables are responsible for the end deployment of the appliance.

Parameter Description Default Type of deployment Example
Master Node Address/Network Use IP address of master node if this VM is a slave/worker node(empty parameter assumes single node deployment) null Slave/Worker 192.168.0.125
Secret Token Secret token of master node to join Kubernetes cluster null Slave/Worker x1y2z3
Secret Hash Secret Hash of master node to join Kubernetes cluster null Slave/Worker x1y2z3
Master Node Name(optional) Hostname of Master node null Slave/Worker onekube-192-168-1-125
Kubernetes API Port API port 6443 Master 6399
Master Node Act as Control Plane only If set yes Master node will not act as worker node no Master yes
Pods Network Pods will use this network to connect to each other and the cluster 10.244.0.0/16 Master 192.168.10.0/24
LoadBalancer IP Range These IPs will be used by LoadBalancer service, if any null Master/Slave 192.168.10.10-192.168.10.20
Custom LoadBalancer config Custom MetalLB config can be used(Advanced) null Master -

Single Node Deployment

If single VM is deployed without any context kubernetes cluster parameters, a single node Kubernetes cluster will be deployed.

Multinode Deployment

For a multinode deployment first deployed VM will act as a master node and all following VM deployments will sync with this master node. This master node will also act as control plane for the entire cluster.

Master Node

  • Initialize the VM, set Report to onegate to true(mandatory) and set loadbalancer parameters(optional).
  • Other custom attributes can also be set if required.
  • Wait for the VM to be ready, once the kubernetes cluster is initialized, login banner will be updated but will only be visible after relogin.
  • After VM has initialized and is ready config file can be accessed from /etc/one-appliance/config. Copy the config file's following parameters.
    • k8s_token
    • k8s_hash

Worker Node

  • Initialize new VM from the same appliance and add contextual parameters copied from master to new VM instance
  • wait for the new VM to be ready.
  • Repeat this process and use the same config as of master node for all worker or slave nodes.

LoadBalancer

Kubernetes appliance comes with prebuilt MetalLb Loadbalancer which is an opensource solution for kubernetes load balancer services. To enable or use metalLb attach a single VNet of prefered loadbalancer IP on all kubernetes nodes, add the ip range of loadbalancer and initialize the VM. to edit loadbalancer config run kubectl edit configmap config -n metallb-system To view config of metalLb run kubectl describe configmap config -n metallb-system

Remote Usage

To control the Kubernetes cluster remotely, you need to have the kubectl CLI tool installed on your system (workstation, laptop). Follow the official installation guide. When finished, you can validate the correct installation by running,

kubectl --help

master You also need to have the configuration with cluster master IP address and access keys. This configuration can be taken from the master node from a file /etc/kubernetes/admin.conf and put on your remote system into ~/.kube/config(For Linux), %USERPROFILE%/.kube(For Windows).