- Kubernetesとは -
コンテナオーケストレーションツールで下記も同義
- Docker Swarm
- Cloud Foundry
- コンテナオーケストレーションツールとは -
下記のことを行ってくれる
- デプロイの自動化
- 複数のDockerホストの管理
- コンテナのスケジューリング
- ローリングアップデート
- スケーリング / オートスケーリング
- コンテナの死活監視
- 障害時のセルフヒーリング
- ロードバランシング
一言でいうと複数のコンテナを統合的に管理するための技術がコンテナオーケストレーションです。
- 記載方法、読み方 -
K8s ←kからsの間に8文字あるから
Kube
クバネティス
クーべネティス
クバ
- Dockerとの違い -
- Dockerはアプリケーションをコンテナに分離するために使用するもの。
- Kubernetesはコンテナスケジューラー/オーケストレーションツールであり、コンテナを管理するもの
なのでKubernetesとdockerはお友達のようなものなのです
- Kubernetesのメリデメ -
メリット
- オンプレ、クラウドどちらでも動く
- 活発な開発
- 複数のコンテナを管理できる
### デメリット
- 学習コストが高い
- 更新が早い
- 運用上のServer台数が増える
- Kubernetesの学習コストはなぜ高い? -
- 抽象的な表現が多い
- 拡張性が高すぎるので覚えることがたくさんある
抽象的な表現が多いの例
kube-controller-manager
Kubernetesのオブジェクトを処理するコントローラを実行、管理するコンポーネント
現状と理想状態を判定する
etcd
クラスタ内のにいくつのnodeが管理されているか、各wokernodeにどのアプリケーションが動いているのかなどの情報が格納されている。
kube-scheduler
アプリケーションをどのwokernodeで実行するのか
PodのNodeへの割り当てを行うスケジューラー
kubelet
Nodeのメイン処理であるPodの起動・管理を行うエージェント
kube-proxy
Serviceが持つ仮想的なIPアドレスへのアクセスをルーティングする
あれこれってECSで...
自分はAWS ECSを触っていたのでkubernetesってECSのほうが簡単に動かせるしEKSってなんでできたの?と疑問に思いました
ECSとEKSの比較
- クラスターの料金がかかる0.10USD(EKS)
- VPC、Subnet、ALBの構成をマニフェストファイルをかけば自動で作成できる(EKS)
- 構築が容易(ECS)
... ECSでいいやん!
でもAWSがEKSのサービを始めたのが気になったので調べてみました
EKSを始めた理由
ユーザーからKubernetesのサービスを始めてほしいと言われていた
「ECSはAWSでしか動かない」
\\\ 「ECSはAWSでしか動かない」 /////
参考にさせていただいた記事
https://qiita.com/Kta-M/items/ce475c0063d3d3f36d5d
https://dev.classmethod.jp/articles/ecs-and-eks/
https://atmarkit.itmedia.co.jp/ait/articles/1806/11/news029.html