Is there anyway to configure K8s to actually bring up a new pod, direct new traffic to it, and only then shutdown the old pod?
This is the default behavior. MaxSurge is number of additional pods that runs during upgrade.
What you also have to check is how the load balancer is handling traffic, does it have capability to detect that you have deployed a new ...
Your /etc/resolve.conf should include search <currentnamespace>.svc.cluster.local svc.cluster.local cluster.local to discover hostnames that aren't FQDN.
As an example, this is the content of my pod's /etc/resolve.conf:
search staging.svc.cluster.local svc.cluster.local cluster.local eu-west-1.compute.internal
With this ...
Helm charts should not be built for a specific environment, IMHO. You can see that many of the official helm charts have a set of default values and they are configurable from outside. You also can create a helm chart like that and declare your deployment + environment-specific values with another tool like Helm Operator or ArgoCD. In this way, you can both ...
Generally, a Helm chart would cover all your microservices - ideally, you should be able to deploy whole application in one chart. It may get a little messy if you include external 3rd party dependencies, where you would need to handle dependent charts, but I assume this is out of scope of your question.
More so, if your microservices are very similar you ...
I believe what you're asking is: "Is there any way to create just one helm chart that can be used for all microservices in my application?". If so, then you can just use the values.yaml file to store all the values for your templates. This is not considered good practice, considering your template file needs to hold the information for each of your ...
The thing I was looking for was external-auth in ingress-nginx. I created a simple service with nodejs which took over all the basic-auth logic. Then I used an external link to this service in k8s annotations for restricted resources.
There are two main reasons for this issue to happen:
Your dns are not exposed.
Your code is redirecting to a https address (and since you are working in your local machine, most likely you don't have a secure certificate)
CASE 1 - Exposing DNS
On linux you can solve it like:
Add the ip from the first step and the hostname you ...
It looks like you are configuring two services, mysql and mysql-nodeport to use the same port. Without information to indicate otherwise im assuming this is a 1 node setup with rasbian. I personally dont have raspbian installed to test, but try something like this:
Is the app stateless
The software is stable as such but my concern is pods, by nature, are meant to be replaceable
This is your primary concern. Is the app stateless (e.g. can the requests be served by any of multiple instances without problem?). If not - be very careful to run it on Kubernetes (e.g. don't use rolling-deployment) and don't run the app in ...