>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
JavaScript

Layer5がKubernetesとサービスメッシュを開発者にとって使いやすくするための取り組み

Layer5 logo

プロジェクトが十几个のマイクロサービスに成長すると、インフラ管理は混乱に陥ります。開発者はコードを書き、運用チームはマニフェストの意味を理解するのに苦労し、障害が発生すると誰もが責任を押し付け合います。よくある状況ですが、心地よいものではありません。

ある時点で、Layer5リポジトリに出会いました。本質的には、Kubernetesやサービスメッシュを操作するためのオープンソースユーティリティの整套を開発する組織のフラッグシッププロジェクトです。彼らの主なアイデアは、インフラを可視化し、開発者が何百行ものYAMLを手動で書き換えることなく視覚的に制御できるようにすることです。

プロジェクトに含まれる内容

Layer5リポジトリは、いくつかの独立したツールのショーケース兼ハブとして機能します。それぞれがインフラスタックの特定の課題に対処しています。

Meshery

Meshery

これは、Istio、Linkerd、ConsulなどのKubernetesやサービスメッシュ用の管理ダッシュボードです。このユーティリティはクラスタに接続し、現在のトポロジーを読み取り、ベストプラクティスに対して設定を検証し、ネットワークパフォーマンスをテストできます。

Kanvas

Kanvas

視覚的なインフラエディタです。ターミナルでマニフェストを編集する代わりに、インタラクティブなキャンバス上でアーキテクチャを構築します。図はクラスタとリアルタイムで同期するため、変更はチーム全体にすぐに表示されます。

Nighthawk

Nighthawk

OSIモデルのレイヤー7(HTTP、HTTPS、HTTP/2)用のロードテストツールです。Envoy用のロードジェネレーターとしてC++で記述され、Layer5チームはこれをレイテンシとスループットのテストシナリオに統合しました。

Catalog

Cloud Native CatalogとPatterns

Kubernetes用の готовыхアーキテクチャパターンのカタログです。カナリーリリースを設定したり、サービスバージョン間でトラフィックを分割する必要がある場合は、车輪の再発明ではなく、カタログから実証済みのテンプレートを使用できます。

SMP

Service Mesh PerformanceとSistent

SMP仕様はサービスメッシュパフォーマンス指標の収集を標準化し、異なる環境でのテスト結果を正しく比較できるようにします。そしてSistentは独自のデザインシステムとReactコンポーネントライブラリで、同社のすべての製品Webインターフェースはこれに基づいて構築されています。

Sistent

内部的な仕組み

プロジェクトのサービスのほとんどはGoとJavaScriptで記述されています。クラスタ統合にはMeshery Operatorが使用され、Kubernetes内にインストールされてMeshSyncコンポーネントを実行します。

Meshery Operator

MeshSyncはKubernetes APIイベントをlistenし、リソースの状態をMesheryサーバーに転送します。スタック全体がApache 2.0ライセンスの下で動作しているため、コードは完全に開かれており、ローカルデプロイメントが可能です。

1つのコマンドでMeshery CLIユーティリティをローカルマシンにインストールして起動できます:

curl -L https://meshery.io/install | PLATFORM=kubernetes bash -
mesheryctl system start

起動後、ローカルWebインターフェースが開き、目的のService Meshアダプタを選択し、既存のkubeconfigを接続して、トラフィックのプロファイリングを開始できます。

実践的なシナリオ

Layer5ツールキットが実際に時間を節約する状況は次のとおりです:

  1. 採用前のService Meshソリューションの比較。チームがIstioとLinkerdの間で選択している場合、Nighthawkベースの組み込みベンチマークは、同一の合成負荷を実行し、メモリ消費とネットワークレイテンシを比較するのに役立ちます。
  2. 新しい開発者のオンボーディング。Kanvasのビジュアルマップは、Confluenceの古い図を読むことなく、新人がサービスの接続方法をより速く理解するのに役立ちます。
  3. 設定の監査。パターンカタログは、マニフェストでリソース制限が欠落しているりやmTLSセキュリティポリシーが誤って設定されている箇所を提案します。
  4. クラウドテクノロジーのトレーニング。組み込みのLayer5 Academyプラットフォームには、本番クラスタを停止するリスクなしに安全に練習できるインタラクティブな演習が含まれています。

Layer5 Academy

試してみる価値はあるか

Layer5は、多くのサブプロジェクトを持つ実質的なプロジェクトであることが判明しました。一方では、エンティティの数が多いので、学習曲線が急峻に見える可能性があります:Mesheryがどこで終わりKanvasが始まるかを理解する必要があります。他方、Kubernetes上でマイクロサービスを維持することの複雑さで壁にぶつかったチームにとっては、アーキテクチャへの視覚的なアプローチがルーティンワークの一部を排除します。

始める 가장簡単な方法は、ローカルのMinikubeまたはk3sでmesheryctlを使用することです。これにより、スタック内のネットワーク問題の診断を視覚化がどのように簡素化するか 즉시確認できます。

関連プロジェクト