iT邦幫忙

2024 iThome 鐵人賽

DAY 28
0

Kubernetes Namespace用於將集群中的資源進行邏輯劃分的機制,將集群中的Pod、Service、Deployment等資源組織成不同的群組實現訪問控制、資源隔離和命名空間管理。可以將Namespace想像成一個盒子,每個盒子都有自己獨立的資源命名空間,即使不同的盒子中擁有相同名稱的資源也不會造成衝突。Namespace使管理變得更簡單,幫助團隊按需分組和維護。

預設的Namespace

在Kubernetes中預設有三個Namespace:

  • default
    所有未指定Namespace的資源將預設放置在default Namespace中
  • kube-system
    關於Kubernetes系統服務的Namespace,例如kube-dns、kube-proxy等等
  • kube-public
    任何人都可以訪問此Namespace,通常用於存放公開的資源

主要功能

  • 資源隔離:
    不同的團隊或應用可以擁有自己的Namespace,可以在同一集群中運行多個環境(如開發、測試、生產)不會互相干擾,可以避免資源衝突和互相影響。
  • 訪問控制:
    透過Kubernetes的RBAC(Role-Based Access Control)在Namespace設定訪問權限,控制不同使用者或團隊對資源的訪問,以增強安全性。
  • 命名空間管理:
    每個Namespace內部的資源名稱不能重複,但不同名稱空間之間可以有相同的資源名稱。例如:在不同的Namespace中可以擁有同名稱的Pod。
  • 生命週期管理:
    Namespace可以方便的創建、刪除和管理,方便部署和移除。
  • 資源配額:
    Namespace可以針對特定的Namespace設定資源配額,控制CPU和memory等資源的使用。

基本指令

創建 Namespace:

kubectl create namespace 

刪除 Namespace:

kubectl delete namespace 

查看 Namespace:

kubectl get namespace

總結

Kubernetes Namespaces提供集群資源邏輯劃分,實現資源隔離、訪問控制和資源管理。在集群中運行多個應用或環境不會產生衝突。使用kubectl命令可以創建、刪除和管理Namespaces及其內部的資源。Namespaces是 Kubernetes中一個重要的組織和管理工具,有助於提高維護效率和安全性。


上一篇
Day27 淺談Kubernetes - Quality of Service
下一篇
Day29 淺談 Kubernetes Liveness Probe & Readiness Probe
系列文
Kubernetes 中關於網路的二三事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言