在遵循本教程(https://portworx.com/run-ha-kafka-azure-kubernetes-service/)以在Azure Kubernetes服务上设置Kafka群集之后,我遇到了部署无头Zookeeper服务的问题。
使用kubectl运行这个yml来部署Zookeeper服务,我得到下面的错误。
apiVersion: v1
kind: Service
metadata:
name: zk-headless
nodeAffinity: labels:
app: zk-headless
spec:
ports:
- port: 2888
name: server
- port: 3888
name: leader-election
clusterIP: None
selector:
app: zk
error converting YAML to JSON: yaml: line 5: mapping values are not allowed in this context
我的问题是,如何分配nodeAffinity值?我应该使用这个:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
答案 0 :(得分:2)
Kubernetes Service
对象没有nodeAffinity
字段,因为Service
资源不在节点上运行。实际上,它们根本不“运行”-它们是联网的规则。
网站上提供的示例在那里存在复制粘贴错误。应该是:
apiVersion: v1
kind: Service
metadata:
name: zk-headless
labels:
app: zk-headless
spec:
ports:
- port: 2888
name: server
- port: 3888
name: leader-election
clusterIP: None
selector:
app: zk
答案 1 :(得分:0)
除了Utku的答案-我建议使用“ kubectl解释服务”命令来查看可以将哪些字段添加到kubernetes对象中,例如服务或部署或Pod