apache / rocketmq-operator

Apache RocketMQ Operator
https://rocketmq.apache.org/
Apache License 2.0
314 stars 127 forks source link

console doesn't support affinity filed #142

Closed chaoyoung closed 1 year ago

chaoyoung commented 1 year ago

rocketmq_cluster.yaml

apiVersion: rocketmq.apache.org/v1alpha1
kind: Console
metadata:
  name: console
  namespace: rocketmq
spec:
  # nameServers is the [ip:port] list of name service
  nameServers: ""
  # consoleDeployment define the console deployment
  consoleDeployment:
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      labels:
        app: rocketmq-console
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: rocketmq-console
      template:
        metadata:
          labels:
            app: rocketmq-console
        spec:
          containers:
            - name: console
              image: apacherocketmq/rocketmq-dashboard:1.0.0
              ports:
                - containerPort: 8080
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: kubernetes.io/hostname
                operator: In
                values:
                - dev-k8s-node1
                - dev-k8s-node2

kubectl apply -f rocketmq_cluster.yaml

error: error validating "rocketmq_v1alpha1_rocketmq_cluster.yaml": error validating data: ValidationError(Console.spec.consoleDeployment.spec): unknown field "affinity" in org.apache.rocketmq.v1alpha1.Console.spec.consoleDeployment.spec; if you choose to ignore these errors, turn validation off with --validate=false
caigy commented 1 year ago

In fact Console.spec is just a Deployment, so the field "affinity" should be defined in Console.spec.consoleDeployment.spec.template.spec, not in Console.spec.consoleDeployment.spec.

chaoyoung commented 1 year ago

In fact Console.spec is just a Deployment, so the field "affinity" should be defined in Console.spec.consoleDeployment.spec.template.spec, not in Console.spec.consoleDeployment.spec.

I'm sorry, I'm too careless, thank you for your answer.