Kubernetes入门实验:namespace
发布日期:2025-04-03 04:37:27 浏览次数:9 分类:精选文章

本文共 1444 字,大约阅读时间需要 4 分钟。

Kubernetes 命名空间与标签管理

在 Kubernetes 中,命名空间(Namespaces)是一个重要的概念,用于组织和隔离多个虚拟集群。这些虚拟集群虽然看起来是独立的 Kubernetes 集群,但它们实际上共享同一个物理集群。命名空间的主要作用是帮助用户更好地管理和划分不同的工作环境,例如合并多个小团队、不同环境(如开发、测试、生产)或是特定应用场景。

命名空间的操作

创建命名空间

要创建命名空间,可以使用 YAML 文件定义文件结合 kubectl 命令执行。以下是一个示例:

apiVersion: v1
kind: Namespace
metadata:
name: latelee
labels:
name: latelee
who: Late-Lee

执行命令:

kubectl apply -f namespace.yaml

删除命名空间

删除命名空间可以使用相同的 YAML 文件:

kubectl delete -f namespace.yaml

查看命名空间

查看所有命名空间及标签信息:

kubectl get ns --show-labels

查看特定命名空间及标签信息:

kubectl get ns -l name=latelee

切换命名空间

在使用不同的命名空间之前,需要切换到对应的上下文。例如,切换到开发环境:

kubectl config use-context dev

要切换回原始上下文(kubernetes-admin@kubernetes):

kubectl config use-context kubernetes-admin@kubernetes

环境切换

创建和切换不同的上下文可以通过以下步骤实现:

  • 创建上下文
  • kubectl config set-context dev --namespace=development --cluster=kubernetes --user=kubernetes-admin
    kubectl config set-context prod --namespace=production --cluster=kubernetes --user=kubernetes-admin
    1. 删除上下文
    2. kubectl config delete-context dev
      kubectl config delete-context prod

      pod 标签的操作

      添加标签

      给 pod添加标签的基本命令:

      kubectl label pods busybox-pod env=world
      kubectl label pods nginx-pod env=hello

      删除标签

      移除特定标签的命令:

      kubectl label pods nginx-pod env-

      按标签过滤 pod

      查询带有指定标签的 pod:

      kubectl get po --show-labels -l env=hello,app=nginx

      或者使用更灵活的标签匹配:

      kubectl get po --show-labels -l 'env in (hello,world)'

      Tips

      -.matmul标签还有助于快速定位和管理特定的应用或组件。

      • 可尝试结合 kubectl labelkubectl get 工令,灵活地筛选和管理 pod。

      如果你觉得本文有帮助,欢迎分享给你的团队或朋友~

    上一篇:Kubernetes入门:构建和管理容器化应用的强大工具
    下一篇:Kubernetes健康检查与探测机制详解

    发表评论

    最新留言

    感谢大佬
    [***.8.128.20]2025年05月04日 16时31分24秒