Container Service for KubernetesにおけるServerless Kubernetesの概要とManaged Kubernetesとの違いAlibaba Cloud共催!Alibaba Cloud最新情報アップデート2021/10/14 株式会社ビヨンド 寺岡 佑樹
View Slide
自己紹介resource “my_profile” “nezumisannn” {name = “Yuki.Teraoka”nickname = “ねずみさん家。”company = “beyond Co., Ltd.”job = “Site Reliability Engineer”twitter = “@yktr_sre”skills = [“Terraform”,”Packer”]}
Agenda● Container Service for Kubernetesの概要● Container Service for Kubernetesのタイプ● Managed Clusterの概要● Managed Clusterのタイプ● Managed Clusterの機能● Serverless Clusterの概要● Serverless Clusterの制約事項● Serverless Clusterの課金体系● まとめ
Container Service for Kubernetes(ACK)の概要● Alibaba Cloudのコンテナ化されたアプリケーションの管理サービス● マネージドなKubernetes Clusterを迅速にセットアップ● Cluster自体の管理やコンテナのライフサイクルを管理できる○ ネットワーク / ストレージ / ログ / モニタリング● 3つのタイプが存在する
Container Service for Kubernetesのタイプタイプ Master Worker ユースケース(例)Dedicated Cluster 自己管理 自己管理 オンプレミスからの移行Managed Cluster Managed 自己管理 一般的なWebアプリケーションServerless Cluster Managed Managed より突発的なスケールアウトが求められるアプリケーション / バッチ処理
Managed Clusterの概要● KubernetesのMaster NodeがACKで管理される○ ユーザー側で管理する必要がない● Worker Nodeのみ作成 / 管理していく○ ECSインスタンスとして起動○ インスタンスのサイジング / スケーリング○ クラスターの自動スケーリングを有効化できる■ Podのリソース要求に基づいて計算される■ 予め設定していた閾値に到達するとスケールアウト /インする● 2つのタイプがある
Managed Clusterのタイプカテゴリ 機能 Standerd ProfessionalCluster Size(ノード数) - 100(1Cluster) 1000(最大5000)SLA - 99.90% 99.95%API Server 可用性の監視 無効 有効etcd 自動バックアップ 無効 有効Managed node pool - 無効 有効利用コスト - 無料 $0.09/hour後からProfessionalに移行できるためまずは Standerdから検討https://www.alibabacloud.com/help/ja/doc-detail/173290.htm
Managed Clusterの機能● Service○ type: Load BalancerをapplyするとL4のSLBが作成される○ annotationsを利用することでプロトコルの指定や SSLの終端が可能● Ingress○ L4のSLB + nginx-ingress-controller(POD) が作成される○ パスベースルーティングが可能● ロギング○ Log Serviceと統合されている○ アプリケーションログなどは基本こちらへ集約● モニタリング○ Cloud Monitorと統合されている○ 管理コンソールからメトリクス確認及びアラームの設定が可能
Serverless Clusterの概要● KubernetesのMaster / Worker Node共にACKで管理される○ ユーザー側で管理する必要がない● よりアプリケーションの開発のみに注力できる○ マニフェストを書いて applyするだけ○ (特に) AWS Fargateと仕組みがよく似ている○ Worker Nodeを気にすることなくKubernetes互換で管理できるところが大きな特徴
Serverless Clusterの特徴/制約事項● DaemonSetが利用できない○ DatadogやFluentdなどの1ノードに対する単一Podの起動が難しい○ モニタリング/ロギング用コンテナはサイドカーとしての起動が必要○ Log Serviceと統合されている■ aliyun_logs_をプレフィックスとして Podの環境変数を設定する● Service○ ユーザーからはWorker Nodeが見えないためNodePortが利用できない● Storage○ Alibaba Cloud Disk or ApsaraFile Storage NASをPodにマウントできる■ PersistentVolume (PV) / PersistentVolumeClaim(PVC)■ https://github.com/AliyunContainerService/serverless-k8s-examples/
Serverless Clusterの課金体系● 前述の通りWorker Node含めてACK管理になる● Managed Clusterと比較して課金体系が異なる○ vCPUとメモリの従量課金○ (vCPUの数 * vCPUの単価) + (メモリサイズ * メモリの単価)* インスタンスの実行時間○ 2vCPU / 4GBを1ヶ月起動した場合■ ((0.0000077USD/sec * 2) + (0.00000096USD/sec * 4)) * 3600 * 720■ 49.87USD(¥5,650) + SLBなどの利用リソース
まとめ● ACKには3つのタイプがある● 最初にManaged Clusterから検討○ まずはStandardを選択○ (後から変更できるので )問題があればProfessionalに● 性能要件を満たせない場合はServerless Clusterも検討
終わり