<<<<<<< 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).