Chuyển đến nội dung chính

レッスン 8: 名前空間

Kubernetes の名前空間を使用してリソースを整理および分離します。名前空間ごとのリソース クォータ、LimitRanges、ネットワーク ポリシー。マルチテナンシーとチーム分離のベスト プラクティス。

🔒 DevSecOps — レッスン 8 レッスン 8: ネームスペース

KUBERNETES: 基本から高度まで

モジュール 2: 基本的な Kubernetes オブジェクト

xdev.asia_

🎯 レッスンの目的

Kubernetes クラスターのリソース分割メカニズムとしての名前空間を理解します。名前空間ごとにリソースを制御するためにリソース クォータと LimitRanges を設定する方法。マルチテナントのベスト プラクティス

1.ネームスペースとは何ですか?

Namespace は、Kubernetes リソースの name スコープ (スコープ) を提供します。 nginx という名前の 2 つのデプロイメントは、競合することなく 2 つの異なる名前空間に存在できます。

許可される名前空間:

  • 分離: 個別の環境 (開発、ステージング、本番) またはチーム (チーム A、チーム B)
  • リソース割り当て: 名前空間ごとのリソース制限
  • RBAC スコープ: 名前空間ごとの権限
  • ネットワーク ポリシー: ネームスペース間のトラフィックの制御

2.デフォルトの名前空間

  • default: 指定されていない場合のデフォルトの名前空間
  • kube-system: Kubernetes コントロール プレーンのコンポーネント (CoreDNS、kube-proxy、metrics-server)
  • kube-public: 認証されていないユーザーも含めて、すべてのユーザーが読み取り可能です。クラスター情報
  • が含まれています
  • kube-node-lease: ノード ハートビート リース — ノード障害検出のパフォーマンスを向上
___コードブロック_0___

3.ネームスペースの作成と管理

___コードブロック_1___

4.名前空間の操作

___コードブロック_2___

5.リソース割り当て

ResourceQuota は、名前空間で許可されるリソースの合計を制限します。

___コードブロック_3___ ___コードブロック_4___

6.制限範囲

LimitRange は、名前空間内のコンテナごとのデフォルトのリクエスト/制限と最小/最大を設定します。コンテナーがリソースを宣言していない場合、LimitRange は自動的にデフォルトを適用します。

___コードブロック_5___

7.名前空間ごとの RBAC

___コードブロック_6___

8.名前空間を越えたコミュニケーション

___コードブロック_7___

9.名前空間のスコープとクラスターのスコープ

すべてのリソースに名前空間があるわけではありません:

  • 名前空間: ポッド、デプロイメント、サービス、ConfigMap、シークレット、PVC、ロール、RoleBindings
  • クラスタースコープ: ノード、Persistent Volume、ClusterRole、ClusterRoleBinding、Namespace、StorageClasses
___コードブロック_8___

10.ベスト プラクティス マルチテナント

  • チームおよび環境ごとの名前空間: team-a-prod、__HTMLTAG_155___team-a-staging__HTMLTAG_156___、 チーム-B-製品
  • _ResourceQuota を常に設定: 1 つのチームがすべてのクラスター リソースを占有することを防ぎます
  • Use LimitRange: コンテナに常にリソース制限があることを確認
  • 一貫性ラベル: チーム、__HTMLTAG_173___環境、__HTMLTAG_175___アプリ
  • _階層型名前空間コントローラー (HNC): 名前空間をツリーに編成し、親からポリシーを継承
___コードブロック_9___

概要

  • Namespace = 名前のスコープとリソースの分離
  • 4 つのデフォルトの名前空間:default、kube-system、kube-public、kube-node-lease
  • ResourceQuota: 名前空間ごとの合計リソースを制限__HTMLTAG_191___
  • LimitRange: コンテナごとのデフォルトと最小/最大__HTMLTAG_193___
  • _ベスト プラクティス: 環境ごとのチームごとの名前空間 + ResourceQuota + LimitRange