colima start # by default create 2CPU, 2GiB, 100GiB
colima delete
colima start --cpu 1 --memory 2 --disk 10
colima stop
colima delete
colima start --cpu 4 --memory 4 --disk 40 --vm-type=vz --vz-rosetta
docker ps
docker run --rm -it busybox
docker run -d --name k0s --hostname k0s --privileged -v /Users/reed/work/k0s/k0s.yaml:/etc/k0s/k0s.yaml -v /var/lib/k0s -p 6443:6443 --cgroupns=host docker.io/k0sproject/k0s:v1.31.2-k0s.0 -- k0s controller --enable-worker -c /etc/k0s/k0s.yaml
token=$(docker exec -t -i k0s k0s token create --role=worker)
docker run -d --name k0s-wk1 --hostname k0s-wk1 --privileged -v /var/lib/k0s --cgroupns=host docker.io/k0sproject/k0s:v1.31.2-k0s.0 k0s worker $token
docker run -d --name k0s-wk2 --hostname k0s-wk2 --privileged -v /var/lib/k0s --cgroupns=host docker.io/k0sproject/k0s:v1.31.2-k0s.0 k0s worker $token
docker exec k0s k0s kubectl get all -A
alias k='docker exec k0s k0s kubectl'
k get nodes -A
sudo mkdir /usr/local/bin
sudo bash < <(curl -s -L https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3)
Then, set KUBECONFIG
from k0s
docker exec k0s cat /var/lib/k0s/pki/admin.conf > ~/kubeconfig-k0s.yml
export KUBECONFIG=/Users/reed/kubeconfig-k0s.yml
kubectl cluster-info
helm repo list
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
kubectl apply -f /Users/reed/work/k0s/pv01.yaml
kubectl apply -f /Users/reed/work/k0s/pv02.yaml
kubectl apply -f /Users/reed/work/k0s/pv03.yaml
This loki helm chart will also install minio for its storage as part of loki installation.
helm install --values /Users/reed/work/k0s/loki-values.yaml loki grafana/loki
Install promtail
helm install promtail grafana/promtail
Install grafana
helm install grafana grafana/grafana
Loki gateway url is: http://loki-gateway.default.svc.cluster.local/
Verify if promtail installed correctly
kubectl port-forward daemonset/promtail 3101
curl localhost:3101/metrics
Verify if grafana installed correctly
kubectl get secret --namespace default grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo # show admin-password password
kubectl port-forward services/grafana 8000:80
# then login via browser to http://localhost:8000/login
Within the cluster, grafana hostname is grafana.default.svc.cluster.local
.
To change/update loki setting, edit file /Users/reed/work/k0s/loki-values.yaml
then do
helm upgrade --values /Users/reed/work/k0s/loki-values.yaml loki grafana/loki