quaint-teacher-33292
10/08/2019, 4:54 PMminMasterVersion
of my GCP k8s cluster, which properly shows it needs updating (as opposed to recreating). However, I then have a custom pulumi k8s provider stitched together based on pulumi.all([ cluster.name, cluster.endpoint, cluster.masterAuth ])
And all k8s resources are using this explicit k8s.Provider
, and they're all showing replace
strategy if I decide to raise my minMasterVersion. I don't remember this happening with 0.17.21, which has me very worried. I wanted to use the selective update with --target urn
, but this has not landed in 1.2.0, despite the changelog indicating such. Did anyone face this? Can I expect all my stuff using this k8s.Provider
to remain the same as long as that provider is created/configured the same at runtime?~ gcp:container:Cluster main update [diff: ~minMasterVersion]
++ pulumi:providers:kubernetes main create replacement [diff: ~kubeconfig]
+- pulumi:providers:kubernetes main replace [diff: ~kubeconfig]
++ gcp:container:NodePool main create replacement [diff: ~cluster]
+- gcp:container:NodePool main replace [diff: ~cluster]
++ kubernetes:core:Secret cloudflare-account create replacement [diff: -metadata~provider]
an excerpt from preview --non-interactive
white-balloon-205
quaint-teacher-33292
10/08/2019, 5:09 PM~ gcp:container/cluster:Cluster: (update)
[id=main-6394239]
[urn=urn:pulumi:production::project::gcp:container/cluster:Cluster::main]
[provider=urn:pulumi:production::project::pulumi:providers:gcp::default_1_2_0::992b3bde-2c57-469e-bbe3-700071901214]
~ minMasterVersion: "1.12.7-gke.7" => "1.13.10-gke.0"
+-pulumi:providers:kubernetes: (replace)
[id=1a13cc79-0197-4787-babb-38f06a662c6f]
[urn=urn:pulumi:production::project::gcp:container/cluster:Cluster$pulumi:providers:kubernetes::main]
~ kubeconfig: "long valid kubeconfig from previous deploy" => output<string>
+-gcp:container/nodePool:NodePool: (replace)
[id=europe-west1-d/main-6394239/main-5285878]
[urn=urn:pulumi:production::project::gcp:container/cluster:Cluster$gcp:container/nodePool:NodePool::main]
[provider=urn:pulumi:production::project::pulumi:providers:gcp::default_1_2_0::992b3bde-2c57-469e-bbe3-700071901214]
~ cluster: "main-6394239" => output<string>
Because the new value is output<string>
, it means it will be dynamically resolved at runtime, correct? But does the decision to update/replace happen at the same time too?gorgeous-egg-16927
10/08/2019, 5:53 PMquaint-teacher-33292
10/08/2019, 5:55 PMpulumi update --target specific-urn
just to update the cluster, right? Then, in the second update, these values would no longer be dynamic and I could see if kubeconfig remains the same or replacement strategy continues to be chosen? I think I'm going to update the version through GCP UI for now, and wait for 1.3.0gorgeous-egg-16927
10/08/2019, 5:56 PMquaint-teacher-33292
10/08/2019, 6:56 PM