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

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

最も匷力でスケヌラブルなサヌバヌ プラットフォヌムであっおも、すべおのサヌバヌ プラットフォヌムがすべおのニヌズをそのたた満たせるわけではありたせん。 Kubernetes はそれ自䜓でうたく機胜したすが、完成させるための適切な郚分が欠けおいる可胜性がありたす。 デヌタベヌスのサポヌトや CD 操䜜など、ニヌズを無芖したり、デフォルトのむンストヌルでは Kubernetes が機胜しない特殊なケヌスが垞に芋぀かりたす。

ここには、このコンテナ オヌケストレヌタヌのアドオン、拡匵機胜、その他の優れた機胜が衚瀺され、最も広範なコミュニティによっおサポヌトされおいたす。 この蚘事では、私たちが芋぀けた最高のものを 11 個玹介したす。 私たち自身も サりスブリッゞ それらは非垞に興味深いものであり、実際にそれらをネゞずナットに分解しお、内郚に䜕が入っおいるのかを確認するこずを蚈画しおいたす。 それらの䞭には、あらゆる Kubernetes クラスタヌを完党に補完するものもあれば、䞀般的な Kubernetes ディストリビュヌションでは実装されおいない特定のタスクの解決に圹立぀ものもありたす。

ゲヌトキヌパヌ: ポリシヌ管理

プロゞェクト ポリシヌ゚ヌゞェントを開く (OPA) は、むングレスからサヌビス メッシュたで、Kubernetes のクラりド アプリケヌション スタック䞊にポリシヌを䜜成する機胜を提䟛したす。 門番 クラスタヌにポリシヌを自動的に適甚する Kubernetes ネむティブ機胜を提䟛し、ポリシヌに違反するむベントやリ゜ヌスの怜査も提䟛したす。 これらはすべお、リ゜ヌスが倉曎されたずきに起動される、比范的新しい Kubernetes メカニズムである Webhook アドミッション マネヌゞャヌによっお凊理されたす。 Gatekeeper を䜿甚するず、OPA ポリシヌが Kubernetes クラスタヌの状態の別の郚分ずなり、継続的な監芖が必芁なくなりたす。

Gravity: ポヌタブル Kubernetes クラスタヌ

アプリケヌションを Kubernetes にロヌルアりトする堎合、倚くのアプリケヌションには、このプロセスをガむドおよび自動化する Helm チャヌトがありたす。 しかし、Kubernetes クラスタヌを「そのたた」にしお、別の堎所にロヌルアりトしたい堎合はどうすればよいでしょうか?

重力 Kubernetes クラスタヌ、コンテナヌ むメヌゞのレゞストリ、および「アプリケヌション パッケヌゞ」ず呌ばれる実行䞭のアプリケヌションのスナップショットを取埗したす。 このようなパッケヌゞ (通垞のファむル) .tar、Kubernetes が実行できる堎所であればどこでもクラスタヌをレプリケヌトできたす。

Gravity は、タヌゲット むンフラストラクチャが゜ヌス むンフラストラクチャず同じように動䜜するこず、およびタヌゲット䞊の Kubernetes 環境が利甚可胜であるこずもチェックしたす。 Gravity の有料版には、RBAC や、異なるクラスタヌ展開間でセキュリティ蚭定を同期する機胜などのセキュリティ機胜も远加されおいたす。

最新のメゞャヌ リリヌスである Gravity 7 では、むメヌゞからたったく新しいクラスタヌをスピンアップするのではなく、Gravity むメヌゞを既存の Kubernetes クラスタヌにプッシュできたす。 Gravity 7 は、Gravity むメヌゞを䜿甚せずにむンストヌルされたクラスタヌでも動䜜できたす。 Gravity は SELinux もサポヌトしおおり、Teleport SSH ゲヌトりェむずネむティブに連携したす。

Kaniko: Kubernetes クラスタヌでのコンテナヌの構築

ほずんどのコンテナヌ むメヌゞは、コンテナヌ スタックの倖郚のシステム䞊に構築されたす。 ただし、実行䞭のコンテナヌや Kubernetes クラスタヌ内のどこかなど、コンテナヌのスタック内にむメヌゞを構築する必芁がある堎合がありたす。

カニコ Docker などのコンテナ化サヌビスに䟝存せずに、コンテナ環境内にコンテナを構築したす。 代わりに、Kaniko はベヌス むメヌゞからファむル システムを抜出し、抜出されたファむル システム䞊ですべおのナヌザヌ空間ビルド コマンドを実行し、各コマンドの埌にファむル システムのスナップショットを取埗したす。

泚Kaniko は珟圚 (2020 幎 XNUMX 月) 玄。 翻蚳者) Windows コンテナを構築できたせん。

Kubecost: Kubernetes の起動コストのオプション

ほずんどの Kubernetes 管理ツヌルは、䜿いやすさ、監芖、ポッド内の動䜜の理解などに重点を眮いおいたす。 しかし、Kubernetes の立ち䞊げに関連するコスト (ルヌブルやコペック単䜍) を監芖する堎合はどうでしょうか?

キュヌブコスト Kubernetes パラメヌタヌをリアルタむムで凊理し、䞻芁なクラりド プロバむダヌで実行されおいるクラスタヌからの最新のコスト情報がクラスタヌごずの月次コストのパネルに衚瀺されたす。 RAM、CPU 時間、GPU、ディスク サブシステムの䟡栌は、Kubernetes コンポヌネント (コンテナヌ、ポッド、サヌビスなど) ごずに分類されたす。

Kubecost は、Amazon S3 バケットなどの非クラスタヌ リ゜ヌスのコストも远跡したすが、これは AWS によっお制限されおいたす。 コスト デヌタは Prometheus に送信できるため、それを䜿甚しおクラスタヌの動䜜をプログラムで倉曎できたす。

十分な 15 日分のログ デヌタがあれば、Kubecost を無料で䜿甚できたす。 远加機胜の料金は、199 ノヌドの監芖で月額 50 ドルからです。

KubeDB: Kubernetes でのバトル デヌタベヌスの実行

Kubernetes でデヌタベヌスを芋事に実行するこずも困難です。 MySQL、PostgreSQL、MongoDB、Redis 甚の Kubernetes オペレヌタヌがありたすが、これらにはすべお欠点がありたす。 たた、䞀般的な Kubernetes 機胜セットは、定矩されたデヌタベヌスの問題のほずんどに盎接察凊したせん。

KubeDB デヌタベヌス管理甚の Kubernetes ステヌトメントの䜜成に圹立ちたす。 バックアップの実行、クロヌン䜜成、監芖、スナップショット、および宣蚀的なデヌタベヌス䜜成がその構成芁玠です。 機胜のサポヌトはデヌタベヌスに䟝存するこずに泚意しおください。 たずえば、クラスタヌの䜜成は PostgreSQL では機胜したすが、MySQL では機胜したせん (すでに 正しく指摘されおいるように、ありたす dnbstd, 玄。 翻蚳者).

Kube-monkey: Kubernetes 甹 Chaos Monkey

ストレス テストで最も゚ラヌのない方法は、ランダムな故障であるず考えられおいたす。 この理論は、Netflix の Chaos Monkey の栞心です。Chaos Monkey は、仮想マシンず実皌働環境のコンテナヌをランダムにシャットダりンしお、開発者に、より回埩力のあるシステムを構築するよう「奚励」するカオス ゚ンゞニアリング ツヌルです。 クベモンキヌ - Kubernetes クラスタヌに察するストレス テストの同じ基本理論の実装。 これは、指定したクラスタヌ内のモゞュヌルをランダムに匷制終了するこずで機胜し、特定の時間間隔で実行するように蚭定するこずもできたす。

AWS 甹 Kubernetes Ingress コントロヌラヌ

Kubernetes は、ず呌ばれるサヌビスを通じお倖郚ロヌド バランサヌずクラスタヌ ネットワヌキング サヌビスを提䟛したす。 進入 AWS は負荷分散機胜を提䟛したすが、それらの機胜を同じ Kubernetes 機胜に自動的にバンドルするわけではありたせん。 AWS 甹 Kubernetes Ingress コントロヌラヌ このギャップを埋めたす。

クラスタヌ内の各むングレスの AWS リ゜ヌスを自動的に管理し、新しいむングレス リ゜ヌスのロヌド バランサヌを䜜成し、リ゜ヌスが削陀された堎合はロヌド バランサヌを削陀したす。 CloudFormation を䜿甚しお、クラスタヌの状態が䞀貫した状態に保たれるようにしたす。 たた、CloudWatch アラヌム蚭定もサポヌトし、SSL 蚌明曞や EC2 Auto Scaling グルヌプなど、クラスタヌで䜿甚される他の芁玠を自動的に管理したす。

Kubespray: Kubernetes の自動むンストヌル

キュヌブスプレヌ ハヌドりェア サヌバヌから䞻芁なパブリック クラりドぞのむンストヌルに至るたで、本番環境に察応した Kubernetes クラスタヌのむンストヌルを自動化したす。 Ansible (Vagrant はオプション) を䜿甚しお展開を開始し、ハヌドりェア サヌバヌにむンストヌルされおいる䞀般的な Linux ディストリビュヌション䞊で遞択したネットワヌク アドオン (Flannel、Calico など) を䜿甚しお高可甚性クラスタヌを最初から䜜成したす。

Skaffold: Kubernetes の反埩開発

足堎 - Kubernetes でアプリケヌション CD を敎理するために䜿甚される Google ツヌルの XNUMX ぀。 ゜ヌス コヌドに倉曎を加えるずすぐに、skaffold はこれを自動的に怜出し、ビルドずデプロむを開始し、゚ラヌがある堎合は譊告したす。 Skaffold は完党にクラむアント偎で実行されるため、むンストヌルや曎新には倚少の違いがあるかもしれたせん。 既存の CICD パむプラむンで䜿甚できるだけでなく、いく぀かの倖郚ビルド ツヌル (䞻に Google の Bazel) ず察話するこずもできたす。

Teresa: Kubernetes 䞊の最もシンプルな PaaS

テレサ は、Kubernetes 䞊で単玔な PaaS を実行するアプリケヌション デプロむメント システムです。 チヌム化されたナヌザヌは、独自のアプリケヌションを展開および管理できたす。 これにより、このアプリケヌションを信頌し、Kubernetes ずそのすべおの耇雑さを扱いたくない人にずっお、䜜業が少し簡単になりたす。

Tilt: コンテナヌの曎新を Kubernetes クラスタヌにストリヌミングしたす

傟けるWindmill Engineering によっお開発されたこのツヌルは、さたざたな Dockerfile ぞの倉曎を監芖し、適切なコンテナヌを Kubernetes クラスタヌに段階的にデプロむしたす。 基本的に、Dockerfile を曎新するだけで実皌働クラスタヌをリアルタむムで曎新できるようになりたす。 Tilt はクラスタヌ内でビルドされ、倉曎する必芁があるのは゜ヌス コヌドだけです。 たた、クラスタヌ状態のスナップショットを取埗し、Tilt から盎接゚ラヌ状態をキャプチャしお、デバッグ甚にチヌム メンバヌず共有するこずもできたす。

PS これらのツヌルはすべお、繰り返し䜿甚されおいたす サりスブリッゞ 私たちの奜奇心旺盛な手で調べたした。 XNUMX 月のオフラむン集䞭講座で、実際の実践をすでに (できれば!) 玹介する予定です。 Kubernetes ベヌス 8 幎 10 月 2021  XNUMX 月 XNUMX 日。および Kubernetes メガ 12月14日XNUMX日。 正盎に蚀うず、オフラむン孊習の枩かく゚ネルギヌに満ちた雰囲気も懐かしかったです。 テクノロゞヌがどれほど進歩したずしおも、人間同士の生のコミュニケヌションや、志を同じくする人々が集たる特別な雰囲気は、テクノロゞヌによっお眮き換えられるこずはありたせん。

出所 habr.com

コメントを远加したす