1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Kubernetes 入門

Posted at

Kubernetesとは

k8s

Google主導で開発された、OSS(Open Source Software)のコンテナオーケストレーションツールです。読み方は「クーベネティス/クーベルネティス/クバネティス/K8s(ケーハチエス)/kube(クベ)」などと呼ばれます。ギリシャ語で航海長またはパイロットという意味があるらしいです。
2018年にGoogleからクラウドネイティブを推進する組織、CNCF(Cloud Native Computing Foundation)に寄贈されました。

コンテナオーケストレーションツールとは、コンテナを運用する上で必要なアプリのデプロイやDockerホストの管理、スケーリングなどの仕組みを備えたツールで、操作のためのAPIやCLI(kubectl)を提供しています。

使うための前提条件

Kubernetesは前述したとおり、コンテナを運用するためのツールです。
このため、アプリはコンテナ化されていることが前提になります。コンテナ化とは、アプリがDockerイメージ化されている状態になります。

使うと何が良いのか

自分なりに想定しているKubernetesを導入することで得られるメリットについて書きたいと思います。

コンテナの更新(リリース)が楽になる

現状、クラウドはAWSを使用しているのですが、今までKubarnetesを使用せずにEC2に直接Dockerコンテナを起動してました。そうすると、EC2にSSHしてdocker-compose(またはDockerfile)を使ってコンテナを起動して・・・をコンテナ数×サーバ数の回数やらなくてはいけません。Kubernetesを使用すれば、ローカルからkubectlコマンドを叩くだけでアプリのデプロイが可能になります。

コンテナの状態管理が楽になる

ローカルでKubectlコマンドを叩くだけで全コンテナの状態が一覧でパッとわかるため、コンテナの状態管理が楽になります。

オートヒーリングでコンテナ数が維持される

Kubernetesにはオートヒーリング機能が備えられていて、何らかの原因でコンテナがダウンした場合にも自動で代わりのコンテナを起動し、設定した数のコンテナを維持してくれます。(ReplicaSet機能)

ロールバックで前のバージョンに切り替え可能

コンテナのイメージを更新してKubernetesでデプロイした場合、問題があればすぐに古いバージョンにロールバックすることが可能です。(Deployment機能)

Kubernetesのアーキテクチャ概要

Kubernetesを導入する場合、どんなアーキテクチャになるのか?をざっくり解説します。

Untitled Diagram (33).png

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?