/minikube-config

Configure Kubernetes in Code

Primary LanguageHCLMIT LicenseMIT

minikube-config

Configure Kubernetes in Code

Prerequisites

Local Development

Install Hyperkit driver with brew

brew install docker-machine-driver-hyperkit

Install minikube

brew install minikube

Install Helm

brew install kubernetes-helm

Create and start cluster

minikube start --vm-driver hyperkit --extra-config=apiserver.Authorization.Mode=RBAC
terraform init
kubectl apply -f eks-admin-service-account.yaml
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep eks-admin | awk '{print $1}')

Helm

Install tiller

helm init --tiller-image gcr.io/kubernetes-helm/tiller:v2.13.1
helm repo update
sleep 30

Install Kube Dashboard

helm --namespace=kube-system install stable/kubernetes-dashboard
export POD_NAME=$(kubectl get pods -n kube-system -l "app=kubernetes-dashboard,release=k8s-dashboard" -o jsonpath="{.items[0].metadata.name}")
echo https://127.0.0.1:8443/
kubectl -n kube-system port-forward $POD_NAME 8443:8443
helm install --name my-service charts/simple
helm upgrade --atomic my-service charts/simple
helm status my-service
helm delete --purge my-service
export POD_NAME=$(kubectl get pods -n default -l "app.kubernetes.io/instance=my-service" -o jsonpath="{.items[0].metadata.name}")
kubectl -n default port-forward my-service-simple-6b49847956-fj9j8 8008:80

Nginx

minikube addons enable ingress

Wait a minute

kubectl get pods -n kube-system -l "app.kubernetes.io/name=nginx-ingress-controller"
minikube service my-service-simple --url

Usage

terraform plan
terraform apply

Tearing Down

Local Development

Stop and delete cluster

minikube stop
minikube delete