Deployment - Strategy

 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

There are several deployment strategies in Kubernetes, including:

Rolling updates: This is the default deployment strategy in Kubernetes. Rolling updates replace the old version of an application with a new version in a controlled and gradual manner, ensuring that the application remains available during the update process.


Blue/Green deployment: This strategy involves running two identical environments (blue and green) simultaneously, but only one environment is serving traffic at any given time. The new version of the application is deployed in the inactive environment (green), tested, and verified before traffic is redirected to it.


Canary deployment: This strategy is similar to the Blue/Green deployment, but it is more targeted. Only a small percentage of users (canary users) are directed to the new version of the application, allowing for early testing and feedback before rolling out the update to all users.


A/B testing: This strategy involves running two different versions of an application simultaneously, and directing a portion of traffic to each version. This enables the evaluation of different versions to determine which performs better.


Shadow deployment: This strategy involves deploying the new version of the application alongside the old version, but not routing any traffic to it. Instead, the new version captures traffic data from the production environment to evaluate performance and stability.

Recreate deployment: This strategy involves deleting the existing version of an application before deploying the new version. This approach ensures that there is no overlap between the old and new versions of the application, but it can also result in downtime.


StatefulSet deployment: This strategy is used for stateful applications, such as databases or other applications that require unique identities or persistent storage. StatefulSet ensures that each instance of the application has a unique identity and that they are deployed and scaled in a predictable manner.


DaemonSet deployment: This strategy is used to ensure that a copy of a pod is running on each node in a Kubernetes cluster. DaemonSet is commonly used for applications such as log collectors, monitoring agents, or network proxies.


Helm deployment: Helm is a package manager for Kubernetes that simplifies application deployment and management. It allows you to define, install, and upgrade applications using charts, which are pre-configured templates for Kubernetes resources.


Each deployment strategy has its own advantages and disadvantages, and the choice of strategy depends on the specific needs of the application

Comments

Popular posts from this blog

Delploy Cluster : Managed K8 & Self Managed K8

ctr | nerdctl | crictl

Deploy To Kubernetes with Jenkins GitOps GitHub Pipeline