website/content/ja/docs/setup/pick-right-solution.md

30 KiB
Raw Blame History

title weight content_template card
正しいソリューションの選択 10 templates/concept
name weight anchors
setup 20
anchor title
#ホスティングを使ったソリューション ホスティングを使ったソリューション
anchor title
#すぐに利用できるクラウドを使ったソリューション すぐに利用できるクラウドを使ったソリューション
anchor title
#すぐに利用できるオンプレミスを使ったソリューション すぐに利用できるオンプレミスを使ったソリューション
anchor title
#カスタムソリューション カスタムソリューション
anchor title
#ローカルマシンを使ったソリューション ローカルマシンを使ったソリューション

{{% capture overview %}}

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

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

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

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

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

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

{{% /capture %}}

{{% capture body %}}

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

  • 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 CodeIaCのスクリプトです。

  • 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 ネットワーク ドキュメント サポートレベル
any any multi-support any CNI docs Project (SIG-cluster-lifecycle)
Google Kubernetes Engine GCE docs Commercial
Docker Enterprise custom multi-support multi-support docs Commercial
IBM Cloud Private Ansible multi-support multi-support docs Commercial and Community
Red Hat OpenShift Ansible & CoreOS RHEL & CoreOS multi-support docs Commercial
Stackpoint.io multi-support multi-support docs Commercial
AppsCode.com Saltstack Debian multi-support docs Commercial
Madcore.Ai Jenkins DSL Ubuntu flannel docs Community (@madcore-ai)
Platform9 multi-support multi-support docs Commercial
Kublr custom multi-support multi-support docs Commercial
Kubermatic multi-support multi-support docs Commercial
IBM Cloud Kubernetes Service Ubuntu IBM Cloud Networking + Calico docs Commercial
Giant Swarm CoreOS flannel and/or Calico docs Commercial
GCE Saltstack Debian GCE docs Project
Azure Kubernetes Service Ubuntu Azure docs Commercial
Azure (IaaS) Ubuntu Azure docs Community (Microsoft)
Bare-metal custom Fedora none docs Project
Bare-metal custom Fedora flannel docs Community (@aveshagarwal)
libvirt custom Fedora flannel docs Community (@aveshagarwal)
KVM custom Fedora flannel docs Community (@aveshagarwal)
DCOS Marathon CoreOS/Alpine custom docs Community (Kubernetes-Mesos Authors)
AWS CoreOS CoreOS flannel docs Community
GCE CoreOS CoreOS flannel docs Community (@pires)
Vagrant CoreOS CoreOS flannel docs Community (@pires, @AntonioMeireles)
CloudStack Ansible CoreOS flannel docs Community (@sebgoa)
VMware vSphere any multi-support multi-support docs Community
Bare-metal custom CentOS flannel docs Community (@coolsvap)
lxd Juju Ubuntu flannel/canal docs Commercial and Community
AWS Juju Ubuntu flannel/calico/canal docs Commercial and Community
Azure Juju Ubuntu flannel/calico/canal docs Commercial and Community
GCE Juju Ubuntu flannel/calico/canal docs Commercial and Community
Oracle Cloud Juju Ubuntu flannel/calico/canal docs Commercial and Community
Rackspace custom CoreOS flannel/calico/canal docs Commercial
VMware vSphere Juju Ubuntu flannel/calico/canal docs Commercial and Community
Bare Metal Juju Ubuntu flannel/calico/canal docs Commercial and Community
AWS Saltstack Debian AWS docs Community (@justinsb)
AWS kops Debian AWS docs Community (@justinsb)
Bare-metal custom Ubuntu flannel docs Community (@resouer, @WIZARD-CXY)
oVirt docs Community (@simon3z)
any any any any docs Community (@erictune)
any any any any docs Commercial and Community
any RKE multi-support flannel or canal docs Commercial and Community
any Gardener Cluster-Operator multi-support multi-support docs Project/Community and Commercial
Alibaba Cloud Container Service For Kubernetes ROS CentOS flannel/Terway docs Commercial
Agile Stacks Terraform CoreOS multi-support docs Commercial
IBM Cloud Kubernetes Service Ubuntu calico docs Commercial
Digital Rebar kubeadm any metal docs Community (@digitalrebar)
VMware Cloud PKS Photon OS Canal docs Commercial
VMware Enterprise PKS BOSH Ubuntu VMware NSX-T/flannel docs Commercial
Mirantis Cloud Platform Salt Ubuntu multi-support docs Commercial

{{< note >}} 上記の表はバージョンテスト/ノード内での使用順に並べられ、その後にサポートレベルが続きます。 {{< /note >}}

カラムの定義

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

{{% /capture %}}