YAML を記述せずに Kubernetes アプリケーションを管理するにはどうすればよいでしょうか?

YAML を記述せずに Kubernetes アプリケーションを管理するにはどうすればよいでしょうか?

Kubernetes は、その境界内にあるすべてをリソースとして抽象化します。主要部分は、Deployment と StatefulSet によって表されるワークロード コントローラーです。他の種類のリソースは、これらのメイン リソースを中心に機能します。これらのリソースを組み合わせることで、IT 技術スタッフ向けのワークロード中心のモデルが実現します。 Kubernetes 内のすべてのリソースは、宣言型構成ファイルを通じて編集および記述されます。 Yaml フィールド定義は IT 技術者に最大限の自由を与えますが、同時にその能力に極めて高い要求を課します。

アプリケーションモデルでKubernetes管理を簡素化

チームがネイティブ Kubernetes をしばらく使用している場合、すべての IT 技術者が複雑な Kubernetes 宣言型構成ファイル (YAML) の作成に長けているわけではないことに気付くでしょう。特に、ビジネス開発を主な責任とする開発者にとって、YAML を学習して記述することは負担を増大させ、YAML の使用を躊躇させる原因にもなります。

オープンソース プロジェクト Rainbond は、アプリケーション中心の設計パターンを使用するクラウドネイティブ アプリケーション管理プラットフォームです。この設計パターンに基づいて、ワークロードよりも高いレベルのアプリケーション モデルが抽象化されます。ユーザーエクスペリエンスの観点からは、YAML を学習して記述する必要がなく、ビジネス アプリケーションの完全なライフサイクル管理を実現できます。アプリケーションは、個別に管理できる複数のサービス コンポーネントで構成される完全なビジネス システムに対応します。ビジネス コンポーネントをデプロイするときに、ソース コードとコンテナー イメージから「ドラッグ アンド ドロップ」することで、サービス呼び出し関係を編集できます。各サービス コンポーネントは、グラフィカル インターフェイスに基づいて、いくつかの共通の操作および保守機能を定義して使用できます。これを基に、ユーザーはアプリケーション モデルのコア概念を使用して、ビジネス システム全体をアプリケーション テンプレートの形式で公開するなど、より高度な操作を実行することもできます。また、テンプレートに基づいてビジネス システムをワンクリックでインストール/アップグレードすることもできます。ソフトウェア配信の分野では、この機能は非常に役立ちます。最終的な配信環境がオンラインかオフラインかに関係なく、アプリケーション テンプレートに基づいて迅速な配信やパーソナライズされた配信を実行できます。

Rainbond が使用するアプリケーション モデルにより、開発者はアプリケーションとビジネス自体に集中できるため、人々に受け入れられやすくなります。トリミング後も保持される操作およびメンテナンス機能は、グラフィカル インターフェイスを通じて表示および操作されるため、使用の難しさが大幅に軽減されます。アプリケーション テンプレートを使用すると、ほとんどの開発者は複雑な宣言型構成ファイルを編集することなく、Kubernetes をスムーズに使用できます。

Kubernetes YAMLをアプリケーションモデルに変換する

変換プロセス全体は、次の 3 つのステップに要約できます。

  1. 開発者が最もよく使用するワークロードについては、ウィザードのような方法でソース コードとコンテナー イメージから自動的に生成したり、既存の YAML にインポートしてアプリケーションを実行したりできます。インポート プロセスでは、Deployment、StatefulSet、Job、CronJob タイプなど、変換可能なすべてのワークロード タイプ リソースが自動的に識別されます。これらのリソースはアプリケーション モデルに変換され、サービス コンポーネントとして実行されます。
  2. 生成されたサービス コンポーネントをインポートした後、環境変数、イメージ アドレスなどの基本的なワークロード プロパティをインターフェイスを通じて表示および編集できます。変換プロセス中に、識別された高度なワークロード プロパティがサービス コンポーネントに追加され、キー/値または YAML の形式で表示および管理できます。
  3. Secret、ServiceAccount、Role などの非ワークロード リソース タイプは分類および識別され、アプリケーション インターフェイスの k8s リソース ページに読み込まれ、オペレーターがインタラクティブなエクスペリエンスで編集できるようになります。

管理および変換できる高度なワークロード属性には次のものがあります。

物件名

効果

ノードセレクタ

ノード セレクター: 特定のタイプのノード スケジューリングを指定するときに使用されます。

ラベル

ラベル: セレクターが使用するサービス コンポーネントのラベルをカスタマイズするために使用されます。

ボリューム

ストレージ ボリューム: Rainbond によって管理されないボリューム タイプのマウントを定義するために使用されます。

ボリュームマウント

ボリュームのマウント: ボリュームをコンテナーにマウントするためにボリュームと共に使用します。

親和性

アフィニティ: ノード アフィニティやポッド アフィニティを含む、より高度なスケジューリング方法。

許容範囲

許容範囲: ノード テイントと組み合わせて使用​​すると、指定された許容範囲を持つポッドのみが指定されたノードにスケジュールされます。

サービスアカウント名

サービス アカウント名: 対応するポッドに特定の権限が付与されるように、サービス コンポーネントの既存の SA を指定します。

特権

特権モード: その名にふさわしい構成です。必要でない限り有効にしないでください。

環境

環境変数: Rainbond によって管理されない環境変数を定義し、参照操作をサポートするために使用されます。

拡張された RAM モデルは、その後のビジネス システム全体のワンクリック インストール/アップグレード/配信用のアプリケーション テンプレートとして公開できることは注目に値します。

既存のKubernetesアプリケーションのテストとプラクティスをインポートする

以下のテストは、Rainbond v5.8 に基づいています。既存のアプリケーションのKubernetesへのインポートをテストするために、wp名前空間にデプロイされているWordpressのWebサイト構築システムを使用してインポートテストを実行する予定です。このシステムは次のリソースで構成されています。

 [ root @localhost ~ ] # kubectl get secretservicedeploymentstatefulsetpod - n wp
名前タイプデータ年齢
シークレット/ デフォルト- トークン- nq5rs kubernetes .io / サービス- アカウント- トークン3 27 m
シークレット/ mysql - シークレット不透明2 27
名前タイプクラスタ- IP 外部- IP ポート( S ) 年齢
サービス/ wordpress NodePort 10.43 .157 .40 < なし> 8080 : 30001 / TCP 5 分19秒
サービス/ wp - mysql ClusterIP 10.43 .132 .223 < なし> 3306 / TCP 27
名前準備完了最新利用可能年齢
展開アプリ/ wordpress 1 / 1 1 1 5 分19秒
名前年齢
statefulset.apps / wp - mysql 1/1 27 m
名前準備完了ステータス再起動年齢
pod / wordpress - 66 bc999449 - qv97v 1 / 1 実行中0 5 分19秒
pod / wp - mysql - 0 1 / 1 実行中0 27

Rainbond にアクセスし、クラスターで [インポート] を選択します。このページでは、リソースをインポートする名前空間​wp​​ ​ を選択できます。プラットフォームは、ラベルに従ってリソースをグループ化します。

Rainbond は、リソースで定義されたラベルに基づいてアプリケーションを分割します。たとえば、app.kubernetes.io/name:wp-mysql または app:wordpress に一致するリソースは、図の 2 つの異なるアプリケーションに分散されますが、上記のラベルを持たないリソースは、グループ化されていないアプリケーションに均一に分割されます。アプリケーション モデルの高度な適用はアプリケーション全体を対象としているため、アプリケーションの分割は非常に重要です。そのため、インポートする前に慎重に計画し、適切なラベルを追加する必要があります。

インポート プロセス中、Rainbond は拡張モデルを通じてさまざまな属性を管理します。運用・保守操作の大部分は非常に使いやすくなっており、残りの部分は Kubernetes 属性ページによって管理されます。

インポートが完了すると、WordPress と wp-mysql の両方のアプリケーションを Rainbond を使用して管理できるようになります。

  • 港湾管理

インポートする前は、WordPress は NodePort タイプのサービスを通じて外部に公開されていました。ただし、Rainbond 管理をインポートした後は、ゲートウェイを使用して独自のポート 80 を公開できます。アクセス ポリシーを有効にするには、WordPress サービス コンポーネントを 1 回再起動する必要があることに注意してください。

一部のビジネスでは、アクセス エントリが動的な仕様をサポートしていないため、ビジネス側で新しいアクセス エントリに適応するために何らかの変更を加える必要があります。 Wordpress の場合は、一般オプションでサイト アドレスを再定義する必要があります。

  • ストレージ管理

私が導入した WordPress システムでは、すべてのコンポーネントがストレージにホストパス モードを使用します。この構成はシンプルですが、Pod がドリフトする可能性がある大規模な Kubernetes 環境には適していません。 Rainbond を導入すると、複数の Pod 間でのデータ共有やホスト間での Pod の移行をサポートする、使いやすい共有ストレージが提供されます。元のホストパス ストレージを再定義できます。再定義されたストレージ パスは空になるため、新しいパスと古いパスを見つけてデータ移行を実行することを忘れないでください。

実用的な意義

このモデルを適用することで、IT 技術者は、基盤となる複雑なツールの使用ではなく、ビジネスそのものに重点を置くことができます。最終的な効果は、運用コストと理解の難しさが簡素化され、Kubernetes の実装が容易になることです。

<<:  ゼロトラスト原則を使用して Kubernetes 環境へのアクセスを保護する

>>:  クラウドコンピューティングの構成エラーによって生じる脆弱性に対処する方法

推薦する

過去7日間に見逃したかもしれないニュースはこちら

休暇は終わりました。クラスメイトの皆さん、現実の世界に戻ってきてください!過去7日間の休暇中、中国は...

Google の利用可能な Hosts ファイル

Google は引き続きブロックされており、多くの人から Google にアクセスする方法を尋ねるメ...

#苦情防止 VPS# hostsolutions-著作権なし/ルーマニア/年間 11 ドル/メモリ 1G/ハードディスク 30g/トラフィック 10T

Hostsolutions は、ルーマニアのデータセンターを拠点とする 2 つの新しい安価な VPS...

2020年に5Gとエッジコンピューティングはどのように発展するのでしょうか?

2020 年の新年の初めには、エッジ コンピューティングと 5G をめぐる新たな誇大宣伝の波が間違い...

Beisen が iTalentX 3.0 を発表: HR デジタル化の最後の一歩を切り開く

10月19日、中国国内の統合HR SaaSリーダーであるBeisenとInternational D...

Alibaba Cloudプライベートクラウドは、税関総署が世界で最もインテリジェントな税関を構築するのを支援します

10月12日、2017年杭州雲奇カンファレンスにおいて、アリババクラウドは、企業のデジタル変革のため...

予算が少ない場合でも、Tmall Global はどのようにしてマーケティング革新を実現できるのでしょうか?

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービス長い間、広告やマーケティ...

Nodeserv - $4.5/2g メモリ/50g ハードディスク/3T トラフィック/G ポート/フロリダ

NodeservのOVZはすごく安くて、今回はスタイルが変わったようですね?比較的一般的な価格の 4...

ウェブサイトの変更に対処するための最適化ソリューションと有利な対策

ウェブサイトの改訂は多くのウェブマスターが行うことですが、多くのウェブマスターは、ウェブサイトの改訂...

仮想化テクノロジーをいくつご存知ですか?

編集者が皆様のために様々な仮想用語をまとめました。これが皆様のお役に立てれば幸いです! [[2488...

Lashou.comの地域マネージャー4人が辞任したと報道:グループ購入が困難に

デイリー・エコノミック・ニュースが昨日独占報道した、WoWotuanがサプライヤーから支払い不履行に...

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

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

Kubernetes を採用しますか?避けるべき落とし穴をいくつか紹介します

ツールの使い方を知ることは、それをうまく使うための鍵であり、この概念は週末の趣味のプロジェクトだけに...

タオバオ、低価格ショッピングガイドサイトを制限するために検索ソートルールを変更

タオバオは、サードパーティのトラフィックプラットフォームに関する新しいポリシーを発表しました。VIP...

ウェブサイトの最適化: 皆さんは一方通行のインバウンドリンクを盲目的に追求していませんか?

SEO の専門家はよくこう言います。「一方通行のインバウンド リンクが最良で、外部リンクが多すぎると...