- ASP.NET Core Web API
- Docker
- Helm
- Istio
- Minikube
- Steeltoe
Prerequisites
> choco install docker-desktop
> choco install minikube
> choco install kubernetes-cli
> choco install kubernetes-helm
> ./start.ps1
#start minikube cluster
minikube start
#install istio demo profile
istioctl install --set profile=demo -y
#enable auto injecting sidecar into pods (default namespace)
kubectl label namespace default istio-injection=enabled --overwrite
#install kiali, prometheus, jaeger
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.16/samples/addons/kiali.yaml
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.16/samples/addons/prometheus.yaml
kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.16/samples/addons/jaeger.yaml
#provide terminal to docker engine inside minikube
minikube -p minikube docker-env --shell powershell | Invoke-Expression
#build aspnet-core-web-api docker image inside minikube
docker build -t aspnet-core-web-api:latest .\src\WebApi
#update helm dependencies
helm dependency update .\k8s
#install helm package
helm install web-api .\k8s --wait
#enable access to application running within minikube (istio-ingressgateway)
minikube tunnel
Browse to http://127.0.0.1/test
minikube dashboard
istioctl dashboard kiali
istioctl dashboard jaeger
#uninstall helm web-api package
helm uninstall web-api
#remove istio
istioctl uninstall --purge