Kubernetes 1.23 について知っておくべきことすべて

Kubernetes 1.23 について知っておくべきことすべて

[[442113]]

[51CTO.com クイック翻訳]近日リリース予定のKubernetesのクリスマスバージョンには、成熟度、セキュリティ、スケーラビリティの面で45の機能強化が含まれます。この記事では、Kubernetes API、コンテナとインフラストラクチャ、ストレージ、ネットワーク、セキュリティに関する重要な更新に焦点を当てます。

Kubernetes API

まず、拡張可能な Kubernetes API を見てみましょう。 3 つの主要な変更、api-machinery、CLI、および autoscaling SIG がバージョン 1.23 の一部としてリリースされます。

Kubectl イベント コマンド

これまでは、kubectl get コマンドのオプションとデータ収集方法によって制限されていた可能性があります。このため、1.23 アルファ バージョンでは、新しいコマンド kubectl event が起動されます。 kubectl の get events を使用すると、クラスターの全体的なステータスをより簡単に観察し、関連する問題を解決できます。具体的には、主な機能は次のとおりです。

  • 特定のリソースに関連するすべてのイベントを表示する機能
  • クラスター内の特定のイベントを監視する
  • 特定の名前空間でイベントをステータスまたはタイプ別にフィルタリングする

上記の機能に加えて、設計ドキュメントを参照して、今後のバージョンでリリースされる新機能について確認することもできます。新しい kubectl バージョンをインストールした直後から kubectl events コマンドを使い始めることができることにも言及しておく価値があります。

HPA API を一般公開しました

Horizo​​ntal Pod Autoscaler (HPA) は、さまざまな指標に基づいて Pod の数を自動的に拡張できる Kubernetes のコア コンポーネントです。 HPA は、レプリカ セット、デプロイメント、CPU 使用率などのよく知られたインジケーター ステータス セットを含むリソースをスケールアップまたはスケールダウンできます。これは 2015 年から Kubernetes API の一部となっています。本日、ついに一般提供 (GA) に到達しました。

クライアントとコントローラーですでに HPA を使用している場合は、v2beta1 の代わりに v2 を直接使用できます。このリリースから、HPA が Kubernetes API のコア コンポーネントになり、最終製品に追加される準備ができていることがわかります。そのため、HPA を安心してご利用いただけます。

CRD 検証式言語

カスタム リソース定義 (CRD) は、Kubernetes を拡張し、カスタマイズ可能なすべてのリソースで動作できるようにする強力な抽象化レイヤーとして機能します。ただし、ユーザーが新しいカスタム リソースとそれに関連する仕様を定義する場合、Webhook、コントローラー、クライアント ツールを使用した検証が面倒になる可能性があります。幸いなことに、Common Expression Language などのインライン式言語を CRD に統合して検証することができます。

バージョン 1.23 では、検証ルールがアルファ機能として提供され、x-kubernetes-validation-rules を簡単に追加できるようになりました。 Kubernetes のドキュメントでも同様の例を見ることができます。

  1. ...
  2. オープンAPIV3スキーマ:
  3. タイプ: オブジェクト
  4. プロパティ:
  5. 仕様:
  6. タイプ: オブジェクト
  7. x-kubernetes-検証ルール:
  8. -ルール: "self.minReplicas <= self.replicas"  
  9. メッセージ: 「レプリカは minReplicas 以上である必要があります。」  
  10. -ルール: "self.replicas <= self.maxReplicas"  
  11. メッセージ: 「レプリカは maxReplicas 以下である必要があります。」  
  12. プロパティ:
  13. ...
  14. 最小レプリカ数:
  15. タイプ:整数 
  16. レプリカ:
  17. タイプ:整数 
  18. 最大レプリカ数:
  19. タイプ:整数 
  20. 必須:
  21. -最小レプリカ数
  22. - レプリカ
  23. -最大レプリカ数

2 番目のルールに違反する次のカスタム リソース インスタンスを作成するとします。

  1. APIバージョン: "stable.example.com/v1"  
  2. 種類: CronTab
  3. メタデータ:
  4. 名前: 新しい cron オブジェクト
  5. 仕様:
  6. 最小レプリカ数: 0
  7. レプリカ: 20
  8. 最大レプリカ数: 10

Kubernetes API は次のエラー メッセージで応答します。

  1. CronTab 「my-new-cron-object」  無効です:
  2. * spec: 無効な値: map[string]interface {}{ "maxReplicas" :10, "minReplicas" :0, "replicas" :20}: レプリカはmaxReplicas以下する必要があります

ご覧のとおり、クラスターで CRD を使用する場合は、Open API アーキテクチャとコントローラーで対応する検証メカニズムを使用する必要があります。この新しいバージョンでは、それらを x-kubernetes-validation-rules に移行し、Kubernetes API に面倒な作業を任せることができます。

コンテナとインフラストラクチャ

新しいバージョンでは、Windows とノード SIG という 2 つの注目すべき機能が見つかりました。これらは、一時コンテナーと Windows 特権コンテナーに属します。

一時コンテナ

一時コンテナを使用して、他のポッドの状態を観察し、トラブルシューティングやデバッグを行うことができます。この新しい機能には CLI コマンドも付属しています。ユーザーは kubectl debug を使用して簡単にトラブルシューティングを行うことができます。実際、コマンドはポッドのコンテナ内で実行され、kubectl exec コマンドはコンテナ内でプロセスを実行します。

バージョン 1.23 では、PodSpec.EphemeralContainer のポッド仕様の一部としてエフェメラル コンテナを追加できるようになります。コンテナ仕様に似ていますが、さまざまなリソース要求やポートは含まれず、結局のところ、ポッドに一時的に追加されるだけです。たとえば、Debian コンテナを my-service ポッドに追加し、対話的に接続して、ユーザーがリアルタイムでデバッグできるようにすることができます。詳細については、次のコード スニペットを参照してください。

  1. $ kubectl デバッグ -it -m debian my-service --bash  
  2. ルート@デバッグ:~# ps x
  3. PID TTY STAT TIMEコマンド
  4. 1 ? Ss 0:00 /一時停止
  5. 11 ? Ss 0:00 バッシュ
  6. 127 ? R+ 0:00 ps x

実際、一時コンテナはバージョン 1.22 ではすでにアルファ状態になっています。今回、バージョン1.23でベータ版にアップグレードされます。まだ試していない場合は、さまざまなデバッグ コンテナのイメージを作成し、kubectl debug コマンドをツールボックスに含めることをお勧めします。

Windows 特権コンテナとホスト ネットワーク モード

強力なコンテナ インスタンスとして、特権コンテナはホスト リソースにアクセスして使用できます。これは、ホスト上で直接実行されるプロセスと非常によく似ています。 Linux コンテナは広く使用されていますが、ある程度のセキュリティ上の脅威をもたらしますが、ホストインスタンスの管理には有益です。

バージョン 1.23 のリリースにより、Windows インスタンスの特権コンテナおよびホスト ネットワーク モードがベータ版にアップグレードされます。クラスターに Windows ノードがある場合、または将来的に Windows ノードを追加する予定がある場合は、機能と GA 計画について設計ドキュメントを確認してください。

ストレージ

バージョン 1.23 では、ストレージ SIG の変更は主に、ボリュームのマウント時のボリューム所有権の変更に反映されます。

現在、ボリュームがバインドされる前に、ボリュームの権限はポッド仕様の fsGroup 値に再帰的に更新されます。当然のことながら、ボリュームが非常に大きい場合、所有権の変更により、ポッドの作成中に長い待機時間が発生する可能性があります。したがって、ユーザーが権限と所有権の変更を操作する方法を指定できるように、新しいフィールド pod.Spec.SecurityContext.FSGroupChangePolicy を追加する必要があることがよくあります。

バージョン 1.23 では、この機能は GA にアップグレードされました。関連する戦略を指定するには、次の 2 つのオプションを使用できます。

  • 常に: fsGroup フィールドと一致するように、さまざまな権限と所有権を常に変更します。
  • OnRootMismatch: 最上位ディレクトリが fsGroup フィールドと一致しない場合にのみ、対応する権限と所有権を変更します。

権限の変更に敏感なデータベースなどのアプリケーションを使用している場合は、新しいフィールドを確認し、ポッドの作成中に長時間待機する必要がないようにポッド仕様に含めてください。

ネットワーキング

IPv6 は、Kubernetes バージョン 1.9 でアルファ機能として追加されて以来、Kubernetes チームにとって待望の機能でした。最新リリースでは、デュアルスタック IPv4/IPv6 ネットワークがようやく一般提供されました。

この機能には、さまざまなポッドおよびサービスの複数の IPv4/IPv6 アドレスの認識が含まれます。また、ネイティブ IPv4 から IPv4 への通信、およびクラスターとの IPv6 から IPv6 への通信もサポートします。

Kubernetes はデュアルスタック ネットワークを提供しますが、基盤となるインフラストラクチャとクラウド プロバイダーの機能によって制限される場合があります。ノードにはルーティング可能な IPv4/IPv6 ネットワーク インターフェースが必要であり、ポッドにはデュアル スタック ネットワーク接続が必要であるため、ポッドとサービスに IP アドレスを割り当てるにはデュアル スタック対応プラグインも必要です。現在、kubenet などの CNI プラグインはすでにデュアルスタック ネットワークをサポートしており、Kubeadm と kind もこのエコシステムのサポートを徐々に追加しています。

安全

認証 SIG に関するバージョン 1.23 の機能強化は、主に Pod セキュリティ標準のベータ バージョンへのアップグレードに反映されています。

以前のバージョンでは、Pod セキュリティ標準は、PodSecurityPolicy に代わるアルファ機能でした。名前空間とラベルの助けを借りて、ポッドの権限を制限し、それに応じてポリシーを適用する方法を作成しました。これをデプロイメントに含めることで、ポッドとクラスターのセキュリティを強化できます。

まとめ

Kubernetes は 2021 年の最終リリースで、API とインフラストラクチャを強化し、スケーラビリティと信頼性を向上させます。さらに、ストレージ、ネットワーク、セキュリティの改善により、Kubernetes は将来を見据えた真の業界をリードするコンテナ オーケストレーション プラットフォームとなっています。

最後に、Kubernetes ブログとリリース ノートをチェックして、最新の機能強化について詳しく学んでください。

原題: Kubernetes バージョン 1.23 がリリースされました: 知っておくべきことすべて、著者: Amir Kaushansky

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

<<:  Kubernetes クラスター リソースをクリーンアップするためによく使用されるコマンド

>>:  インタビューで必ず聞くこと | Kafka の消費モデルについてお話ししましょうか?

推薦する

solarvps-simple レビュー/512m メモリ/ロサンゼルス

solarvps を購入しました。無駄のないプローブ: http://65.181.116.152:...

SEOマネージャーは何も得意ではないかもしれないが、すべてを知る必要がある

このタイトルは主流の価値観と矛盾しているようです。諺にあるように、10 の技は 3 つの馴染みのある...

Xigua Video が Bilibili で UP ホストを追跡: お金は万能か?

BilibiliとXigua Videoの間で、新たな大Vsの攻防戦が始まった。表面的には、この競争...

AWS、張文毅氏をグローバル副社長兼中華圏担当エグゼクティブディレクターに任命

2019 年 7 月 11 日、北京、Amazon の子会社である Amazon Web Servi...

ホストタグ: €59/E3-1240v6/16g メモリ/2*120g SSD+2*2T HDD/1Gbps 帯域幅無制限トラフィック/500g 高防御

ブルガリアの老舗ホスティングプロバイダーであるHostagは、ブルガリアの首都ソフィアの中心部にデー...

プライベート クラウドは完璧ではありません。安全に展開するためにはこれらの点に注意してください。

仮想化により、リソースの境界が曖昧になり、コンピューティング、ストレージ、ネットワーク リソースが動...

B2C は低迷し、共同購入サイトは消滅しつつあります。E コマース CRM は症状を治療することしかできません。

1997年4月に中国商品発注システム(CGOS)が運用を開始して以来、中国の電子商取引は資本運用の新...

ハイブリッドクラウドとマルチクラウドの違いは何ですか?

クラウド コンピューティングは、企業の IT に新たなビジネス価値とエンドユーザーの利便性をもたらす...

クラウド移行におけるエネルギー節約を最適化する 5 つの方法

クラウドへの移行は、エネルギーを節約するユニークな機会を提供します。この記事では、組織でこれらの節約...

プレビュー: ロサンゼルス データセンターの Ramnode-VPS が間もなく登場

確認されたニュースによると、Ramnode は 1 月にロサンゼルスのデータセンターで VPS を開...

Baiduは、掲載する価値があるウェブサイトのみを掲載する。

ウェブマスターは、自分のウェブサイトが百度に認識され、インデックスされることを望んでいますが、百度は...

持続不可能なSaaS製品を救う方法

[[355134]]以前にもこの話題について簡単に触れましたが、今日は皆さんとさらに詳しく議論したい...

dedipath - 超格安E3専用サーバー+256IPクラスターサーバー/ロサンゼルスアジア最適化ライン

dedipathは、旧正月を機に、ロサンゼルスデータセンター、アジア最適化ライン、E3ヘンなど、さま...

Rushmail: メール送信の時間と頻度を制御する方法

月収10万元の起業の夢を実現するミニプログラム起業支援プラン電子メール マーケティングは、大量の電子...

百度が9月以降に新規サイトを登録するための隠れたルールと対応方法

百度が新しいサイトを開設する問題は、よく話題になる。さまざまな声があちこちで聞かれ、さまざまな記事が...