Kubernetes採用前(過去のプロダクトの構成) インスタンス/VM docker Web Server ● デプロイが大変 ○ 手順書に沿って、手動でデプロイ ○ オレオレ deploy shell scripts ● リソースマネージメントが大変 ○ 手動でスケールアップ or スケールア ウト ● 障害時の対応が大変 ○ 手動で復旧 App Server other インスタ ンス/VM docker C C C 同一セット …
Namespace Namespace Kubernetes構成詳細 Deployment Kubernetes Web Server App Server CronJob Batch ● Kubernetes ○ 運用負荷を下げる為にマネージド・ サービスを利用 ○ 基盤としてAzureを利用していたので、 AKSを採用 ○ 2018年6月末にGA ■ 開発期間が5月〜7月だったので ギリギリGA間にあった Namespace Daemon Set Data Dog
Namespace Namespace Kubernetes構成詳細 Deployment Kubernetes Web Server App Server CronJob Batch Namespace Daemon Set Data Dog ● AKS(Azure Kubernetes Service ) ○ マスターノードを管理 ○ クラスタのアップグレード機能 ○ クラスタのスケール機能 ○ マスターノードには課金されない ■ 懐に優しい ○ Azure Kubernetes Service (AKS) virtual nodeでより便利に?
Namespace Namespace Kubernetes構成詳細 Deployment Kubernetes Web Server App Server CronJob Batch Namespace Daemon Set Data Dog ● Namespaces ○ Prd環境・Stg環境のクラスタを分けてい る ○ サービス毎に依存関係はないので、 Namespaceはサービス毎に切っている
Namespace Namespace Kubernetes構成詳細 Deployment Kubernetes Web Server App Server CronJob Batch Namespace Daemon Set Data Dog ● Deployment ○ 入稿管理画面サービスはDeployment で管理 ○ PodのReplica数の管理 ○ ローリングアップデート ○ オートヒーリングの実現
Namespace Namespace Kubernetes構成詳細 Deployment Kubernetes Web Server App Server CronJob Batch Namespace Daemon Set Data Dog ● CronJob ○ バッチ系については、CronJobで管理 ○ 定期的にバッチを実行
Namespace Namespace Kubernetes構成詳細 Deployment Kubernetes Web Server App Server CronJob Batch Namespace Daemon Set Data Dog ● Daemon Set ○ 監視にはDatadogを利用 ○ Datadogの課金体系から、ノード毎に1 つ用意したい ○ ノード毎にdeployしたいので、Daemon Setを利用