美文网首页Openshift:可靠的Kubernetes发行版
OpenShift 集群为项目提供专属节点

OpenShift 集群为项目提供专属节点

作者: 潘晓华Michael | 来源:发表于2021-03-15 15:55 被阅读0次
    专属节点

    背景介绍

    在生产实践中,某些系统因一些特殊的要求,需要独占节点,即专属节点:具有特殊要求的应用POD必须运行在这些专属节点上;同时这些节点不为其它应用服务。本文将提供一种具体的配置策略,以满足这种特殊的调度需求。
    该策略主要使用到两种工具:

    1. 节点标签实现应用与节点的绑定
    2. 污点配置实现其它应用不会被调度到该节点。

    设置步骤

    1. 为专属节点设置特定标签LABEL:dedicated=sys0,及设置污点
    $ oc label node node-10 dedicated=sys0
    $ oc adm taint nodes node-10 dedicated=sys0:NoSchedule
    
    1. 在使用专属节点的应用编排中绑定的Node
    spec:
      replicas: 1
      template:
        metadata:
          name: nginx
          labels:
            app: nginx
        spec:
          nodeSelector:
            dedicated: "sys0"
          containers:
    ...
    

    spec:
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
              - matchExpressions:
                  - key: dedicated
                    operator: In
                    values:
                      - sys0
      containers:
    ...
    
    1. 使用专属节点的应用编排中指定的标签及容忍污点
    spec:
      tolerations:
      - key: "dedicated"
        operator: "Equal"
        value: "sys0"
        effect: "NoExecute"
    

    注意,本例中使用的operator是"Equal",会比较污点的键与值。如果operator使用"Exists",则应用可以容忍所有带有dedicated污点。

    去除专属节点操作

    要是需要去除专属节点的限制,让它恢复成一个正常应用的节点。只需要将它的污点移除即可。

    $ oc adm taint nodes dedicated-
    

    相关文章

      网友评论

        本文标题:OpenShift 集群为项目提供专属节点

        本文链接:https://www.haomeiwen.com/subject/fejkcltx.html