kubernetes 核心技术-Namespace

kubernetes 核心技术-Namespace

一、Namespace 概述

Namespace 在很多情况下用于实现多用户的资源隔离,通过将集群内部的资源对象分配到 不同的 Namespace 中, 形成逻辑上的分组,便于不同的分组在共享使用整个集群的资源同 时还能被分别管理。Kubernetes 集群在启动后,会创建一个名为 default 的 Namespace,如果不特别指明 Namespace,则用户创建的 PodRCService 都将被系统创建到这个默认的名为 default 的 Namespace 中。

二、Namespace 创建

1、创建名称空间 development的yaml文件 nsdemo.yaml

apiVersion: v1
kind: Namespace
metadata:
  name: development

---
apiVersion: v1
kind: Pod
metadata:
  name: mypod
  namespace: development
spec:
  containers:
  - name: mypod
    image: nginx

2、创建名称空间 development

kubectl  apply  -f nsdemo.yaml 
namespace/development created
pod/mypod created

三、Namespace 查看

kubectl get pods --namespace=development

四、相关命令

1、查看命名空间

# 列出所有命名空间
kubectl get namespaces
# 或简写
kubectl get ns

# 查看特定命名空间的详细信息
kubectl describe namespace <namespace-name>

2、创建命名空间

# 方法1:直接通过命令创建
kubectl create namespace <namespace-name>

# 方法2:通过 YAML 文件创建
kubectl apply -f namespace.yaml

YAML 文件示例:
apiVersion: v1
kind: Namespace
metadata:
  name: my-namespace

3、删除命名空间

# 删除指定命名空间(会删除该命名空间下的所有资源)
kubectl delete namespace <namespace-name>

4、在特定命名空间中操作

# 在特定命名空间中创建资源
kubectl apply -f <resource.yaml> -n <namespace-name>

# 查看特定命名空间中的资源
kubectl get pods -n <namespace-name>
kubectl get services -n <namespace-name>
kubectl get all -n <namespace-name>

# 设置默认命名空间
kubectl config set-context --current --namespace=<namespace-name>

5、查看资源配额

# 查看命名空间的资源配额
kubectl get resourcequota -n <namespace-name>

# 查看命名空间的限制范围
kubectl get limitrange -n <namespace-name>

6、常用选项

# 以 JSON 格式输出命名空间信息
kubectl get namespace <namespace-name> -o json

# 以 YAML 格式输出命名空间信息
kubectl get namespace <namespace-name> -o yaml

# 查看命名空间状态
kubectl get namespace <namespace-name> --show-labels

评论

暂无

添加新评论