この記事は Google Cloud Translation APIを使用した自動翻訳です。
いくつかの文書は原文を読むのに良いかもしれません。
#Overview
Kubernetesは、アプリケーションの展開、拡張、および管理を自動化するためのオープンソースコンテナオーケストレーションシステムです。もともとGoogleが設計し、現在Cloud Native Computing Foundationによって管理されています。 Kubernetesは、あらゆる規模の組織でクラウドネイティブ環境でアプリケーションをデプロイおよび管理するために使用されます。複雑な分散システムを管理するための強力なツールであり、開発者がアプリケーションを迅速かつ簡単にデプロイおよび管理できるプラットフォームを提供します。
#History
Kubernetesはもともと「Borg」という内部プロジェクトで、Googleが2014年に開発しました。数十万台のコンピュータを含む Google の大規模なコンピューティング インフラストラクチャを管理するように設計されています。 2015年、Googleはこのプロジェクトをオープンソース化し、名前はKubernetesに変更されました。それ以来、このプロジェクトは多くの組織で採用されており、現在Cloud Native Computing Foundationによって維持されています。
#description
Kubernetesは、クラウドネイティブ環境でアプリケーションのデプロイ、拡張、管理を自動化するコンテナオーケストレーションシステムです。開発者がアプリケーションを迅速かつ簡単にデプロイおよび管理できるプラットフォームを提供するように設計されています。 Kubernetesは、アプリケーションをより小さく管理しやすいコンポーネントに分割できるマイクロサービスアーキテクチャに基づいています。さらに、Kubernetesはスケーラビリティに優れているため、組織が必要に応じてアプリケーションを簡単に拡張できます。
#特徴
Kubernetesは、組織がアプリケーションを管理するのに役立つさまざまな機能を提供します。最も重要な機能のいくつかは次のとおりです。
自動化された展開と拡張:Kubernetesはアプリケーションの展開と拡張を自動化し、組織がアプリケーションをすばやく簡単に展開して拡張できるようにします。
自己治癒:クーバーネティスは自己治癒するように設計されています。つまり、手動介入なしにエラーや障害を検出して修復できます。
サービス検索とロードバランシング:Kubernetesはサービス検索とロードバランシングを提供し、アプリケーションを簡単に検索して適切なリソースにルーティングできます。
ストレージオーケストレーション:Kubernetesはストレージオーケストレーション機能を提供し、組織がストレージリソースを簡単に管理できるようにします。
セキュリティ:Kubernetesは、役割ベースのアクセス制御やネットワークポリシーの適用など、さまざまなセキュリティ機能を提供します。
#yes
Kubernetesは、シンプルなWebアプリケーションから複雑な分散システムまで、幅広いアプリケーションをデプロイおよび管理するために使用できます。たとえば、Kubernetesを使用して、複数のマイクロサービスで構成されたWebアプリケーションをデプロイおよび管理できます。 Kubernetesを使用してアプリケーションをデプロイおよび拡張し、基本インフラストラクチャを管理できます。 Kubernetesを使用してアプリケーションのストレージリソースを管理し、役割ベースのアクセス制御やネットワークポリシーの適用などのセキュリティ機能を提供することもできます。
#長所と短所
キューバネティスには、スケーラビリティ、自己修復機能、セキュリティ機能など、いくつかの利点があります。また、開発者がアプリケーションを迅速かつ簡単にデプロイおよび管理できるプラットフォームを提供します。ただし、Kubernetesはセットアップと管理が複雑になる可能性があり、効果的に使用するには一定の専門知識が必要です。
#議論
Kubernetesは、複雑さとKubernetesクラスタのセットアップと管理の難しさから批判を受けてきました。また、一部では、Kubernetesはクラウドに集中しすぎており、オンプレミスの展開を十分にサポートしていないと主張しました。
#関連技術
Kubernetesは、Docker SwarmやApache Mesosなどの他のコンテナオーケストレーションシステムと密接に関連しています。さらに、KubernetesはしばしばIstioやPrometheusなどの他のクラウドネイティブ技術と組み合わせて使用されます。
#余談
Kubernetesは複雑な分散システムを管理するための重要なツールであり、開発者がアプリケーションを迅速かつ簡単にデプロイおよび管理できるプラットフォームを提供します。ただし、Kubernetesは説明ではなく、他のクラウドネイティブテクノロジと組み合わせて使用してアプリケーションを効果的にデプロイして管理する必要があることを覚えておくことが重要です。
#その他
Kubernetesはオープンソースプロジェクトであり、Cloud Native Computing Foundationによって積極的に開発されています。また、Red HatやGoogle Cloud Platformなど、Kubernetesのサポートとサービスを提供するいくつかの商用ベンダーがあります。