Kubernetes Manifests

The Kubernetes deployment and service YAML definitions are key to actually running our containerized application on the cluster:

Deployment:

The Deployment resource defines the desired state for running our app:

  • selector and labels map deployment to pods using app: hello-world labels
  • spec.template defines the pod structure and container to run
  • image: myaccount/hello-world:v1 tells each pod to run our container image
  • ports expose 3000 inside container to cluster networking

This deployment lets Kubernetes know how to run and distribute our application as pods across nodes.

apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-world
spec:
selector:
matchLabels:
app: hello-world
template:
metadata:
labels:
app: hello-world
spec:
containers:
- name: hello-world
image: myaccount/hello-world:v1
ports:
- containerPort: 3000

Service:

apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-world
spec:
selector:
matchLabels:
app: hello-world
template:
metadata:
labels:
app: hello-world
spec:
containers:
- name: hello-world
image: myaccount/hello-world:v1
ports:
- containerPort: 3000

The Service provides networking for accessing the deployment:

  • selector targets deployment pods with app: hello-world labels
  • Creates single access point to pods for hello-world app
  • targetPort: 3000 directs traffic internally across pods
  • port: 80 is where external requests are received for the app

So the Service exposes and load balances traffic to our deployment. It gives reliable networking for the app. Together, the manifests package up the “what and how” for Kubernetes to make our container image run application pods accessible to users

Rolling Updates and Rollbacks in Kubernetes: Managing Application Updates

Many websites and apps now run on clusters of computers called containers. Containers let apps run smoothly as groups work on updating and improving the software behind the apps. A system called Kubernetes helps manage and update all those containerized apps. Sometimes app updates go wrong or cause problems for users. Kubernetes has clever ways to update apps that avoid issues.

The main method is called a rolling update. This slowly switches the software behind the scenes from an old version to a new one. A few containers at a time are updated to the new software. Kubernetes checks that each small batch works fine before updating more. This means no downtime for users! Another useful capability is rollbacks. If a new software version causes glitches, Kubernetes can automatically revert to the previous stable version. There is no need for websites to crash or stay broken!

Similar Reads

Rolling updates and rollbacks in Kubernetes

Rolling Updates: When we update our application in Kubernetes, we want to avoid downtime where users experience errors or outages. So instead of updating everything instantly, Kubernetes does “rolling updates”. It’s like changing clothes by putting on a new pair of pants one leg at a time instead of standing naked to swap your whole outfit all at once!...

Why do we use rolling updates and rollbacks in Kubernetes?

Rolling updates are the best way to upgrade apps managed by Kubernetes. They avoid headaches for both users and website owners. The biggest benefit is zero downtime during the upgrade. The site or app remains available throughout the process. Containers with the old software version keep running until replaced gradually by new containers. So users enjoy continuous access....

How Rolling Updates Work

Rolling update process on Kubernetes....

Performing Rollbacks

Sometimes new versions of apps don’t work as expected. Bugs could slip through testing. Unpredicted spike in traffic volumes slow things down. Changes may unintentionally break important flows. When issues pop up, Kubernetes allows rapidly rolling back deployments to a previous stable release. No need to leave users frustrated or losing business while debugging!...

Deploying Nodejs sample application on Kubernetes

1. Sample application:...

Kubernetes Manifests

The Kubernetes deployment and service YAML definitions are key to actually running our containerized application on the cluster:...

Deploying the application

$ kubectl apply -f deployment.yaml -f service.yaml...

Best Practices for Rolling Updates:

Kubernetes makes it easier than ever to smoothly upgrade apps. But some planning and care still makes the process less risky. Here are some best practices:...

Debugging & Partial Rollbacks

If a bad update makes it halfway through rollout before catching issues:...

Conclusion

Summary of rolling update and rollback capabilities of Kubernetes:...

Rolling Updates and Rollbacks in Kubernetes – FAQ’s

What are rolling updates and rollbacks? How are they done on Kubernetes?...