Kubernetes在不同操作系统上的工作

时间:2019-05-29 19:22:32

标签: kubernetes

借助Kubernetes 1.14中Windows Server 2019的支持,似乎可能具有不同OS的节点。例如,一个集群中的Ubuntu 18.04节点,RHEL 7节点,Windows Server节点。

在我的用例中,我想使用每个操作系统类型都有一个预先配置的队列系统的队列。节点将从处理作业的特定队列中获取数据。

基于上述考虑,是否可以将Job配置为转到特定队列,然后转到特定OS节点?

1 个答案:

答案 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/osnodeSelectorpodAffinity到某些地方。

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 中的IDVERSION_ID字段,因为大多数Linux发行版都以某种形式填充此信息。

cat /etc/*release*