Skip to content

Instantly share code, notes, and snippets.

@bodsch
Last active September 8, 2023 07:15
Show Gist options
  • Save bodsch/ed1e07609892e3b4340e619f69e6e5e5 to your computer and use it in GitHub Desktop.
Save bodsch/ed1e07609892e3b4340e619f69e6e5e5 to your computer and use it in GitHub Desktop.
minikube
#!/usr/bin/env bash
set -e
[ -d configs ] || mkdir configs
MK=$(command -v minikube)
minikube_start() {
${MK} start --driver=kvm2 --cpus='4' --memory='10G' # --addons=ingress,metrics-server,dashboard,metallb-system
INSATNCE_IP=$(sudo virsh domifaddr minikube | grep "192.168.122" | awk -F ' ' '{print $4}' | cut -d "/" -f1)
echo -e "\n => instance ip: ${INSATNCE_IP}\n"
}
minikube_delete() {
${MK} delete --all
}
addon_metallb() {
${MK} addons enable metallb
METALLB_IP_PREFIX_RANGE=$(sudo virsh domifaddr minikube | grep "192.168.122" | awk -F ' ' '{print $4}' | cut -d "." -f1-3)
METALLB_IP_START=${METALLB_IP_PREFIX_RANGE}.10
METALLB_IP_END=${METALLB_IP_PREFIX_RANGE}.20
cat > configs/metallb.yaml << EOF
---
apiVersion: v1
kind: ConfigMap
metadata:
name: config
namespace: metallb-system
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- ${METALLB_IP_START}-${METALLB_IP_END}
EOF
kubectl apply --namespace metallb-system --filename configs/metallb.yaml
kubectl get --namespace metallb-system configmap/config --output yaml
}
addon_dashboard() {
${MK} addons enable dashboard
cat > configs/dashboard.yaml << EOF
---
apiVersion: v1
kind: Service
metadata:
name: loadbalancer
namespace: kubernetes-dashboard
spec:
selector:
k8s-app: kubernetes-dashboard
type: LoadBalancer
ports:
- port: 80
protocol: TCP
targetPort: 80
EOF
kubectl apply --namespace kubernetes-dashboard --filename configs/dashboard.yaml
kubectl get --namespace kubernetes-dashboard --no-headers services
kubectl get --namespace kubernetes-dashboard services --selector k8s-app=kubernetes-dashboard
}
addon_metrics() {
${MK} addons enable metrics-server
}
run() {
minikube_start
addon_metallb
addon_dashboard
addon_metrics
}
run
@bodsch
Copy link
Author

bodsch commented Sep 8, 2023

Der TargetPort für das Dashboard ist nicht 8080 wie angenommen, sondern 9090.
Das habe ich dann nur beim sinnbefreiten herumstochern und kubectl -n kubernetes-dashboard describe deployments.apps kubernetes-dashboard herausgefunden.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment