2016-12-13 1 views
1

Dockerオーケストレーションとコンテナ群の管理はかなり新しくなっています。私は彼らがコマンドを実行したときにユーザーにコンテナを与えるアプリケーションを構築したいと思っています。これを達成するための最良のツールと最良の方法は何ですか?コンテナオーガナイゼーションは、ユーザーの操作に基づいて単一のコンテナをプロビジョニングするためのものです。

コンテナを実行するためのCoreOSサーバーのプールがあることを予定しています。スケジューラに、コンテナを作成するために呼び出すことができるスケジューラがあると想像しています。

Nomad、Kubernetes、Docker Swarmなどで見たことのほとんどは、同じことを行うコンテナの複数のクラスタをプロビジョニングする方法です。私は、ユーザーコマンドに基づいて単一のコンテナを作成し、そのコンテナのAPIと通信できるようにしたいと考えています。誰もがこれを経験している? (長寿命)

答えて

1

私はKubernetes見たい+ Jobs APIは(短命)またはDeployments

私はあなたのコマンドの意味を正確にわからないんだけど、私はのdevのENVのそのいくつかの並べ替えを仮定しますCLIによってトリガーされるmake-dev

  1. ユーザーは、理想的にレート制限および/または認証を行って、ジョブAPIの前に座って、あなたのアプリにウェブフックを送信する、make-devをトリガします。
  2. アプリコマンドを受け取り、正気は、それをチェックし、[ジョブ/展開の要求をオフに発射+ポッドを開始するためにIngress rule + Service
  3. Kubernetesはマシン
  4. アプリが待つのあなたの艦隊全体でそれをスケジュールします次に、一意の識別子(イングレスルールと同じもの)を持つAPIのアドレスを返します。devclusters.com/foobar123
  5. ユーザーはそのアドレスでサービスにアクセスします。内部的にKubernetesは入力とサービスを使用してリクエストをポッドにルーティングします

これはスケールがよく、異なる環境で同じベースコンテナイメージが使用されている場合は本当に高速に起動するはずです。

プラグ:あなたは簡単CoreOS + KubernetesクラスタプラスUIが上のコンテナを実行するためにCoreOSサーバーのプールを持つにhttps://coreos.com/tectonic

+0

ありがとうRob!これは私に大きな出発点を与えます。私はKubernetesにはかなり新しいので、これはとても役に立ちます。あなたが描いたことを見て、それが私が想像していることのためにうまくいくかどうかを見ていきます。 – gkrizek

+0

@TICクーベルネットクラスターの上を走る核分裂プラットフォームと呼ばれるものがあり、これはFAASのような経験をもたらします。試してみてください。多分それはあなたが探しているものです –

0

私は計画を試してみたいと私は持っているスケジューラを想像していた場合私はコンテナに

kubernetesを作成するために呼び出すことができるAPIは、あなたが直接あなたのクラスタ内のポッド(1つ以上の容器を含んでkubernetesにおける作業単位)を作成するために使用できるRESTfulなAPIが付属しています。

コマンドラインユーティリティkubectlも、apiを使用してまったく同じ方法でクラスタとやりとりします。 golang、Java、Pythonには、現時点ではクライアントのライブラリがあり、クラスタとのやりとりを助けるための方法があります。

ポッドを管理するために、より高度な抽象化が必要な場合は、それらを更新してライフタイムを管理する必要があります。コントローラ(レプリカセット、レプリケーションコントローラ、デプロイメント、ステートフルセット)

関連する問題