Giter VIP home page Giter VIP logo

aks-workshop's Introduction

About me

My name is Louis-Guillaume MORAND, and I'm based in France working (currently) at Microsoft

I'm a versatile Software Engineer with over 20 years of comprehensive experience, focused on working with challenging projects and learning while working. Playing with domotic, magic mirror, developing and using DevOps on daily basis, I spend most of my time in front of a code editor. I like to write technical articles or books. Here is the last one

📘 My books

🔭 Some stuff I built/wrote

🧠 I love using this

Microsoft Azure  Kubernetes  Docker  Terraform  CSharp  dotnet  Scripting  Git  GitHub  SQL

🙌🏼 My stats

contrib

aks-workshop's People

Contributors

clemlesne avatar damienaicheh avatar ikhemissi avatar lgmorand avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

aks-workshop's Issues

Add task duration estimates

Add an estimate of how much time is needed to do every task.
This can be done directly in the navbar title of the task in the absence of a more appropriate solution for indicating timings.

Feedbacks

Hi,
I managed to finish it here is my feedback:

In the Dockerfile, from what I have been told and read, it is advisable to do an npm ci instead of npm install so that it takes the depencies from the lock.json and be certain that no version is automatically mounted. One colleague explained this to me yesterday and I found a similar explanation here:
https://stackoverflow.com/a/53325242

In the "Test the app" section, you should specify in the instructions to search around kubectl port-forward instead of just kubectl I think.

From this part I had small problems:

To retrieve the hostname, I did the az aks show except that the command asks for the rg and the name of your aks, you should perhaps specify it in the command to stay consistent with the rest.

And from the result of this command I made the mistake of taking the "fqdn" field as the dns name instead of the one located in HTTPApplicationRoutingZoneName:

  "addonProfiles": {
     "httpApplicationRouting": {
       "config": {
         "HTTPApplicationRoutingZoneName": "3f6f8a67980e453ba5e9.francecentral.aksapp.io"
       },
…

Apparently the fqdn is that of the plane control.

To retrieve the HTTPApplicationRoutingZoneName directly, here is the command line that should be specified:
az aks show --resource-group<resource-group-name> --name <cluster-name> --query addonProfiles.httpApplicationRouting.config.HTTPApplicationRoutingZoneName -o table

For debugging I had to check that I had DNS entries in the resource group generated by Azure, maybe say something about it?

Another point in the ingress deployment, the annotations section is deprecated to be replaced by the ingressClassName field, I tested on aks it seems not yet taken into account on the other hand but interesting to put as a "Note" in the workshop I think :

metadata:
   name: web app
   # annotations:
   # kubernetes.io/ingress.class: addon-http-application-routing
spec:
   ingressClassName: addon-http-application-routing # New version

For the metrics recovery part "Get cluster activity metrics", it would be nice to put a screenshot to show where to take the values

On the last part "Enable the Cluster Autoscaler" we launch commands to increase the node pools but we do nothing afterwards, it's a shame I think, why not restart a more brutal Azure Load Testing?

On this occasion in the last script you put Userpool but unless I am mistaken, I did not see a few lines where you explain that there is a Userpool and a Servicepool to separate. Maybe rename it AppWebpool for that matter?

Good Workshop :)

Ensure application resilience

Test deleting a pod manually, see it recovers. Implement : health checks (liveness, readiness, startup probe), stateless architecture.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.