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