Kubernetes - How is high availability available when deploying a containerized application?

I am new to cubernettes. When deploying the application, I could figure out how to do automatic scaling, but did not quite understand how high availability is ensured? If it is not, how to configure it?

Edit: by HA, I mean how to ensure that a pod is scheduled on multiple nodes to guarantee HA at the pod / service level.

Please guide. Thanks in advance!:)

+6
source share
1 answer

By HA, I mean how to ensure that a pod is scheduled across multiple nodes to provide HA at the service / maintenance level.

I assume that your application is cloud compatible and can be scaled. In this situation, there are several functions that you can use:

  • DaemonSets : containers in demonsets will run on each node. If you do not include / exclude certain nodes.
  • Deployments : Deployments are the next generation of Replication Controllers . Using Deployments , you can easily scale your application, as well as ensure the availability of a certain number of containers. Please note that to fail node you need to set node binding rules on containers. To do this, you need to install it in the pod templates. In 1.6, affinity can be specified as a field in PodSpec , rather than using annotations .
+1
source

Source: https://habr.com/ru/post/1014988/


All Articles