<p>When running <code>linkerd upgrade --from-manifests</code> the following error occurs:</p>

<pre><code>linkerd upgrade --from-manifests install.yaml &gt; install-new.yaml
× Failed to parse Kubernetes objects from manifest install.yaml: no kind "APIService" is registered for version "apiregistration.k8s.io/v1" in scheme "pkg/runtime/scheme.go:101"
</code></pre>

cpretzer
<p>This is a <a href="https://github.com/linkerd/linkerd2/issues/3559" rel="nofollow noreferrer">known issue</a> with a workaround.</p>

<p>The workaround is to export the <code>secret/linkerd-identity-issuer</code> and <code>configmap/linkerd-config</code> resources to a separate manifest file, then use the generated file as an argument to <code>linkerd upgrade --from-manifests</code>:</p>

<pre><code>kubectl -n linkerd get \
  secret/linkerd-identity-issuer \
  configmap/linkerd-config \
  -oyaml &gt; linkerd-manifests.yaml
</code></pre>

<p>then:</p>

<p><code>linkerd upgrade --from-manifests linkerd-manifests.yaml</code></p>
