Setting 'targetSize' for Spinnaker services does not cause any effect


#1

I’d like to have multiple instances for Spinnaker services (clouddriver, gate etc) for availability reasons.

When I set targetSize: 2 in service settings as described in the guide I see that the value indeed ends up in spinnaker.yml in clouddriver pod:

services:
  clouddriver:
    port: 7002
    address: spin-clouddriver.spinnaker
    host: 0.0.0.0
    scheme: http
    healthEndpoint: /health
    env:
      JAVA_OPTS: -Xms900m -Xmx1500m
    artifactId: gcr.io/spinnaker-marketplace/clouddriver:3.3.3-20180802154248
    location: spinnaker
    kubernetes:
      imagePullSecrets: []
      podAnnotations: {}
    enabled: true
    monitored: true
    sidecar: false
    safeToUpdate: true
    targetSize: 2
    skipLifeCycleManagement: false
    baseUrl: http://spin-clouddriver.spinnaker:7002
…

However even after full redeployment via halyard I still see that the desired number of replicas is 1:

…
spin-clouddriver-v000                  1         1         1         29m
…

I tried to remove all spinnaker pods and replica sets before full redeployment but it didn’t help either.

Am I doing something wrong or is this a bug in halyard?

Environment:

  • Spinnaker 1.8.5
  • Clouddriver 3.3.3-20180802154248
  • GKE 1.10.5-gke.3

#2

You can set the replica count in halyard customSizing for each service

deploymentEnvironment:
customSizing:
  spin-gate:
    replicas: 1

#3

Then the question is what is the purpose of targetSize mentioned in the documentation? Should it be fixed?