k8s特殊节点,特殊应用,节点只部署该应用,应用只部署在该节点。

在 Kubernetes 集群中,你可以通过使用 nodeSelectornodeAffinitytaintstolerations 来将一个 deployment 部署到指定的节点上,并确保该节点上只运行此 deployment。以下是具体步骤:

  1. 给目标节点打标签

    选择一个节点,并给它打上一个唯一的标签。比如你可以将节点打上 role=dev-node 标签:

    bash 复制代码
    kubectl label nodes <your-node-name> role=dev-node
  2. 使用 nodeSelector 绑定 Deployment 到特定节点

    在你的 Deployment 配置文件中,使用 nodeSelector 将该 Deployment 绑定到带有特定标签的节点上。以下是一个示例配置:

    yaml 复制代码
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: dev-deployment
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: dev-app
      template:
        metadata:
          labels:
            app: dev-app
        spec:
          containers:
          - name: dev-container
            image: your-image:latest
          nodeSelector:
            role: dev-node
  3. 给节点添加 taint

    为确保该节点只运行此 deployment,你可以给该节点添加一个 taint,使得其他 deployment 无法调度到该节点。比如:

    bash 复制代码
    kubectl taint nodes <your-node-name> dedicated=dev:NoSchedule
  4. 在 Deployment 中添加 tolerations

    在 Deployment 配置文件中添加 tolerations,允许其调度到有 taint 的节点上:

    yaml 复制代码
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: dev-deployment
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: dev-app
      template:
        metadata:
          labels:
            app: dev-app
        spec:
          containers:
          - name: dev-container
            image: your-image:latest
          nodeSelector:
            role: dev-node
          tolerations:
          - key: "dedicated"
            operator: "Equal"
            value: "dev"
            effect: "NoSchedule"

通过以上步骤,你可以确保你的 dev-deployment 只部署在指定节点上,并且该节点上只能部署这个 dev-deployment

相关推荐
明月_清风10 小时前
K8s 从入门到上手:核心概念+常用工具全解析
后端·kubernetes
阿里云云原生13 小时前
阿里云可观测 2026 年 4 月产品动态
云原生
qq_3643717213 小时前
基于 Docker 容器化环境配置
运维·docker·容器
塔克拉玛攻城狮14 小时前
详解cni插件cilium篇一:它为什么这么快?它还有哪些高级功能?
kubernetes·cilium
阿里云云原生14 小时前
Skills Registry 公测开启:为企业打造私有的 Skill 管理中心
云原生
吃胖点儿14 小时前
DevOps与自动化原理
云原生
GentleDevin15 小时前
Docker 运维常用命令大全
docker·容器·运维命令
运维全栈笔记15 小时前
基于Docker的MinIO单机部署与功能测试指南
运维·docker·容器
阿里云云原生15 小时前
HiClaw 发布 v1.1.0,提供 Kubernetes 集群部署实现,支持 Hermes Worker 运行时
kubernetes
心机之蛙qee16 小时前
docker的安装(RHEL9)
运维·docker·容器