Kubernetesのお勉強~8回目~

今日やったこと

学んだこと

Namespaceを分けるメリット

  • PodやContainerのリソースの範囲設定(LimitRange)

    • PodやContainerにメモリ、CPUやストレージの上限、下限を設定
    • ContainerのDefaultのメモリ、CPUの設定
  • Namespace全体の総リソース制限(ResourceQuota)

    • Namespace内のメモリ、CPUの合計の上限
    • PodなどObjectの数の上限
  • 権限(RBAC)管理

    • 特定のNamespace内のリソースに限って権限を付与

2種類のリソース

  • KubernetesのリソースはNamespaceに属しているリソースと属していないリソースに分けられる
Namespaceに属しているリソース
  • Namespace-scoped リソース
    • Namespaceに属しているリソースでNamespace削除時には削除される
    • Namespace内で名前はUniqueである必要がある
      • 例:Pod、Service、Deployment、DaemonSet、StatefulSet
Namespaceに属していないリソース
  • Cluster-scoped
    • 特定のNamespaceではなく、クラスタ全体で使われるもの
    • 同1のクラスタ内で名前はUniqueである必要がある
      • 例:ClusterRole、ClusterRoleBinding、CustomResourceDefinition...

Namespaceに属しているか属していないかはkubectlで確認

  • 属している
k api-resources --namespaced=true
  • 属していない
k api-resources --namespaced=false
  • 補足
    • Docker Desktopに接続
k config use-context docker-desktop
  • 接続確認
k cluster-info

所感

  • PodやContainerのリソースの範囲設定(LimitRange)

    • 設定忘れ、設定ミスの影響を防ぐことができる
  • Namespace全体の総リソース制限(ResourceQuota)

    • 特定のNamespaceだけがリソースを使いすぎないようにできる
  • 権限(RBAC)管理

    • チームごとに特定Namespaceへの権限を付与できる

zae-zae.hatenablog.com