セットアップ

Edit This Page

正しいソリューションの選択

Kubernetesは様々なプラットフォームで動作することができます: PCから、クラウドプロバイダーのVM、ベアメタルサーバーのラックまで。 クラスターをセットアップするために必要な作業は、単一のコマンドを実行することからカスタマイズされたクラスターを作り上げるまで異なります。このガイドを使用して、ニーズに合ったソリューションを選択してください。

Kubernetesを少し試したいだけであれば、ローカルマシンを使ったソリューションを使用してください。

より多くのマシンと高い可用性にスケールアップする準備がある場合、ホスティングを使ったソリューションで作成して保守するのが最も簡単です。

すぐに利用できるクラウドを使ったソリューションは様々なクラウドプロバイダーを作成してカバーするために必要なコマンドはわずかで済みます。すぐに利用できるオンプレミスを使ったソリューションには、プライベートネットワークのセキュリティと組み合わせたすぐに利用できるクラウドソリューションのシンプルさがあります。

すでにホスティングサービスを設定する方法がある場合は、kubeadmを使用して、マシン毎に単一のコマンドでクラスターを簡単に起動できます。

カスタムソリューションは段階的な手順からセットアップの一般的なアドバイスまで様々あります。

ローカルマシンを使ったソリューション

  • Minikubeは開発とテスト用にローカルの単一ノードのKubernetesクラスターを作成するための方法です。セットアップは完全に自動化されており、クラウドプロバイダーのアカウントは必要ありません。

  • Docker Desktopは MacまたはWindows環境に簡単にインストールできるアプリケーションで、 単一ノードのKubernetesクラスターを使用して、 数分でコーディングとコンテナへのデプロイを開始できます。

  • Minishiftは、ローカル開発およびテスト用にKubernetesエンタープライズプラットフォームのOpenShiftのコミュニティーバージョンをインストールします。Windows、MacOS、Linux用のオールインワンのVM (minishift start)を提供します。コンテナの起動はoc cluster upに基づいています (Linuxのみ)。付属のアドオンをインストールすることもできます。

  • MicroK8sは、開発とテスト用にローカルマシンに最新リリースのKubernetesを単一コマンドでのインストールを可能にします。セットアップは素早く、速く(〜30秒)て、lstioを含む多くのプラグインを単一コマンドでサポートします。

  • IBM Cloud Private-CE (Community Edition)は、開発とテストシナリオ用に、ご自身のマシンでVirtualBoxを使って1つ以上のVMにKubernetesをデプロイすることができます。フルマルチノードのクラスターに拡張します。

  • IBM Cloud Private-CE (Community Edition) on Linux Containersは、Linuxホスト上に7ノード(1ブート、1マスター、1マネジメント、1プロキシー、3ワーカー)のLXDクラスターを作成するためのTerraform/Packer/BASHベースのInfrastructure as Code(IaC)のスクリプトです。

  • Kubeadm-dindは、(Minikubeが単一ノードであることに対して)マルチノードのKubernetesクラスターで、Dockerデーモンのみが必要です。Kubernetesクラスターを生成するためにdocker-in-docker技術を使います。

  • Ubuntu on LXDは、ローカルホスト上の9インスタンスのデプロイをサポートします。

ホスティングを使ったソリューション

  • AppsCode.comは、AWSやGoogle Cloud Platformなどの様々なパブリッククラウド用のマネージドなKubernetesクラスターを提供します。

  • APPUiOは、OpenShiftのパブリッククラウドプラットフォームを実行し、あらゆるKubernetesワークロードをサポートします。さらにAPPUiOは、パブリッククラウドまたはプライベートクラウド上で動作するPrivate Managed OpenShift Clustersを提供します。

  • Amazon Elastic Container Service for Kubernetesは、マネージドなKubernetesサービスを提供します。

  • Azure Kubernetes Serviceは、マネージドなKubernetesクラスターを提供します。

  • Containership Kubernetes Engine (CKE) GCP、Azure、AWS、Packet、DigitalOceanでの直感的なKubernetesクラスターのプロビジョニングと管理。シームレスなバージョンアップグレード、自動スケーリング、メトリック、ワークロードの作成など。

  • DigitalOcean Kubernetesは、マネージドなKubernetesサービスを提供します。

  • Giant Swarmは、独自のデータセンター、オンプレミス、またはパブリッククラウド上にマネージドなKubernetesクラスターを提供します。

  • Google Kubernetes Engineは、マネージドなKubernetesクラスターを提供します。

  • IBM Cloud Kubernetes Serviceは、アイソレーションの選択、運用ツール、イメージとコンテナーへの統合されたセキュリティーのインサイト、およびWatson、IoT、データとの統合を備えたマネージドなKubernetesクラスターを提供します。

  • Kubermaticは、AWSやDigital Oceanなどの様々なパブリッククラウド用のマネージドなKubernetesクラスターを提供するだけでなく、OpenStackと統合されたオンプレミスも提供します。

  • Kublrは、AWS、Azure、GCP、およびオンプレミスで、エンタープライズ級の安全でスケーラブルで信頼性の高いKubernetesクラスターを提供します。すぐに使用可能なバックアップとディザスターリカバリ、集中管理されたマルチクラスターのログ記録とモニタリング、および組み込みのアラートが含まれます。

  • KubeSailは、簡単にKubernetesを試すことができる近道です。

  • Madcore.Aiは、AWSにKubernetesインフラストラクチャーをデプロイするためのDevOpsにフォーカスしたCLIツールです。マスター、スポットインスタンスを使ったオートスケーリンググループのノード、ingress-ssl-lego、Heapster、およびGrafana。

  • Nutanix Karbonは、Kubernetesのプロビジョニング、運用、ライフサイクル管理を簡素化する、マルチクラスターで可用性の高いKubernetes管理および運用プラットフォームです。

  • OpenShift Dedicatedは、OpenShiftを搭載したマネージドなKubernetesクラスターを提供します。

  • OpenShift Onlineは、Kubernetesアプリケーションに無料のホストアクセスを提供します。

  • Oracle Container Engine for Kubernetesは、コンテナ化されたアプリケーションをクラウドにデプロイするために使用できる、フルマネージドかつスケーラブルで可用性の高いサービスです。

  • Platform9は、オンプレミスまたはパブリッククラウド上でマネージドなKubernetesを提供し、24時間365日のヘルスモニタリングとアラートを提供します。(Kube2goは、Web UIによって駆動されるKubernetesクラスターデプロイメントサービスであるPlatform9がリリースされ、Platform9 Sandboxに統合されました)

  • Stackpoint.ioは、複数のパブリッククラウドに対してKubernetesインフラストラクチャーの自動化と管理を提供します。

  • SysEleven MetaKubeは、OpenStackのパブリッククラウドを基盤とするサービスとしてマネージドなKubernetesを提供します。ライフサイクル管理、管理ダッシュボード、モニタリング、自動スケーリングなどが含まれます。

  • VMware Cloud PKSは、VMware Cloud ServicesポートフォリオのエンタープライズのKubernetes-as-a-Serviceであり、使いやすく、デフォルトで安全、かつ費用対効果の高いSaaSベースのKubernetesクラスターを提供します。

すぐに利用できるクラウドを使ったソリューション

これらのソリューションを使用すると、ほんの少しのコマンドで、様々なCloud IaaSプロバイダー上にKubernetesクラスターを作成できます。 これらのソリューションはアクティブに開発されており、またアクティブなコミュニティー支援を受けています。

すぐに利用できるオンプレミスを使ったソリューション

これらのソリューションは、内部の安全なクラウドネットワーク上にKubernetesクラスターをほんのわずかのコマンドで作成することを可能にします。

カスタムソリューション

Kubernetesは、幅広いクラウドプロバイダーやベアメタル環境、 そして多くの基本オペレーティングシステム上で実行できます。

もし以下のガイドからニーズに合ったものを見つけることができたなら、それを使ってください。 少し古くなっているかもしれませんが最初から始めるよりも簡単です。特別な要件があるため、 またはKubernetesクラスターの下にあるものを理解したいために最初から始める必要がある場合は、 ゼロからのカスタムクラスターの作成を試してください。

全般

ホスティングリソースを設定する方法がすでにある場合は、 kubeadmを使用して マシン毎に単一のコマンドでクラスターを起動します。

クラウド

これらのソリューションは、上記のソリューションでカバーされていないクラウドプロバイダーとオペレーティングシステムの組み合わせです。

オンプレミスの仮想マシン

ベアメタル

統合

これらのソリューションは、サードパーティー製のスケジューラー、リソースマネージャー、および/または低レベルのプラットフォームとの統合を提供します。

  • DCOS
    • Community Edition DCOSは、AWSを使用します
    • Enterprise Edition DCOSは、クラウドホスティング、オンプレミスのVM、およびベアメタルをサポートします

ソリューションの表

以下は上記のソリューションすべての表です。

IaaS プロバイダー構成管理OSネットワークドキュメントサポートレベル
anyanymulti-supportany CNIdocsProject (SIG-cluster-lifecycle)
Google Kubernetes EngineGCEdocsCommercial
Docker Enterprisecustommulti-supportmulti-supportdocsCommercial
IBM Cloud PrivateAnsiblemulti-supportmulti-supportdocsCommercial and Community
Red Hat OpenShiftAnsible & CoreOSRHEL & CoreOSmulti-supportdocsCommercial
Stackpoint.iomulti-supportmulti-supportdocsCommercial
AppsCode.comSaltstackDebianmulti-supportdocsCommercial
Madcore.AiJenkins DSLUbuntuflanneldocsCommunity (@madcore-ai)
Platform9multi-supportmulti-supportdocsCommercial
Kublrcustommulti-supportmulti-supportdocsCommercial
Kubermaticmulti-supportmulti-supportdocsCommercial
IBM Cloud Kubernetes ServiceUbuntuIBM Cloud Networking + CalicodocsCommercial
Giant SwarmCoreOSflannel and/or CalicodocsCommercial
GCESaltstackDebianGCEdocsProject
Azure Kubernetes ServiceUbuntuAzuredocsCommercial
Azure (IaaS)UbuntuAzuredocsCommunity (Microsoft)
Bare-metalcustomFedoranonedocsProject
Bare-metalcustomFedoraflanneldocsCommunity (@aveshagarwal)
libvirtcustomFedoraflanneldocsCommunity (@aveshagarwal)
KVMcustomFedoraflanneldocsCommunity (@aveshagarwal)
DCOSMarathonCoreOS/AlpinecustomdocsCommunity (Kubernetes-Mesos Authors)
AWSCoreOSCoreOSflanneldocsCommunity
GCECoreOSCoreOSflanneldocsCommunity (@pires)
VagrantCoreOSCoreOSflanneldocsCommunity (@pires, @AntonioMeireles)
CloudStackAnsibleCoreOSflanneldocsCommunity (@sebgoa)
VMware vSphereanymulti-supportmulti-supportdocsCommunity
Bare-metalcustomCentOSflanneldocsCommunity (@coolsvap)
lxdJujuUbuntuflannel/canaldocsCommercial and Community
AWSJujuUbuntuflannel/calico/canaldocsCommercial and Community
AzureJujuUbuntuflannel/calico/canaldocsCommercial and Community
GCEJujuUbuntuflannel/calico/canaldocsCommercial and Community
Oracle CloudJujuUbuntuflannel/calico/canaldocsCommercial and Community
RackspacecustomCoreOSflannel/calico/canaldocsCommercial
VMware vSphereJujuUbuntuflannel/calico/canaldocsCommercial and Community
Bare MetalJujuUbuntuflannel/calico/canaldocsCommercial and Community
AWSSaltstackDebianAWSdocsCommunity (@justinsb)
AWSkopsDebianAWSdocsCommunity (@justinsb)
Bare-metalcustomUbuntuflanneldocsCommunity (@resouer, @WIZARD-CXY)
oVirtdocsCommunity (@simon3z)
anyanyanyanydocsCommunity (@erictune)
anyanyanyanydocsCommercial and Community
anyRKEmulti-supportflannel or canaldocsCommercial and Community
anyGardener Cluster-Operatormulti-supportmulti-supportdocsProject/Community and Commercial
Alibaba Cloud Container Service For KubernetesROSCentOSflannel/TerwaydocsCommercial
Agile StacksTerraformCoreOSmulti-supportdocsCommercial
IBM Cloud Kubernetes ServiceUbuntucalicodocsCommercial
Digital RebarkubeadmanymetaldocsCommunity (@digitalrebar)
VMware Cloud PKSPhoton OSCanaldocsCommercial
VMware Enterprise PKSBOSHUbuntuVMware NSX-T/flanneldocsCommercial
Mirantis Cloud PlatformSaltUbuntumulti-supportdocsCommercial
備考: 上記の表はバージョンテスト/ノード内での使用順に並べられ、その後にサポートレベルが続きます。

カラムの定義

  • IaaSプロバイダーは、Kubernetesが動作する仮想マシンまたは物理マシン(ノード)を提供する製品または組織です。
  • OSは、ノードのベースのオペレーティングシステムです。
  • 構成管理は、ノードにKubernetesをインストール・保守するのに役立つ構成管理システムです。
  • ネットワークは、ネットワークモデルを実装したものです。ネットワークタイプが、 none のものは、複数のノードをサポートしていない場合や、単一の物理ノードで複数のVMノードをサポートしている場合があります。
  • 適合は、この設定で作成されたクラスターが、Kubernetes v1.0.0のAPIおよび基本機能をサポートするためのプロジェクトの適合性テストに合格したかどうかを示します。
  • サポートレベル
    • プロジェクト: Kubernetesのコミッターは通常この設定を使用しているため、ほとんどの場合Kubernetesの最新リリースで動作します。
    • 商用: 独自のサポート契約がある商用製品。
    • コミュニティー: コミュニティーの貢献によって積極的にサポートされています。 Kubernetesの最近のリリースでは動作しない可能性があります。
    • 非アクティブ: 積極的にメンテナンスされていません。初めてのKubernetesユーザーにはお勧めできません。削除される可能性があります。
  • 注意事項には、使用されているKubernetesのバージョンなど、その他の関連情報があります。

フィードバック