I was looking for an alternative to k3sup method to install a k3s cluster.( Refer this link on how to setup k3s using k3sup.)
Most of the content below is based from the quick start guide here - https://docs.k3s.io/quick-start
Generate a token that will be used to join additional nodes to the kubernetes cluster": openssl rand -hex 10 > k3s_secret.txt Install the first control plane node: curl -sfL https://get.k3s.io | K3S_TOKEN=cat k3s_secret....
Install NFS CSI Driver in K3S
There are two ways to install the NFS CSI driver 1. Using Helm Charts Makes sure you have installed helm. Reference Link Run the following commands helm repo add csi-driver-nfs https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/charts helm install csi-driver-nfs csi-driver-nfs/csi-driver-nfs --namespace kube-system --version v4.6.0 2. Using kubectl Run the below command curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/v4.6.0/deploy/install-driver.sh | bash -s v4.6.0 -- jahnin@ubuntu:~$ curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/v4.6.0/deploy/install-driver.sh | bash -s v4.6.0 -- Installing NFS CSI driver, version: v4....
Boot the ESXi Installer Using Netbootxyz and iPXE
As one of my boot drives failed, i had to reinstall esxi. I did not want to go throught the hassle of creating a bootable usb drive and decided to give PXE boot a try.
While there are a lot of articles on manually creating a tftp server for PXE boot, netboot.xyz is by far the easiest way to go about setting up PXE boot for various operating systems.
from https://netboot....
Enable Traefik Dashboard in K3s
K3S deploys traefik as its ingress controller. The traefik dashboard in not enabled by default.
To enable the traefik dashboard,
SSH to the kubernetes node that is the control plane node. Make sure you are the root user. sudo su - Edit the file: /var/lib/rancher/k3s/server/manifests/traefik.yaml Add the following config to the file under spec->valuesContent. After you save the file, traefik will be redeployed and port 9000 will be exposed. dashboard: enabled: true ports: traefik: expose: true Example config:...
Deploy the Homer app to your Kubernetes Cluster
Homer is a fast and simple static HTML Dashboard by Bastien Wirtz that you can use as a landing page to access your web applications.
Homer Github: https://github.com/bastienwirtz/homer
While homer can be deployed using a helm chart, I wanted to deploy the app using config files in my home lab.
To quickly deploy homer:
Create a namespace: # ns.yml apiVersion: v1 kind: Namespace metadata: name: homer Create the Persistent Volume....