Learn Kubernetes Basics 終えた【Deploy an App】
Kubernetes のチュートリアル Learn Kubernetes Basics を一通りやったので、軽くメモした内容を書いておきます。
前回の記事はこれ。
Deploy an App
ここでは次のことを学ぶ。
- kubectl を使ったアプリケーションのデプロイ
シンプルですね。
Deployment
Kubernetes Cluster を準備したら、コンテナ化されたアプリケーションを Cluster 上にデプロイできる。
このデプロイ、ローリングアップデートなどを管理するのがDeployment。 デプロイされたインスタンスが停止・削除された場合には、Deployment Controller が同一 Cluster 内の別のノード上のインスタンスに置き換えてくれる。
デプロイの流れ
- アプリケーションのインスタンスを実行できる適切なノードを探す(利用可能なノードは1つだけ)
- ノード上でアプリケーションを動かすようスケジュールする
- 必要な場合は新しいノードでインスタンスを再スケジュールするようクラスタを設定する
各コマンド
kubectl run
- Kubernetes 上でアプリを動かす
- deployment name と Docker Hub の image location が必要
- 必要に応じて port も設定する
kubectl get deployments
- ノードの Docker コンテナ上で動いているインスタンスを取得する
アプリケーションは Kubernetes 内で動いていて、同じ Cluster 内の Pod や Service からは見えるが、外からは見えない。kubectl を使えば、APIエンドポイントを通して公開することができる。
- kubectl proxy
この結果、アプリケーションを Kubernetes 上にデプロイして公開し、curl で叩くところまでできるようになります。