クベネティックV 3の発表
4657 ワード
この新しいリリースでは、お客様の生産性をあなたのKubernetesクラスタでの作業を支援するいくつかのクールな新機能をローリングしている.
Kerbernetic Resourcesのテーブルは、予め一定数のコラムでありました.現在、テーブルの列は、サーバー側からそれらを動的にし、
これは、テーブルサーバー側(PODS、展開、コンフィグマップなど)だけでなく、独自のテーブル列を定義できるカスタムリソース(CRDS)をサポートするすべての標準リソースに対しても機能します.
いくつかのリソースは、テーブル形式をサポートしていないか、古いバージョン(例えばロール、rolebindingsなど)では一般的な列(名前、年齢)へのフォールバックが表示されます.
古いKubernetesバージョン(v 1.15.0以前)は、V 1 beta 1に戻るという点でテーブル(V 1)形式をサポートしていませんでしたが、リアルタイムでストリームの動的テーブルへの能力を得るためにはV 1を必要とします.15.0以降.
ストリーミングについて話す、我々は再生産の生産性の主要な焦点で動作する方法を設計しました.この再設計は、最終的には、V 3のリリースで完了すると、結果は素晴らしいです最後のリリース中に行われた!説明しましょう.
以前のバージョンのKuberneticでは、特定の名前空間に接続するとき、それはクライアントのローカルにキャッシュされたリソースの特定のリストの更新プログラムを見て、WebSocketを開き、Kubernetesクライアントの風景に共通のパターン.ユーザーが名前空間を切り替えるとき、接続プールは閉じられます、そして、もう一つは開きます.このアプローチの問題は、まだ必要とされていないリソースを監視しているため、また、クライアントが名前空間あたりのKubernetes APIストア全体をミラーリングしている間、またはグローバルに、必要に応じてリソースを監視するためのより高速なアプローチがあります.
Kuberneticは2つの構成要素で構成されています.フロントエンドは、反応ベースであり、バックエンドで書かれたバックエンドに代わって動作します.バックエンドには、上記のすべてのエッジケースをサポートし、フェッチやウォッチを実行するために、前述のすべてのエッジケースをサポートしています.また、エラーが自動的に更新されるように、キャッシュの無効化を行うカスタムリソースの発見をプリフェッチしますが、これはKubectl自体をUX(ディスカバリーキャッシュメカニズムを使用する)としてさらに高速化します.リストの権限を持つユーザーが要求されたリソースに対してウォッチ特権を必要とせずに動作するように、フェッチとウォッチが分離されます.フロントエンド側では、トランジットの新しいリクエスト中にリソースのローカルキャッシングに対するResponseクエリを使用します.Responseの上の各々の構成要素は、反応質問自体によってうまく行われる要求の重複を伴うリソースを要求する能力を持ちます.ストリーミングのために、我々はWebSocketsを使用しました、しかし、V 3で、我々はサーバに送られたイベント(SSE)に変わりました.WebSocketsは双方向の非構造化データストリームに対してクールであり、端末エミュレーションのためにそれらを使用していますが、SSEは、データフロー上のJSONオブジェクトを分離する必要性を避けて一方向のイベントストリーミングフローを提供するので、リソースの監視を行うのに適しています.
それで、これはどれくらい速いですか?レッツミーデモ
ここでの比較は
各列は別々によく実行リソースの微妙な視覚的なヒントを提供するフォーマットできます.以下のヘルムリリースを見ることができますし、そのステータスは、リソースが展開されていることを視覚的に示唆されています.
多くの人々は、YAMLとの愛憎悪関係を持ちます.個人的には私はYAML形式が好きです.しかし、私がより構造化されたフォーマットの代わりにより良い代案があるとき、私が道を案内することによってより良い開発者経験を得るのを助けて、災難を避けて、私は彼らを利用します.
以下は、Kubernetes YAMLフォーマットで深いダイビングなしであなたのKubernetes YAMLを構築する方法の例です.ConfigMap、秘密、および
ロードマップ上にある多くの機能があります.次に重要な点は次のとおりです.
ダークモード:私たちは最終的に最も有能な機能のリクエストを取ることができるUXのためのTailWindCSSの使用に移行すると、ダークモードのテーマが来ている!
メニューのリソースカウンター:以前に我々は我々がストリーミングの再設計を行うように我々はそれを削除しなければならなかったメニュー上のリソースのカウンタを持っていた、今我々は、次のリリースで再導入する方法を明確にパスしている.
CPU/メモリ使用量の消費:これは、新しいテーブルのデザインで一時的に削除しなければならなかった別の機能ですが、我々は再利用されるリソースの消費量(ポッド、展開、ノードなど)を視覚的なキューの豊富な書式設定と一緒に導入されます.
Tektonの統合:設計と実行Tektonタスクやパイプラインをすぐに来ているサポート.
ArgoCDの統合:ArgoCDアプリケーションを設計し、管理するためのサポートがすぐに来ている. あなたは何を無料で30日間の試用版をダウンロードすることができます参照してくださいthe website そして、あなたのKubernetes foo力を過給してください.
ダイナミックテーブル
Kerbernetic Resourcesのテーブルは、予め一定数のコラムでありました.現在、テーブルの列は、サーバー側からそれらを動的にし、
kubectl
表.デフォルトでは、Kubectlで示されたのと同じ列が画面に表示されますが、ディスプレイドロップダウンを開くことによって余分な情報を有効にすることもできますkubectl -o wide
.これは、テーブルサーバー側(PODS、展開、コンフィグマップなど)だけでなく、独自のテーブル列を定義できるカスタムリソース(CRDS)をサポートするすべての標準リソースに対しても機能します.
いくつかのリソースは、テーブル形式をサポートしていないか、古いバージョン(例えばロール、rolebindingsなど)では一般的な列(名前、年齢)へのフォールバックが表示されます.
古いKubernetesバージョン(v 1.15.0以前)は、V 1 beta 1に戻るという点でテーブル(V 1)形式をサポートしていませんでしたが、リアルタイムでストリームの動的テーブルへの能力を得るためにはV 1を必要とします.15.0以降.
リアルタイム更新
ストリーミングについて話す、我々は再生産の生産性の主要な焦点で動作する方法を設計しました.この再設計は、最終的には、V 3のリリースで完了すると、結果は素晴らしいです最後のリリース中に行われた!説明しましょう.
以前のバージョンのKuberneticでは、特定の名前空間に接続するとき、それはクライアントのローカルにキャッシュされたリソースの特定のリストの更新プログラムを見て、WebSocketを開き、Kubernetesクライアントの風景に共通のパターン.ユーザーが名前空間を切り替えるとき、接続プールは閉じられます、そして、もう一つは開きます.このアプローチの問題は、まだ必要とされていないリソースを監視しているため、また、クライアントが名前空間あたりのKubernetes APIストア全体をミラーリングしている間、またはグローバルに、必要に応じてリソースを監視するためのより高速なアプローチがあります.
Kuberneticは2つの構成要素で構成されています.フロントエンドは、反応ベースであり、バックエンドで書かれたバックエンドに代わって動作します.バックエンドには、上記のすべてのエッジケースをサポートし、フェッチやウォッチを実行するために、前述のすべてのエッジケースをサポートしています.また、エラーが自動的に更新されるように、キャッシュの無効化を行うカスタムリソースの発見をプリフェッチしますが、これはKubectl自体をUX(ディスカバリーキャッシュメカニズムを使用する)としてさらに高速化します.リストの権限を持つユーザーが要求されたリソースに対してウォッチ特権を必要とせずに動作するように、フェッチとウォッチが分離されます.フロントエンド側では、トランジットの新しいリクエスト中にリソースのローカルキャッシングに対するResponseクエリを使用します.Responseの上の各々の構成要素は、反応質問自体によってうまく行われる要求の重複を伴うリソースを要求する能力を持ちます.ストリーミングのために、我々はWebSocketsを使用しました、しかし、V 3で、我々はサーバに送られたイベント(SSE)に変わりました.WebSocketsは双方向の非構造化データストリームに対してクールであり、端末エミュレーションのためにそれらを使用していますが、SSEは、データフロー上のJSONオブジェクトを分離する必要性を避けて一方向のイベントストリーミングフローを提供するので、リソースの監視を行うのに適しています.
それで、これはどれくらい速いですか?レッツミーデモ
ここでの比較は
kubectl
応答時間395ms
, ディスカバリーキャッシュをプリフェッチします.❯ time kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
example-1 5/5 5 5 12m
example-2 10/10 10 10 12m
example-3 10/10 10 10 12m
example-4 10/10 10 10 12m
example-5 10/10 10 10 12m
kubectl get deployments 0.10s user 0.04s system 35% cpu 0.395 total
そして、ここで同じリソースを再フェッチするWebリクエストです66ms
:リッチカラム書式
各列は別々によく実行リソースの微妙な視覚的なヒントを提供するフォーマットできます.以下のヘルムリリースを見ることができますし、そのステータスは、リソースが展開されていることを視覚的に示唆されています.
より良いDX - YAMLへの代替
多くの人々は、YAMLとの愛憎悪関係を持ちます.個人的には私はYAML形式が好きです.しかし、私がより構造化されたフォーマットの代わりにより良い代案があるとき、私が道を案内することによってより良い開発者経験を得るのを助けて、災難を避けて、私は彼らを利用します.
以下は、Kubernetes YAMLフォーマットで深いダイビングなしであなたのKubernetes YAMLを構築する方法の例です.ConfigMap、秘密、および
nginx:alpine
下にマウントするイメージ/usr/share/nginx/html/
ディレクトリ、3つのインスタンスまで展開をスケーリングします.3つのインスタンスのログを参照してください.道路地図はどこですか
ロードマップ上にある多くの機能があります.次に重要な点は次のとおりです.
ダークモード:私たちは最終的に最も有能な機能のリクエストを取ることができるUXのためのTailWindCSSの使用に移行すると、ダークモードのテーマが来ている!
メニューのリソースカウンター:以前に我々は我々がストリーミングの再設計を行うように我々はそれを削除しなければならなかったメニュー上のリソースのカウンタを持っていた、今我々は、次のリリースで再導入する方法を明確にパスしている.
CPU/メモリ使用量の消費:これは、新しいテーブルのデザインで一時的に削除しなければならなかった別の機能ですが、我々は再利用されるリソースの消費量(ポッド、展開、ノードなど)を視覚的なキューの豊富な書式設定と一緒に導入されます.
Tektonの統合:設計と実行Tektonタスクやパイプラインをすぐに来ているサポート.
ArgoCDの統合:ArgoCDアプリケーションを設計し、管理するためのサポートがすぐに来ている.
Reference
この問題について(クベネティックV 3の発表), 我々は、より多くの情報をここで見つけました https://dev.to/dkapanidis/announcing-kubernetic-v3-2cb4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol