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 つで最高スコアを獲得しました。

推薦する

検索エンジンのキーワードを調整してトラフィックを増やすための2つの戦略

序文: 多くの友人は、自分のウェブサイトを宣伝するために古い方法をよく使用しますが、その効果はあまり...

NEC中国グループの人事システムがSaaSクラウドサービスの導入をリード

NEC(中国)は、中国国内の従業員の人事情報をより適切に管理し、従業員の総合的な資質を向上させるとと...

DevOpsからDevSecOpsまで、プロセス全体にわたって実行されるセキュリティスタック

「21世紀に最も大切なものは何でしょうか?それは才能です!」ゲーおじさんはかつて『泥棒のいない世界』...

ヨン兄弟:英語電子書籍サイト向け SEO 戦略の実践演習

今日は、ウェブサイト構築における私の経験の一部を皆さんと共有したいと思います。また、皆さんの提案にも...

#DoubleTwelve# dogyun: 全品30%オフ、月額27.16元から、ダイナミッククラウドサーバー(IP切り替えは10元のみ)、香港CN2\CMI\BGP+ドイツCN2+日本ソフトバンク

Dogyun(狗云)は、ダブル12の最新プロモーションを実施しました。全製品が30%オフで、更新時に...

ITエリートが「田舎に行く」:農業のインターネット化はさまざまな結果をもたらす

IT 関係者の視点から見ると、丁磊が豚を飼育しているのは目新しいことではない。劉強東さんは米を栽培し...

観察力と分析力を活用してフォーラムマーケティングを行う方法

フォーラム マーケティングを行うにはどうすればよいでしょうか。どこから始めればよいでしょうか。まずは...

電子商取引ライブストリーミング:「大ボス」李佳琦、「新人」張大宜

ダブルイレブンの先行販売初日、李佳琦が人気を集めた。 10月20日夜、「口紅王」李佳琦の生放送ルーム...

クラウドコンピューティングベンダーのロックインを回避する方法

クラウド コンピューティング市場はここ数年で成熟してきましたが、いくつかの問題や懸念事項により、多く...

クラウドネイティブ: ソフトウェア配信の未来

こんにちは、皆さん。私はルガです。今日は、クラウド ネイティブ エコシステムの本質の 1 つである効...

Google幹部、著作権侵害容認の批判に反応:毎月何百万ものリンクを削除

Googleの広告担当上級副社長、スーザン・ウォジスキ氏テンセントテクノロジーニュース(中涛)北京時...

今年の新バージョン:安いVPS、最も安いVPSランキング、商人のグループを排除するのに役立ちます

格安VPS、最も安いVPSは価格制限を更新しており、新しい業者が頻繁に登場しています。VPSをプレイ...

ウェブサイトのトラフィックを増やすための必勝法

ウェブサイトのトラフィックを増やす方法は、ほとんどのウェブマスターが追求してきた目標であると考えられ...

個人事業主がウェブサイトを運営するための事前準備

個人が個人ウェブマスターになる準備をする前に、自分のサイトをどのように準備または計画すればよいでしょ...

SAP SuccessFactors Recruiting、IDC によりグローバル人材獲得のリーダーに選出

最近、SAP SuccessFactors Recruiting は、IDC MarketScape...