借助Kubernetes 1.14中Windows Server 2019的支持,似乎可能具有不同OS的节点。例如,一个集群中的Ubuntu 18.04节点,RHEL 7节点,Windows Server节点。
在我的用例中,我想使用每个操作系统类型都有一个预先配置的队列系统的队列。节点将从处理作业的特定队列中获取数据。
基于上述考虑,是否可以将Job配置为转到特定队列,然后转到特定OS节点?
答案 0 :(得分:2)
Kubernetes节点填充了一组标准标签,其中包括var id = num < 10 ? "s0" + num : "s" + num;
var element = document.getElementById(id);
var numb = element.textContent;
Pods can then be assigned通过kubernetes.io/os
,nodeSelector
和podAffinity
到某些地方。
podAntiAffinity
如果您需要更精细的控制(例如在Ubuntu / RHEL之间进行选择),则需要在kubernetes节点部署中添加自定义标签以供选择。这种选择级别很罕见,因为容器运行时会尝试向您隐藏大多数差异,但是如果您有特殊情况,请向节点添加额外的标签元数据。
我建议使用apiVersion: extensions/v1beta1
kind: Pod
metadata:
name: anapp
spec:
containers:
- image: docker.io/me/anapp
name: anapp
ports:
- containerPort: 8080
nodeSelector:
kubernetes.io/os: linux
中的ID
和VERSION_ID
字段,因为大多数Linux发行版都以某种形式填充此信息。
cat /etc/*release*