k8s に最適な PaaS ソリューションを見つけるにはどうすればよいでしょうか?

k8s に最適な PaaS ソリューションを見つけるにはどうすればよいでしょうか?

[[325295]]

近年、Kubernetes は多くの人々の注目を集めるようになりました。現実には、Kubernetes が非常に有用であることに気づいている企業もあれば、そうではなく、その過程で傷つき、打撃を受けている企業もあります。私の場合は、ちょうど真ん中です。私も同じようなことをするつもりで、間違いを犯す覚悟はしています。その前に、k8s 上にシンプルな PaaS のようなプラットフォームをデプロイする方法を見てみましょう。

1. 最適なPaaSのようなプラットフォームを見つける

では、どこから始めましょうか?このようなものを簡単に見つける方法があるはずです。まずは、簡単な DuckDuckGo 検索から始めましょう。

DuckDuckGo検索は役に立たない

明らかに、k8s は PaaS ではありません。 k8s をベースにした PaaS を構築したいのですが、もちろんそれを PaaS として使用するわけではありません。

次に、HackerNewsで検索しました。最初のクエリはデッド記事を見つけます。また、GitHub で素晴らしいリストを見つけました。

https://github.com/ramatsurana/awesome-kubernetes

より広範囲に検索した結果、自分のユースケースに適した候補プロジェクトのリストができました。

  • ネイティブ
  • OpenFaaSクラウド
  • コンボックス
  • リオ

他にも多くの選択肢があり、そのうちのいくつかは私が試したことがあり、大企業を対象としたものもあります。

2. 私のアプリケーションシナリオ

Quest Vault では、DigitalOcean ドロップレット上のシンプルな WordPress インストールを使用して、e コマース Web サイトを運営しています。いくつかの簡単な bash スクリプトを実行し、テスト/ステージング サーバーのコピーをローカルで実行することで展開することもできましたが、いくつかの bash スクリプトではなく、業界のテクノロジに基づいたプラットフォームを構築したいと考えました。こうした bash スクリプトを書くのは楽しいですし、独自のデプロイメント スタックを持つことも簡単ですが、Quest Vault に「贅沢」なもの、つまり、使用しているツールについて心配する必要がない標準的なものがあればいいのにと思います。

https://questvault.net/

今、私はオフィスで k3s を実行しているガベージ サーバーでこれらのプロジェクトをテストしたいと考えています。 K3s には DigitalOcean ドロップレットへのリバース プロキシがありますが、インターネットからはアクセスできません。つまり、プロジェクトはオンプレミス展開をサポートする必要があるということです。

https://k3s.io/

また、k8s を完全に抽象化できるようにしたいと考えています。つまり、私は常に大量の yaml を扱ったり、helm チャートをデプロイしたりしたくないので、アプリケーションについてもっと考えて、それを CLI を通じて行いたいのです。

要するに、私が望んでいるのは、ボタンを押すだけで機能することです。

私たちのアプリケーションには多くの可動部分があり、その中には単純なスクリプトもあれば、ゲーム クライアントとの通信を提供する大規模なアプリケーションもあります。いずれにせよ、当社のプラットフォームは、多数の異なるアプリケーション タイプをサポートする必要があります。これは通常、Dockerfile を介したデプロイメントをサポートすることを意味します。

実行を計画しているアプリケーションのほとんどは、状態に密接に関連しています。 Wordpress を例にとると、写真を保存する場所が必要になります。アプリ内で撮影した写真も保存しておく必要があります。アプリケーションに何らかの永続性を持たせる方法が必要です。

気に入っているプロジェクトはたくさんありますが、良いプロジェクトと素晴らしいプロジェクトの違いは、コミュニティと業界での採用です。独自の bash スクリプトを持つことと、GitHub 上に 3 人のアクティブ ユーザーがいるプロジェクトを持つことの間にはほとんど違いはありません。何か失敗したり、何らかの理由でアドバイスが必要になったりした場合は、活発なコミュニティから助けを得ることができます。

3. プロジェクトリストを簡単に見る

ネイティブ

私の Knative 体験は素晴らしいスタートを切りました!それを読んで、Google が自社の PaaS のようなデプロイメントに使用しているプラ​​ットフォームを自社のプラットフォーム内で実行できると知り、興奮しました。 Google が k8s を作成したことを考えれば、これは非常に適切であるに違いありません。インストールのプロセスは予想よりもはるかに困難でした。

https://knative.dev/docs/install/any-kubernetes-cluster/

プラットフォームをインストールする簡単な方法はないようですし、プラットフォームを簡単に使用できないことは将来的にリスクとなります。

OpenFaaSクラウド

インストールはとても簡単です!プラットフォームをすぐに立ち上げて稼働させることができました。これは私のニーズのほとんどを満たしていますが、本格的な PaaS オプションというよりも、OpenFaas を実装する興味深い方法のように思えます。私たちのユースケースをこの特定のプラットフォームにどのように適合させるかがわかりません。疎結合のプロジェクトや小規模な機能で作業している場合、これは最適なオプションです。

コンボックス

Convox は素晴らしいですね!元 Heroku エンジニア数名によって k8s 上に構築されたプラットフォーム。完璧ですね!試してみたかったので、すぐに DigitalOcean k8s クラスターにデプロイし始めました。開発経験は素晴らしいです!

ただし、プラットフォームのオンプレミス バージョンはサポートされていないようです。さらに、このプロジェクトには、少数の早期導入者を除けば、それほど大きなコミュニティはないようです。それに比べて、このプロジェクトはあまり知られておらず、結局私はそれをあきらめて別の選択肢を探しました。

これは本当に素晴らしいプロジェクトです。小さな独立系企業が開発した革新的なソリューションなので気に入っています。インストールは簡単で、そのアプローチは k8s をうまく抽象化しますが、yaml ファイルなどの従来の k8s の方法を通じて何らかの形の制御を維持することもできます。本当に気に入って使っています。とても便利です!

ただし、一部の CLI はまだ十分に洗練されていないことに気付きましたが、これらは小さな欠点であり、最終製品を代表するものではないと思います。

リオ

このプロジェクトはすべての要件を満たしています。本当に使いやすい CLI ですか?はい。もう k8s と一切やり取りしないのですか?はい。 Dockerfile を使用してデプロイしますか?はい!また、他のプラットフォームでは実装されていない、または実装が不十分な機能も多数提供しています。 Rancher の Rio は、アクティブなコミュニティから多くのサポートを受けているようです。

https://rancher.com/blog/2019/rio-revolutionizing-the-way-you-deploy-apps

ゴミサーバーにインストールしてセットアップする

すぐに k3s インスタンスのリバース プロキシを設定し、Rio の設定を開始しました。

GitHub ページのクイック スタート ガイドに従えば、プロセスは非常に簡単です。

  1. # k3s へのリバースプロキシの設定
  2. ssh -nNTL 6443 :localhost: 6443ドロップレット &
  3.  
  4. # Rioのインストール
  5. curl -sfL https://get.rio.io |シュ -  
  6.  
  7. # サンプルプロジェクトの実行
  8. rio 実行https://github.com/rancher/rio-demo  

それでおしまい。私は非常に興奮し、既存のインフラストラクチャも同様に簡単に移行できるかどうかをすぐに確認したかったのです。

Rio のデフォルト インストールでは、on-rio.io の rDNS サービスを使用できます。これは便利ですが、リバース プロキシの背後にゴミサーバーを配置する必要はありません。私は Linkerd の経験がないので、今のところは無効にします。コマンド rio install --disable-feature rdns,letsencrypt,linkerd を使用して再インストールした後、目的の結果が得られました。

次に、kubectl 経由でカスタム ClusterDomain をインストールし、on-rio.io 以外の別のドメインを使用できるようにしました。最後に、dnsmasq をインストールし、アプリケーションが解決する app.rio という偽のドメインを作成しました。これにより、ガベージ サーバー上のアプリケーションへの接続を簡単にテストできるようになります。

  1. APIバージョン: admin.rio.cattle.io/v1
  2. 種類: ClusterDomain
  3. メタデータ:
  4. 名前: app.rio
  5. 仕様:
  6. httpポート: 80  

また、DigitalOcean ドロップレットからこのクラスターに接続する方法も考えなければなりませんでした。ゴミサーバーのポート 80 からドロップレットのポート 8080 にリバース プロキシします。 Rio はポート 80 を使用し、Gloo のゲートウェイ プロキシをインストールします。

最後のステップとして、Gloo ゲートウェイを指すように nginx 構成を設定します。

  1. サーバー{
  2. 聞く80 ;
  3. server_name your.domain.name;
  4. 位置 / {
  5. プロキシhttpバージョン1.1 ;
  6. proxy_set_header ホスト $host;
  7. proxy_pass http: //localhost:8080;  
  8. }
  9. }

ここで注意すべき重要な点が 2 つあります。proxy_http_version 1.1 と proxy_set_header Host です。 proxy_http_version は非常に重要です。Envoy をベースにした Gloo は、http_version 1.0 のゲートウェイをサポートしておらず、1.1 のみをサポートしているためです。それ以外の場合は、426 アップグレードが必要というエラーが返されます。

Host ヘッダーは、PublicDomain を実装する上で非常に重要です。 PublicDomain を追加するには、プロキシされる server_name または Host ヘッダーと一致する必要があることに注意することが重要です。一致しないと、Gloo はアクセスしようとしているサービスを識別できません。

  1. rio ドメインを登録 your.domain.name rio-demo

これは、最も適切な Kubernetes PaaS ソリューションを見つけるための私の冒険です。

<<:  マイクロソフト、Windows Virtual Desktop 機能の重要なアップデートを発表

>>:  Dynatrace は、ガートナーの最新のアプリケーション パフォーマンス監視の重要な機能レポートで 6 つのユース ケースのうち 5 つで最高スコアを獲得しました。

推薦する

Pinduoduo は Qutoutiao を買収すべき

Pinduoduoが設立されてから 5 年が経ち、黄正氏は昨日全従業員に宛てた書簡で、同社の CEO...

独立したブログを使用して外部リンクを構築するときに初心者ウェブマスターが避けるべき間違い

多くのウェブサイトでは、ブログの外部リンクを確立する方法やブログの外部リンクを確立することの重要性が...

ブランドマーケティングにおける製品のジレンマ!

インターネット上での情報交換の加速により、さまざまなコンテンツを入手する時間が短縮され、あらゆる面で...

クラウドコンピューティングの災害復旧を実装する方法

組織がクラウド ストレージの使用を増やすにつれて、コストを削減し、運用効率を向上させるために追加のク...

オンラインショッピング代理店に応募した学生が、仮想商品にまつわる詐欺に騙された。

「自宅でネットショッピングをしながら、親指を動かしてキーボードを打つだけで簡単にお金が稼げます!」た...

K8sにVictoriametricsをインストールする

背景前回は、victoriametrics とそのインストール時の注意事項について紹介しました。今日...

Kubernetes の helm とは何ですか?使い方は?

Kubernetes (K8S) エコシステムにおいて、Helm は強力なプログラムの展開と管理のた...

Zxplay-23 USD/年/KVM/1GB RAM/120GB HDD/6TB トラフィック/DDOS 保護

英国の VPS 販売業者である Zxplay がエイプリルフールに大幅な割引を提供してくれました。ご...

時間を旅するエンジン: Kafka メッセージのタイミングの謎を解明

1. 要約1. Kafka メッセージの遅延とタイミングの概要Kafka メッセージのレイテンシとタ...

民間医療業界が必ず行うべき 6 つのブログ マーケティング手法

ブログといえば、ウェブマスターなら誰でもよく知っていると思います。特に多くの医療系ウェブサイトには、...

ノキアは新製品を発売します。頑丈で耐久性のある道を進むことができるでしょうか?

メディアの報道によると、ノキアは、ノキアの最も高価な携帯電話として知られる1シリーズのフラッグシップ...

電子商取引企業がオンラインメディアを利用して無料マーケティングを実施するための完全ガイド

インターネット時代において、オンラインマーケティングの本質は低コストと高効率です。オンラインメディア...

SEO入門書と個人的な経験

1. 「検索エンジン最適化 (SEO) 知識完全ハンドブック」。この本は、インターネット マーケティ...

ecovm-$3.5/KVM/512m メモリ/5g SSD/500g トラフィック/G ポート

ecovm は設立されてまだ日が浅い VPS ビジネスです。しかし、iwebserver.ca (1...

友好的なリンクを交換するときに役に立たない3つの指標:スナップショットPRと重み

最近、友好的なリンクを交換するときに相手が必ず尋ねると言っているウェブマスターをよく見かけます。スナ...