我正在EKS中运行一个Kubernetes集群,但出于某种原因,部署中的nodeSelector属性并不总是被遵循。
三个部署:1-卡桑德拉:
kind: StatefulSet
metadata:
name: cassandra
labels:
app: cassandra
spec:
serviceName: cassandra
replicas: 3
...
spec:
terminationGracePeriodSeconds: 1800
containers:
- name: cassandra
image: gcr.io/google-samples/cassandra:v13
...
nodeSelector:
layer: "backend"2-卡夫卡
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
service: kafka
...
spec:
containers:
image: strimzi/kafka:0.11.3-kafka-2.1.0
...
nodeSelector:
layer: "backend"
...3-动物园管理员
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
service: zookeeper
...
spec:
containers:
image: strimzi/kafka:0.11.3-kafka-2.1.0
...
nodeSelector:
layer: "backend"
...注意-这三个都有容器规范上的nodeSelector "layer=backend“。不过,我只有两个“后端”吊舱,当我看到吊舱时:
% kubectl get all -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
pod/cassandra-0 1/1 Running 0 9m32s 10.1.150.39 ip-...-27.us-west-2.compute.internal <none> <none>
pod/cassandra-1 1/1 Running 0 7m56s 10.1.100.7 ip-...-252.us-west-2.compute.internal <none> <none>
pod/cassandra-2 1/1 Running 0 6m46s 10.1.150.254 ip-...-27.us-west-2.compute.internal <none> <none>
pod/kafka-56dcd8665d-hfvz4 1/1 Running 0 9m32s 10.1.100.247 ip-...-252.us-west-2.compute.internal <none> <none>
pod/zookeeper-7f74f96f56-xwjjt 1/1 Running 0 9m32s 10.1.100.128 ip-...-154.us-west-2.compute.internal <none> <none>它们被放置在三个不同的节点上-- 27,252和154。看看每一个标签上的“图层”:
> kubectl describe node ip-...-27.us-west-2.compute.internal | grep layer
layer=backend
> kubectl describe node ip-...-252.us-west-2.compute.internal | grep layer
layer=backend
> kubectl describe node ip-...-154.us-west-2.compute.internal | grep layer
layer=perf154节点的标签是"perf",而不是“后端”。因此,根据我对nodeSelector的理解,动物园管理员舱不应该放在那里。我删除了所有内容(包括节点本身),并尝试了几次--有时是kafka被放置在那里,有时是动物园管理员,但可靠的是,有些东西会被放置在不应该放置的地方。
据我所知,我确实想要的节点有足够的容量,即使它们没有,我也会期望一个错误,即不能调度吊舱,而不是忽略nodeSelector。
我遗漏了什么?nodeSelector不是100%可靠吗?还有另一种方法,我可以强迫吊舱只放在具有特定标签的节点上吗?
发布于 2020-03-11 12:31:18
关闭为用户错误。
一个单独的过程已经恢复了我的git更改,我在IDE中看到的部署已经过时了。
https://stackoverflow.com/questions/60626166
复制相似问题