Member-only story
初心者向けKubernetesの解説(前半)
長い記事なので、前半と後半の2つに分けて投稿いたします。今回は前半です。
Kubernetesの公式ドキュメントでは、Kubernetesを “コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化するためのオープンソースシステム “と説明されています。
Kubernetesとは?
オープンソースのコンテナ化オーケストレーションプラットフォームで、Googleのプロジェクトとして開発され、現在はCloud Native Computing Foundationによってメンテナンスされています。クラウドやオンプレミスを問わず、簡単に移植することができます。Kubernetesは、会員および非会員のパートナーによるプロジェクトや製品のエコシステムが拡大しており、コンテナ・オーケストレーション・ソリューションとして頼りになるツールです。
そして、Kubernetesに当てはまらないのは次です。
- Kubernetesは、従来のサービスとしての総合的なプラットフォームではありません。
- 融通のきかないものではなく、非常に多様なワークロードやコンテナ化されたアプリケーションをサポートする、柔軟なモデルです。
- アプリケーションの構築やソースコードのデプロイを行う継続的インテグレーション/継続的デリバリーパイプラインを提供するものではありません。
- ロギング、モニタリング、アラートのソリューションを規定しません。
- ミドルウェア、データベース、その他のサービスを提供するものではありません。
Kubernetesの概念
- Podは、最小のデプロイ可能なコンピュートオブジェクトであり、ワークロードを実行するためのより高いレベルの抽象化されたものです。
- サービスは、Podのセット上で動作するアプリケーションをエクスポーズします。各Podには固有のIPアドレスが割り当てられます。Podのセットには1つのDNS名が付与されます。
- Kubernetesは、Podの永続的なストレージと一時的なストレージの両方をサポートしています。
- Podを構成するためのリソースのプロビジョニングを意味する「コンフィギュレーション」。
- クラウドネイティブワークロードのためのセキュリティ対策で、PodとAPIアクセスのセキュリティを強化します。