Skip to content

Update 'from-manifest' upgrade docs#561

Merged
grampelberg merged 2 commits intomasterfrom
isim/upgrade-from-manifest
Oct 21, 2019
Merged

Update 'from-manifest' upgrade docs#561
grampelberg merged 2 commits intomasterfrom
isim/upgrade-from-manifest

Conversation

@ihcsim
Copy link
Contributor

@ihcsim ihcsim commented Oct 13, 2019

This PR updates the --from-manifests portion of the upgrade docs, by removing the first example where the whole output of the linkerd install command is written to a manifest file. As filed in linkerd/linkerd2#3559, this approach is now causing the linkerd upgrade command to fail due to the k8s.FakeClientSet not being able to deserialize the APIService kind. Since the original intent of this option (see linkerd/linkerd2#2629) is to read the linkerd-config config map, I think it's fair to remove the failing example in the docs.

Fixes linkerd/linkerd2#3559.

Signed-off-by: Ivan Sim [email protected]

@ihcsim ihcsim added the docs label Oct 13, 2019
@ihcsim ihcsim self-assigned this Oct 13, 2019
@ihcsim ihcsim force-pushed the isim/upgrade-from-manifest branch from 7437777 to 1144ecd Compare October 13, 2019 22:17
Copy link
Member

@siggy siggy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the fix. One comment related to linkerd/linkerd2#3569. 👍 🚢

Signed-off-by: Ivan Sim <[email protected]>
@jon-walton
Copy link

Hi @ihcsim @siggy

In my view, the point of --from-manifests is to allow air-gapped upgrades. As per comment linkerd/linkerd2#3559 (comment), my install was done via linkerd install > linkerd-install.yaml, the yaml saved to a git repo and argocd deploying the yaml.

Each cluster has a separate linkerd-install.yaml, containing it's specific config.

I've previously been able to do linkerd upgrade --from-manifests ./install-prod.yaml > ./install-prod.yaml and commit the new manifest without the upgrade process touching the cluster. This avoids accidentally pulling in a dev/staging config from the cluster and saving it in the prod manifest, depending on where the kube context happens to be pointing

kubectl -n linkerd get \
  secret/linkerd-identity-issuer \
  configmap/linkerd-config \
  -oyaml > linkerd-manifests.yaml

defeats the purpose of --from-manifests, in my view

@ihcsim
Copy link
Contributor Author

ihcsim commented Oct 21, 2019

@jon-walton Understood. We have a fix for it in linkerd/linkerd2#3569, which is very close to getting merged. The reason why the docs mentioned kubectl -n linkerd get secret/linkerd-identity-issuer configmap/linkerd-config -oyaml > linkerd-manifests.yaml is because those are the resources that upgrade pulls from the cluster. But yes, we will definitely continue to support the linkerd upgrade --from-manifests ./install-prod.yaml > ./install-prod.yaml use case.

Meanwhile, are you blocked by this? As you mentioned in slack, the APIService kind is the problematic one.

Copy link
Contributor

@cpretzer cpretzer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good doc improvement! 👍

@grampelberg grampelberg merged commit 5a472b6 into master Oct 21, 2019
@grampelberg grampelberg deleted the isim/upgrade-from-manifest branch October 21, 2019 19:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Upgrade using --from-manifest option causes APIService error

5 participants