年の初めに、新しいWebサービスであるKubeSailが、「Kubernetesをすべての開発者にアクセスしやすくする」ことを目指した2人のアメリカ人Kubernetesファンによって作成されました。 それを達成するために、彼らはマネージドサービスの形でK8sクラスターを提案しました。その中には無料の料金プランがあります。
KubeSailの著者は、Kubernetesがすでにインフラストラクチャを構築するための標準になっていると主張しており、「この技術の利点が[トレーニングと開始]の費用をカバーするかどうかについて疑問を抱いています」と述べています。 この欠点を軽減するために、彼らは使いやすいサービスを提供します。無料版は「[Amazon] EKSのように、月額140米ドルの価値がないKubernetesや趣味のプロジェクトを学習するのに便利です」。
現在のKubeSailの料金プランは次のとおりです。
...そして、CPU /メモリとストレージに対する柔軟な制限のある価格は、近日中に約束されます。
他のオプションよりも優れているものは何ですか?
それは開発者自身(彼らだけでなく)が言っていることであり 、Reddit読者から彼らの提案と既に持っているものとの違いについての質問に答えます。
Minikubeをローカルで実行する場合と比較して:
「この非常にアクセスしやすい構成で作業できる複数のマスターノード。 1つのノードをドロップでき、機能が破損することはありません。 Minikubeは、多くの労働者がいるマスターを1人だけ持つことができると確信しています。」
「...クラスターで実稼働インストールを実行し、インターネットで利用可能にすることもできます。 これは学習に最適なだけでなく、ラップトップカバーが閉じられてもオフにならない、非常に高可用性のK8sクラスターです。
他の管理対象Kubernetesプロバイダーと比較(例:GKEおよびDigital Ocean):
「DOは上記のEKSと比較して 、AWSよりも本当に安いのですが、無料構成でHA構成をサポートし(3つのノードで3つの小さなポッドを実行できます)、高速SSDを備えた非常に強力なマシンを使用することを言わなければなりません-ドライブとネットワーク接続のため、KubeSailのポッドはDOの2ギガバイトのインスタンスより高速になると確信しています。 DOとの競合は非常に困難ですが、トレーニングとユーザーインターフェイス/ユーティリティに焦点を当てます。
管理されたK8以上
このサービスは主に開発者に焦点を当てていますが、DevOpsエンジニアにとっても役立ちます。 シンプルなWebインターフェース(詳細は以下に続きます)に加えて、著者はKubernetesの開発ツールとクラスターでのアプリケーションの起動と起動を簡素化するマニュアルをリリースすることを約束します。 ここでの「最初のツバメ」 は、 1つのコマンドでNode.jsアプリケーションをKubernetesにデプロイするように設計された deploy-to-kubeユーティリティでした(このための構成を作成する必要なく、必要なデータはすべてインタラクティブに要求されます):
しかし、実際に管理されているK8sクラスターに戻ると、KubeSailが提供するものです。
KubeSailを使用する
サービスのWebインターフェースはプロジェクトの目的を果たします。非常にシンプルで、数回クリックするだけでクラスターを自由に使用できます。
GitHubアカウントを介してログインした後、Webインターフェースはすぐに仕事に取りかかるように促します。 作成されたKubernetesクラスターへの最初の展開を展開します。
このための既成の例の1つ、
QUOTE-OF-THE-MONTH
ます。 これは、ランダムなJSON引用サービスです。 デプロイは高速です(10秒未満):
外部からアクセス可能なエンドポイントを参照して、結果を確認しましょう。
$ curl https://qotm-2d7ab6efca.kubesail.io/ { "hostname": "qotm-5d9f776595-6qfmv", "ok": true, "quote": "A small mercy is nothing at all?", "time": "2019-02-21T02:54:15Z", "version": "2.0" }
うまくいく! クラスターに既にアップロードされているデプロイメントへのインターフェースは次のとおりです。
ご覧のとおり、リソース制限、転送ポート、ログ出力(
kubectl logs
からのデータ)のそれぞれについての基本情報を見ることができます。
(インターフェイスの右上隅にある)[アカウント]リンクをクリックすると、既成の例から追加の展開を展開できます(そして、そのうちの2つのみ:既に言及された
~/.kube/config
サービスとnginx)。通常の
kubectl
を使用してクラスターを
kubectl
ます。
実験を完了するために、この設定を使用してデプロイメントをデプロイします-たとえば、 Kubernetesのドキュメントから:
$ kubectl create -f https://k8s.io/examples/controllers/nginx-deployment.yaml deployment.apps/nginx-deployment created $ kubectl get deployments NAME READY UP-TO-DATE AVAILABLE AGE nginx 1/1 1 1 4h14m nginx-deployment 0/3 0 0 64s qotm 1/1 1 1 4h17m
それは拡大することが判明しましたが、何かが間違っていましたか? KubeSailインターフェースは喜んでお手伝いします:
ここにある-それはすべて限られたリソースについてです。 たとえば、このフォームにデプロイメントを導入すると、問題はなくなります(最後の行-
resources
ブロックを参照)。
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.7.9 ports: - containerPort: 80 resources: limits: cpu: "100m" memory: "20Mi" requests: cpu: "10m" memory: "10Mi"
...しかし、この問題のこのような「修正」の人工性はすぐに感じられます。
右上隅の「1/3」に注意してください。これは、レプリカの1つの起動を象徴しています。 確かに、この後、リソースは再び十分ではなくなりました...しかし、私はそのような「ゲーム」を実験の範囲外にします。その本質は、
kubectl
を介してクラスターとの相互作用をチェックすることまで煮詰めます。
KubeSailの現在の公式ステータスはベータ版です。著者は、開発者とDevOpsエンジニアの両方のサービスのユーザーからのフィードバックを心待ちにしています。
代替案
最後に、Kubernetesを実験してオンラインで学習するための他の無料サービスがあることを思い出させてください。 そのうちの1つ-Docker-in-Docker(DIND)テクノロジーを使用してKubernetesでプレイし 、ブラウザーでコンソールを提供する-についてはすでにレビューを書きました 。
彼に加えて、カタコダは非常によく似たKubernetes Playgroundを作成しました。
また、 Kubernetesのドキュメントでは、 Kubernetesの ローカルインストール/使用方法とホストソリューションの両方の大きなリストを見つけることができますが、その多様性は現在、Amazon、Azure、Digital Ocean、Googleの使い慣れたオプションをはるかに上回っています(ちなみに、KubeSailはこのリストへ) 。
PS
ブログもご覧ください。