30 KiB
title | weight | content_template | card | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
正しいソリューションの選択 | 10 | templates/concept |
|
{{% 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 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クラスターを作成できます。 これらのソリューションはアクティブに開発されており、またアクティブなコミュニティー支援を受けています。
- Agile Stacks
- Alibaba Cloud
- APPUiO
- AWS
- Azure
- CenturyLink Cloud
- Conjure-up Kubernetes with Ubuntu on AWS, Azure, Google Cloud, Oracle Cloud
- Containership
- Docker Enterprise
- Gardener
- Giant Swarm
- Google Compute Engine (GCE)
- IBM Cloud
- Kontena Pharos
- Kubermatic
- Kublr
- Madcore.Ai
- Nirmata
- Nutanix Karbon
- Oracle Container Engine for K8s
- Pivotal Container Service
- Rancher 2.0
- Stackpoint.io
- Supergiant.io
- Tectonic by CoreOS
- VMware Cloud PKS
- VMware Enterprise PKS
すぐに利用できるオンプレミスを使ったソリューション
これらのソリューションは、内部の安全なクラウドネットワーク上にKubernetesクラスターをほんのわずかのコマンドで作成することを可能にします。
- Agile Stacks
- APPUiO
- Docker Enterprise
- Giant Swarm
- GKE On-Prem | Google Cloud
- IBM Cloud Private
- Kontena Pharos
- Kubermatic
- Kublr
- Mirantis Cloud Platform
- Nirmata
- OpenShift Container Platform (OCP) by Red Hat
- Pivotal Container Service
- Rancher 2.0
- SUSE CaaS Platform
- SUSE Cloud Application Platform
- VMware Enterprise PKS
カスタムソリューション
Kubernetesは、幅広いクラウドプロバイダーやベアメタル環境、 そして多くの基本オペレーティングシステム上で実行できます。
もし以下のガイドからニーズに合ったものを見つけることができたなら、それを使ってください。 少し古くなっているかもしれませんが最初から始めるよりも簡単です。特別な要件があるため、 またはKubernetesクラスターの下にあるものを理解したいために最初から始める必要がある場合は、 ゼロからのカスタムクラスターの作成を試してください。
全般
ホスティングリソースを設定する方法がすでにある場合は、 kubeadmを使用して マシン毎に単一のコマンドでクラスターを起動します。
クラウド
これらのソリューションは、上記のソリューションでカバーされていないクラウドプロバイダーとオペレーティングシステムの組み合わせです。
- Cloud Foundry Container Runtime (CFCR)
- CoreOS on AWS or GCE
- Gardener
- Kublr
- Kubernetes on Ubuntu
- Kubespray
- Rancher Kubernetes Engine (RKE)
- VMware Essential PKS
オンプレミスの仮想マシン
- Cloud Foundry Container Runtime (CFCR)
- CloudStack (Ansible、CoreOSとflannelを使用します)
- Fedora (Multi Node) (Fedoraとflannelを使用します)
- Nutanix AHV
- OpenShift Container Platform (OCP) Kubernetes platform by Red Hat
- oVirt
- Vagrant (CoreOSとflannelを使用します)
- VMware (CoreOSとflannelを使用します)
- VMware Essential PKS
- VMware vSphere
- VMware vSphere, OpenStack, or Bare Metal (Juju、Ubuntuとflannelを使用します)
ベアメタル
- CoreOS
- Digital Rebar
- Docker Enterprise
- Fedora (Single Node)
- Fedora (Multi Node)
- Kubernetes on Ubuntu
- OpenShift Container Platform (OCP) Kubernetes platform by Red Hat
- VMware Essential PKS
統合
これらのソリューションは、サードパーティー製のスケジューラー、リソースマネージャー、および/または低レベルのプラットフォームとの統合を提供します。
- 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 %}}