From 5114850f80db5ded5abba8fa87b22556fd2050c8 Mon Sep 17 00:00:00 2001 From: Miguel Veloso Date: Mon, 9 Dec 2019 18:58:39 +0000 Subject: [PATCH] Update local Kubernetes setup doc --- Deploy-to-Local-Kubernetes.md | 73 ++++++++++-------- .../reset-kubernetes-cluster.png | Bin 0 -> 42887 bytes 2 files changed, 40 insertions(+), 33 deletions(-) create mode 100644 images/Deploy-to-Local-Kubernetes/reset-kubernetes-cluster.png diff --git a/Deploy-to-Local-Kubernetes.md b/Deploy-to-Local-Kubernetes.md index 264ae1f..e2a3f24 100644 --- a/Deploy-to-Local-Kubernetes.md +++ b/Deploy-to-Local-Kubernetes.md @@ -4,6 +4,7 @@ - [Install/upgrade to the latest version of Docker for Desktop](#installupgrade-to-the-latest-version-of-docker-for-desktop) - [Enable Kubernetes](#enable-kubernetes) - [Disable / stop Kubernetes](#disable--stop-kubernetes) + - [Reset Kubernetes](#reset-kubernetes) - [Install Helm](#install-helm) - [Install Helm client](#install-helm-client) - [Install Helm server (Tiller)](#install-helm-server-tiller) @@ -42,12 +43,24 @@ Your Docker Desktop Kubernetes installation already contains [kubectl](https://k ### Disable / stop Kubernetes -If you ever want to remove Kubernetes from Docker Desktop, just disable Kubernetes in the **Settings > Kubernetes** page above and click "Apply". +If you ever want to stop Kubernetes from Docker Desktop, just disable Kubernetes in the **Settings > Kubernetes** page above and click "Apply". -You can stop/start the Kubernetes cluster from the Docker context menu, on the System tray: +You can also stop/start the Kubernetes cluster from the Docker context menu, on the System tray: ![](images/Deploy-to-Local-Kubernetes/start-stop-kubernetes-cluster.png) +### Reset Kubernetes + +To reset the Kubernetes cluster to the initial (new) state, you have to: + +1. Click the "**Reset**" tab on the Kubernetes settings dialog +2. Click "**Reset Kubernetes Cluster...**" +3. Click the "**Reset**" button on the "**Reset Kubernetes cluster**" confirmation dialog. + +As shown in the next image: + +![](images/Deploy-to-Local-Kubernetes/reset-kubernetes-cluster.png) + ## Install Helm [Helm](https://helm.sh/) is the package manager for Kubernetes. @@ -56,13 +69,13 @@ You can stop/start the Kubernetes cluster from the Docker context menu, on the S You can see the installation details in the [documentation page](https://helm.sh/docs/using_helm/#installing-helm). +It's probably best to install from the GitHub releases (2.16.1): + +- + The easiest way is probably to use a package manager, like [Chocolatey for Windows](https://chocolatey.org/). -Then install Helm from the package manager: - -```powershell -choco install kubernetes-helm -``` +You can use the following command to check the integrity of the download, comparing with the checksum in the release page: ```powershell Get-FileHash -Path .\helm-v2.16.1-windows-amd64.zip -Algorithm sha256 @@ -94,10 +107,14 @@ It's like a reverse proxy, that can handle load balancing, TLS, virtual hosting [NGINX](https://github.com/kubernetes/ingress-nginx/blob/master/README.md) is the Ingress controller used for eShopOnContainers. -To install the NGINX Ingress controller, run the following commands: +To install the NGINX Ingress controller, run the following commands from the **deploy/k8s/nginx-ingress** folder: -1. `.\deploy-ingress.ps1` -2. `.\deploy-ingress-dockerlocal.ps1` + +```powershell +kubectl apply -f mandatory.yaml +kubectl apply -f local-cm.yaml +kubectl apply -f local-svc.yaml +``` ## Install eShopOnContainers using Helm @@ -266,7 +283,7 @@ The reason is because MVC needs to access the Identity Server from both outside Solving this requires some manual steps: -From the `deploy/k8s` folder run the following command: +From the **deploy/k8s** folder run the following command: ```yaml kubectl apply -f .\nginx-ingress\local-dockerk8s\mvc-fix.yaml @@ -296,7 +313,7 @@ data: Restart the SQL Server pod to ensure the database is recreated again: ```powershell -kubectl delete pod --selector app=sql-data +kubectl delete pod --selector="app=sql-data" ``` Wait until SQL Server pod is ready to accept connections and then restart all other pods: @@ -320,28 +337,22 @@ To enable the dashboard: 2. Deploy the dashboard with this command: ```powershell - kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/recommended/kubernetes-dashboard.yaml + kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta6/aio/deploy/recommended.yaml ``` -3. Create a sample admin user by running the script: +3. Create a sample admin user and role binding by running the script: ```powershell - .\dashboard-adminuser.yaml + kubectl apply -f dashboard-adminuser.yaml ``` -4. Bind admin-user to admin role by running the script: - - ```powershell - .\dashboard-bind-adminrole.yml - ``` - -5. Execute the dashboard by running this command: +4. Execute the dashboard by running this command: ```powershell kubectl proxy ``` -6. Get the bearer token to login to the dashboard by running this command: +5. Get the bearer token to login to the dashboard by running this command: ```powershell kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}') @@ -365,25 +376,21 @@ To enable the dashboard: token: eyJhbGciOiJSUzI1NiIsImtpZCI...(800+ characters)...FkM_tAclj9o8T7ALdPZciaQ ```` -7. Copy the token and navigate to: http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ +6. Copy the token and navigate to: -8. Select "Token" and paste the copied the token in the "Enter token" filed: \ +7. Select "Token" and paste the copied the token in the "Enter token" filed: \ \ ![](images/Deploy-to-Local-Kubernetes/kubernetes-dashboard-login.png) -You should see something like this: + You should see something like this: -![](images/Deploy-to-Local-Kubernetes/kubernetes-dashboard-web-ui.png) + ![](images/Deploy-to-Local-Kubernetes/kubernetes-dashboard-web-ui.png) -From there you can explore all components of your cluster. +From there you can explore all the components of your cluster. ### IMPORTANT -You have to manually start the dashboard every time you restart the cluster, with the command: - -```powershell -kubectl proxy -``` +**You have to manually start the dashboard and get a new login token every time you restart the cluster**. ## Explore eShopOnContainers diff --git a/images/Deploy-to-Local-Kubernetes/reset-kubernetes-cluster.png b/images/Deploy-to-Local-Kubernetes/reset-kubernetes-cluster.png new file mode 100644 index 0000000000000000000000000000000000000000..12863cf437a38573a2ac53c315f905af61787c44 GIT binary patch literal 42887 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

U!g#gJ~_o)XN>iF)O5-Zh!kpdSa>EPom=oMV?<` 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 S@i%460To3Jg$lW6LH`E~59S#F literal 0 HcmV?d00001