Kubernetes をより良くする 11 個のツール

Kubernetes をより良くする 11 個のツール

[51CTO.com クイック翻訳] 強力で大規模なものであっても、すべてのニーズを満たすことができるコンピューティング プラットフォームはほとんどありません。 Kubernetes はそのままでも便利ですが、それだけでは十分ではありません。データベース サポートなど、デフォルトの Kubernetes 機能セットでは不十分なユースケースや要件、あるいは継続的デリバリーなど完全に無視されているユースケースや要件が見つかる可能性は常にあります。

そのとき、Kubernetes コミュニティ全体が立ち上がり、コンテナ オーケストレーション フレームワーク向けの多数のアドオン、拡張機能、サードパーティ製品を提供するようになりました。ここでは、私たちが見つけた主要な Kubernetes コンパニオン ツール 11 個を紹介します。 Kubernetes クラスターを補完できるものもあれば、Kubernetes では満たせない特定のニーズを満たすものもあります。

[[285725]]

Gravity: 簡単に移植できる Kubernetes クラスター

アプリケーションを Kubernetes にデプロイする場合、多くのアプリケーションにはプロセスをブートストラップして自動化するための Helm チャートがあります。しかし、Kubernetes クラスターを取得してどこかにデプロイしたい場合はどうすればよいでしょうか?

Gravity は、「アプリケーション バンドル」と呼ばれる Kubernetes クラスター、コンテナ レジストリ、実行中のアプリケーションのスナップショットを作成できます。バンドルは、Kubernetes が実行される場所であればどこにでも複製できる .tar ファイルです。

Gravity は、ターゲット インフラストラクチャがソース インフラストラクチャと同じ動作要件をサポートできること、およびターゲット上の Kubernetes ランタイム環境が正常であることも保証します。 Gravity のエンタープライズ エディションには、ロールベースのアクセス制御や、複数のクラスター展開間でセキュリティ構成を同期する機能などのセキュリティ機能が追加されています。

Kaniko: Kubernetes クラスターでコンテナを構築する

ほとんどのコンテナ イメージは、コンテナ スタック外部のシステム上に構築されます。ただし、実行中のコンテナ内や Kubernetes クラスター上のどこかなど、コンテナ スタック内でビルド プロセスを実行したい場合もあります。

Kaniko はコンテナ環境でコンテナビルドを実行しますが、その作業を実行するために Docker などのコンテナデーモンに依存しません。 Kaniko はベースイメージを取得し、ファイルシステムを抽出し、抽出したファイルシステム上でユーザー空間ですべてのビルド コマンドを実行し、各コマンドの後にファイルシステムのスナップショットを取得します。

Kaniko は現在 Windows コンテナーを構築できないことに注意してください。

Kedge: 簡潔な Kubernetes デプロイメント定義

Kubernetes がしばしば批判されることの 1 つは、そのマニフェスト、つまりアプリケーション定義が重複し、複雑で、長すぎることです。これらは作成と保守が面倒なので、その手間を軽減するためにサードパーティのツールに頼るのも不思議ではありません。

Kedge はよりシンプルで簡潔な構文を提供します。 Kedge に Kubernetes 定義ファイルのシンプルなバージョンを提供すると、Kedge はそのシンプルな定義を完全な Kubernetes 定義に拡張できます。以下で説明する Koki Short とは異なり、Kedge は宣言ファイルにモジュール構文を使用しません。アプリケーション定義を一般的なショートカットに簡素化するだけです。

Kedge の最新バージョンは 2018 年 4 月にリリースされたことに注意してください。

Koki Short: 簡単に管理できる Kubernetes チェックリスト

上記の Kedge と同様に、Koki Short は、Kubernetes でのアプリケーション定義 (マニフェスト) の動作方法を改善することを目的としたプロジェクトです。 Kedge 定義と同様に、Short 定義では、完全な構文に変換したり、その逆を行ったりできる短い構文を使用して Kubernetes コンテナを記述します。 Kedge 定義とは異なり、Short 定義もモジュール化されているため、1 つの Short 宣言の詳細情報を他の宣言で再利用でき、共通要素を持つ多くのポッドを簡潔に定義できます。

Kubecost: Kubernetes を実行するためのコスト メトリック

ほとんどの Kubernetes 管理ツールは、使いやすさ、監視、ポッドの動作の理解などの側面に重点を置いています。しかし、Kubernetes の実行に関連するコストをドルとセントで測定して、どのように監視するのでしょうか?

Kubecost は、複数の主要クラウド プロバイダーで実行されているクラスターからのリアルタイムの Kubernetes メトリックと実際のコスト情報を使用して、各クラスターの展開の月間コストを示すダッシュボード ビューを提供します。メモリ、CPU、GPU、ストレージのコストはすべて、Kubernetes コンポーネント (コンテナ、ポッド、サービス、デプロイメントなど) ごとに分類されます。

Kubecost は「クラスター外」のリソース (Amazon S3 バケットなど) のコストも追跡できますが、これは現在 AWS に限定されています。コスト データは Prometheus に送り返して共有することもできるため、そのデータを使用してクラスターの動作をプログラムで変更することもできます。

KubeDB: Kubernetes で本番データベースを実行する

これまで、データベースを Kubernetes で適切に実行することは困難であり、ネイティブの Kubernetes 機能セットでは、多くのデータベース固有の問題に直接対処できません。

KubeDB を使用すると、管理者はデータベースを管理する Kubernetes オペレーターを作成できます。バックアップの実行、クローン作成、監視、スナップショット、データベースの宣言的作成はすべてその機能の一部です。クラスタリングもサポートされていますが、特定のデータベースにのみ対応しています。たとえば、PostgreSQL では機能しますが、MySQL ではまだ機能しません。

Kube-monkey: Kubernetes 用の Chaos Monkey

システムのストレステストを効果的に行う方法は、ランダムにシステムを混乱させることです。これは、Netflix の Chaos Monkey の理論に基づいています。 Chaos Monkey は、実稼働環境で実行されている仮想マシンとコンテナをランダムに終了し、開発者がより回復力のあるシステムを構築することを「奨励」するカオス エンジニアリング ツールです。 Kube-monkey は、Kubernetes クラスターのストレス テストに同じ基本的な考え方を実装します。これは、指定したクラスター内のポッドをランダムに終了することによって機能し、特定の時間枠内で実行されるように微調整できます。

AWS 向け Kubernetes イングレス コントローラー

Kubernetes は、Ingress と呼ばれるサービスを通じて、クラスターに外部負荷分散とネットワーク サービスを提供します。 AWS は負荷分散機能を提供しますが、これらのサービスを Kubernetes ツールに自動的に結合することはありません。 AWS 用の Kubernetes Ingress Controller がこのギャップを埋めます。

AWS 用の Kubernetes Ingress Controller は、クラスター内の各 Ingress オブジェクトの AWS リソースを自動的に管理し、新しい Ingress リソースのロードバランサーを作成し、削除された Ingress リソースのロードバランサーを削除し、AWS CloudFormation を活用してクラスターの一貫した状態を確保します。また、SSL 証明書や EC2 自動スケーリング グループなど、クラスター内で使用される他の要素も自動的に管理します。

Skaffold: Kubernetes の反復開発

Skaffold は、Kubernetes アプリケーションの継続的なデプロイを実行できる Google 独自の Kubernetes ツールの 1 つです。ソース コードを変更すると、Skaffold は自動的に変更を検出し、ビルドとデプロイメントのプロセスをトリガーし、エラーが発生した場合は警告します。 Skaffold は完全にクライアント側で実行されます。既存の CI/CD パイプラインで使用でき、いくつかの外部ビルド ツール (主に Google 独自の Bazel) と統合できます。

Teresa: Kubernetes 上のシンプルな PaaS

Teresa は、Kubernetes 上でシンプルな PaaS として実行されるアプリケーション デプロイメント システムです。チームに編成されたユーザーは、自分に属するアプリケーションを展開および管理できます。これにより、特定のアプリケーションの担当者は、Kubernetes を直接操作することなく、そのアプリケーションで作業しやすくなります。

Tilt: Kubernetes クラスターにコンテナの更新を送信する

Windmill Engineering によって開発された Tilt は、Dockerfiles への変更をリアルタイムで監視し、それらの変更を Kubernetes クラスター内の対応するコンテナーに段階的にデプロイします。実際、開発者は Dockerfile を更新するだけでライブ クラスターをライブ更新できます。 Tilt はクラスター内でビルドを実行し、プッシュされる変更はソース コードのみです。

原題: Kubernetes をより良くする 11 のツール、著者: Serdar Yegulalp

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください。

<<:  APEC中小企業デジタル経済発展会議と2019年中国(四川)中小企業クラウドサービス会議が盛大に開催

>>:  テンセントクラウドTStackが「次世代クラウドコンピューティング技術革新賞」を受賞、クラウドエコ情報の革新的発展を促進

推薦する

初心者が身につけるべきSEO習慣

SEO 初心者としては、良い SEO 習慣を身につける必要があります。良い習慣を身につけることで、学...

お客様、SEO アウトソーシングの準備はできていますか?

顧客が初めて王世凡と協力関係を築くと、王世凡は顧客に何度も「本当にウェブサイトを最適化しますか?」「...

MeizuのHuang ZhangはどのようにしてXiaomiのLei Junに勝利したのか?これは次の5つの側面を通じて達成できる。

[IT Times Weekly 編集者注] 中国では、「中国のスティーブ・ジョブズ」と呼ばれている...

ヘルスケアにおけるエッジコンピューティングと5Gの役割

テクノロジーは、診断、患者のケア、治療の実施方法を変えました。エッジ コンピューティングと 5G は...

コミュニティ運営では、独自の価値提案をどのように管理していますか?

まず、私が記事を書くときは、いつも何千語も書いて、話題から大きく逸れたり、途中で行ったり来たりしてい...

ランキングのある内部ページでは、新しいページを促進してユーザーエクスペリエンスを向上させるために内部リンクを強化する必要があります。

内部リンクは非常に強力であり、キーワードのランキングを大幅に向上させることができます。また、ユーザー...

推奨されるクラシック OpenVZ VPS: serverhub/infinity

Serverhubの歴史は2002年に遡ります。私は以前Infinitieというブランドを使ったこと...

NFS-Ganesha ソースコード分析

1. NFSv4の概要NFS プロトコル (NFSv2) は、もともと 1984 年に Sun Mi...

Python Baiduランキング一括クエリツール【7月17日改良版】

以前にも同じ機能を持つツールを作成したことがありますが、その機能は極めて単純で、推測の結果のように見...

ウェブマスターがウェブサイトの責任者である場合に、ウェブサイトをどのようにマーケティングするかについての簡単な説明

インターネットが変化し続けるにつれて、ウェブサイトで SEO を適切に行うことがますます困難になって...

タイトル作成方法:レコメンドチャンネルのタイトルの決め方は?

タイトルを選ぶスキルに関しては、タイトルには疑問や数字がなければならないなど、これまでにもこの種の記...

モバイル検索についてどう思いますか?

モバイル インターネット ショッピングは今後のトレンドです。モバイル検索についてどう思いますか? 独...

ウェブサイトのSEO最適化に必要なのは7つのことだけです

インターネットの継続的な発展に伴い、今日の伝統的な企業は、インターネットプラットフォームを利用して自...

Baidu ウェブマスター プラットフォーム: URL 送信チャネル ツールのアップグレード通知 Baidu ウェブ検索

A5ウェブマスターネットワークニュース:9月6日、Baiduウェブマスタープラットフォームは、URL...

中国モバイルインターネット秋季レポート

2018年9月現在、中国のモバイルインターネットの月間アクティブユーザー数は11億6,700万人に達...