Page cover image

On MacOS

Install gopaddle lite as microk8s add-on on MacOS

gopaddle lite - A lifetime free community edition of gopaddle is now available as an add-on to microk8s.

Pre-requisites

  1. OS distribution: MacOS Monterey 12.6 or higher; MicroK8s version: 1.25 or higher;

  2. System resource requirements: 4 vCPU (Intel Arch), 8 GB RAM, 50 GB Disk

  3. 'brew' tool must already be installed.

    If not installed, install brew:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  4. microk8s must already be installed and must be running.

    If not installed, use the below step to install the same:

    brew install ubuntu/microk8s/microk8s
    microk8s install --channel 1.26

    Check and ensure that microk8s service is running:

    microk8s status --wait-ready
  5. Update the VM configuration to set the CPU & Mem allocation

    1. Unload the multipass config

      sudo launchctl unload /Library/LaunchDaemons/com.canonical.multipassd.plist
    2. Edit the file

      sudo vi /var/root/Library/Application\ Support/multipassd/multipassd-vm-instances.json

      Set the num_cores": 4 and "mem_size": "8589934592". Final JSON file would look like this.

      {
         "microk8s-vm":{
            "deleted":false,
            "disk_space":"53687091200",
            "extra_interfaces":[
               
            ],
            "mac_addr":<mac-address>,
            "mem_size":"8589934592",
            "metadata":{
               
            },
            "mounts":[
               
            ],
            "num_cores":4,
            "ssh_username":"ubuntu",
            "state":4
         }
      }
    3. Load the config

      sudo launchctl load /Library/LaunchDaemons/com.canonical.multipassd.plist
    4. Wait for the microk8s-vm to move to Running state

      multipass info microk8s-vm
    5. Wait for microk8s service to move to ready state

      microk8s status --wait-ready

Steps to install gopaddle lite addon for microk8s

  1. Enable microk8s community addon and enable gopaddle lite addon.

    microk8s enable community
    microk8s enable gopaddle-lite -v 4.2.9

    Optional parameters while enabling the addon.

    microk8s enable gopaddle-lite [-i <IP Address>] [-v <gopaddle version>] 
    Basic Options: 
    --ip|-i : static IP address to assign to gopaddle endpoint. This can be a public or private IP address of the microk8s node 
    --version|-v : gopaddle lite helm chart version (default 4.2.5)

    If -i option is omitted, then the gopaddle endpoint is decided based on the node's private IP address. Please take a look at the 'gopaddle dashboard endpoint' section for more details.

    Example:

    microk8s enable gopaddle-lite -i 130.198.9.42 -v 4.2.9
  2. Make a note of the gopaddle lite access endpoint from the above command. You can also obtain the endpoint by listing the node IPs in the cluster.

  3. Wait for gopaddle services to move to running state

    microk8s kubectl wait --for=condition=ready pod -l released-by=gopaddle -n gp-lite

    If you see this error message timed out waiting for the condition on pods, you can execute the above command once again to wait for all the gopaddle services to move to running state.

  4. Access the gopaddle dashboard. If static IP is provided as an input using -i option in step 1, then accesss the gopaddle UI @ http://<STATIC_IP>:30003 , else access the gopaddle UI @ http://<NODE_IP>:30003 . The Node IP can be determined by executing the command below. If the node has a public IP, open the firewall ports in the next step.

    microk8s.kubectl kubectl get nodes -o wide

  5. Enable Firewall ports (if installing gopaddle lite on a cloud based VM)

    The following TCP network ports have to be enabled/opened to use the gopaddle lite dashboard:

    • Ports 30000 to 30006: for accessing gopaddle endpoints .

    • Port 32000: Service node port for Grafana dashboard on Kubernetes

    • Any node port assigned for an application deployed on microk8s

gopaddle dashboard endpoint

An IP address is required to access the gopaddle lite end point. When not supplied from the command line, the default IP address is determined in the order mentioned below:

  • If the first node in microk8s cluster is configured with an External/Public IP address, this is chosen as the IP address for the access end point

  • Else, the Internal/Private IP address of the first node configured in microk8s cluster is used as the IP address for the access end point

Note: The node IP address configured in the microk8s cluster above can be determined using the 'get nodes' command as follows:

microk8s kubectl get nodes -o wide
NAME          STATUS   ROLES    AGE   VERSION   INTERNAL-IP    EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION       CONTAINER-RUNTIME
microk8s-vm   Ready    <none>   41m   v1.25.2   192.168.64.2   <none>        Ubuntu 18.04.6 LTS   4.15.0-194-generic   containerd://1.6.6

Steps to disable gopaddle addon for microk8s

Issue the below command to disable gopaddle addon for microk8s:

microk8s disable gopaddle-lite

Steps to update gopaddle addon for microk8s

At a later time, if you want to update gopaddle addon repo (that you previously added at the time of installation of gopaddle addon for microk8s), use the below command:

  1. Update the repository

    microk8s addons repo update gp-lite

    This results in pulling any updates done to gopaddle addon repo. If it is already up-to-date, you will get the below output:

    Updating repository gp-lite Already up to date.
  2. If any new updates are pulled above, in order for this to take effect, you need to execute the following steps: Disable gopaddle add-on

    Enable gopaddle add-on

Steps to uninstall gopaddle addon for microk8s

Follow the below steps to uninstall gopaddle addon for microk8s:

  1. Disable gopaddle addon for microk8s - see the section above

  2. Delete all PVs created by gopaddle

    After disabling gopaddle addon for microk8s, the persistent volumes used by gopaddle are still around. Use the below command to delete the persistent volumes created by gopaddle:

    microk8s kubectl delete pv -l gp-install-pv=microk8s-hostpath-gp-retain
  3. Delete the storage class

    microk8s kubectl delete sc microk8s-hostpath-gp-retain
  4. Remove the node label added by gopaddle

    Usage:

    microk8s kubectl label nodes microk8s-vm gp-install-node-
  5. Remove the gopaddle addon repo in microk8s

    microk8s addons repo remove gp-lite

Last updated