Google Cloudのベストプラクティスでは、各アプリケーションコンポーネントを独立したコンテナに分離することが推奨されます。これにより、各コンポーネントの独立したスケーリング、管理、および障害分離が可能になります。また、Kubernetesのreadinessおよびlivenessプローブを実装することで、コンテナがトラフィックを受け入れる準備ができているか、または正常に動作しているかをKubernetesが判断し、サービスの可用性を高めることができます。
単一のコンテナにすべてをまとめる方法は、コンテナのマイクロサービス原則に反し、スケーラビリティや障害分離の点で劣ります。スクリプトによる起動オーケストレーションは、Kubernetesの組み込み機能(プローブなど)を活用しないため、効率的ではありません。