In Kubernetes, there are three main types of multi-container pods:
Sidecar Containers (Helper & Util): A sidecar container is an auxiliary container that runs alongside the main application container, providing additional functionality to the main container. For example, a sidecar container might provide logging or monitoring capabilities to the main container. These can be sent to an external database such as Prometheus or Elasticsearch.
Adapter Containers (Transformation and Adaptability): An adapter container is a type of sidecar container that transforms or adapts the output of the main container to be compatible with other systems. For example, an adapter container might convert logs from one format to another, or aggregate log data from multiple containers into a single output.
Ambassador Containers (Ambassador and Representation): An ambassador container is a type of sidecar container that acts as a proxy between the main container and other parts of the system. For example, an ambassador container might route traffic to multiple backend services based on rules, or perform load balancing and request routing.
Each of these types of multi-container pods can be used to extend the functionality of a single-container pod and help manage complex, multi-tier applications in Kubernetes.