DEFRA / software-development-standards

Standards and guidance relating to software development in Defra
https://defra.github.io/software-development-standards/
Other
45 stars 17 forks source link

Kubernetes #50

Closed johnwatson484 closed 3 years ago

johnwatson484 commented 4 years ago

Awaiting outcome of collaboration between FFC and EUX regarding Kubernetes usage before drafting standards.

nigejohnson commented 3 years ago

This does seem to be a highly specialised area and I'm still going to pretend to understand most of it! But one minor comment on the "guidance": the second para of the "Descheduler" section is a list and would be easier to read if it was formatted as a list, e.g. bullet points?

johnwatson484 commented 3 years ago

Looks good, though there are small typo and layout issues, plus a link to a deprecated repository.

It's pretty thorough, and I struggled to think of things that are missing. Are there any guidelines on pod image pull policy, i.e. in practice the difference between always and IfNotPresent on production apps is usually marginal due to the layered nature of Docker images.

When writing this guide, I really struggled to know how much guidance to include without it just becoming a Kubernetes tutorial which would be more effort to maintain long term. The same is true in the FFC developer guide which has essentially the same content as here.

So I've tried to include the biggest lessons learned from Kubernetes and the things that took us some time to understand. So if there's any good lessons learned or gotchas you think I've missed I'll add them.

With regards to the pull policy, I agree that it's not going to make much difference from a performance perspective. But if a value is set to Always in production, that could be a sign that services aren't following the version control standards.

There may be a valid reason if they're wrapping an existing third party image in a Kubernetes deployment and that third party doesn't follow strict version control. Say Liquibase for example...

So I guess what I'm saying is, I'm not sure what I would write in a guide about image pull policy that is beyond what the official documents would say?

markysoft commented 3 years ago

I think that's fine, image pull policy will be verified in the release pipeline.