Skip to main content

MicroK8s install with Helm and OneDev

install k8s

sudo snap install microk8s --classic

Add user to microk8s group

sudo usermod -a -G microk8s ded
sudo chown -R ded ~/.kube

Enable services


microk8s status --wait-ready
microk8s enable dashboard
microk8s enable metallb
microk8s enable ingress
microk8s enable storage
microk8s enable dns
microk8s enable registry
microk8s enable community
microk8s enable istio

Check status

microk8s kubectl get all --all-namespaces
microk8s kubectl get svc
microk8s kubectl get pods -n metallb-system
microk8s kubectl get all -n onedev
microk8s helm list -n onedev
microk8s kubectl get events -n onedev
microk8s kubectl get pods -n onedev
microk8s kubectl describe node

Install helm

sudo snap install helm --classic
helm repo add onedev https://dl.cloudsmith.io/public/onedev/onedev/helm/charts
helm repo update onedev

Configure kubectl to use MicroK8s

sudo snap install kubectl --classic
sudo microk8s kubectl config view --raw > ~/.kube/config
kubectl get nodes

Access dahsboard from LAN

 microk8s dashboard-proxy

or use screen session

screen -S dashboard-proxy

More for Screen here Usinng Screen with MicroK8s dashboard proxy example

Install OneDev

helm install onedev onedev/onedev -n onedev --create-namespace

Expose to LAN OneDev pod

helm upgrade onedev onedev/onedev -n onedev --set service.type=LoadBalancer --reuse-values

Namespaces

kubectl get namespaces
kubectl get pods --all-namespaces

Set namespace for kubectl

kubectl config set-context --current --namespace=default

Export deployment config to yaml file

kubectl get svc mycluster -o yaml > mycluster.yaml