mirror of https://github.com/istio/istio.io.git
update instruction for control plane (#1331)
* update instruction for control plane data plane will be in a separate PR as it needs more testing * address typo and guang's feedback * fix another typo * fix circle ci test
This commit is contained in:
parent
510ac23adf
commit
a5493c717e
|
@ -12,36 +12,53 @@ for the Kubernetes environment.
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This guide describes how to upgrade an existing Istio deployment (including
|
This guide describes how to upgrade an existing Istio deployment (including both control plane and sidecar proxy) to a new release of Istio. The upgrade process could involve new binaries as well as other changes like configuration and API schemas. The upgrade process may involve some service downtime. To minimize the service downtime, please ensure your istio control plane components and your application are highly available with multiple replicas.
|
||||||
both control plane and sidecar proxy) to a new release of Istio. The upgrade
|
|
||||||
process could involve new binaries as well as other changes like configuration
|
|
||||||
and API schemas. The upgrade process may involve some service downtime.
|
|
||||||
|
|
||||||
## Application setup
|
## Application setup
|
||||||
|
|
||||||
In the following steps, we assume that the Istio components are installed and
|
In the following steps, we assume that the Istio components are installed and upgraded in the the `istio-system` namespace.
|
||||||
upgraded in the same namespace ISTIO\_NAMESPACE.
|
|
||||||
|
|
||||||
## Tasks
|
## Tasks
|
||||||
|
|
||||||
### Control plane upgrade
|
### Control plane upgrade
|
||||||
|
|
||||||
The Istio control plane components include: Citadel, Ingress, Pilot, Mixer, and
|
The Istio control plane components include: Citadel, Ingress gateway, Egress gateway, Pilot, Policy, Telemetry and
|
||||||
Sidecar injector. We can use Kubernetes’ rolling update mechanism to upgrade the
|
Sidecar injector. We can use Kubernetes’ rolling update mechanism to upgrade the
|
||||||
control plane components. It can be done by simply applying the new version
|
control plane components.
|
||||||
yaml file directly, e.g.
|
|
||||||
|
First, generate the desired istio control plane yaml file, e.g.
|
||||||
|
|
||||||
```command
|
```command
|
||||||
$ kubectl apply -f istio.yaml (or istio-auth.yaml)
|
helm template --set global.proxy.image=proxy \
|
||||||
|
--values install/kubernetes/helm/istio/values-istio.yaml \
|
||||||
|
install/kubernetes/helm/istio >> install/kubernetes/istio.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```command
|
||||||
|
helm template --set global.proxy.image=proxy \
|
||||||
|
--values install/kubernetes/helm/istio/values-istio-auth.yaml \
|
||||||
|
install/kubernetes/helm/istio >> install/kubernetes/istio-auth.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
> If you have used [Helm](https://istio.io/docs/setup/kubernetes/helm.html)
|
> If you have used [Helm](https://istio.io/docs/setup/kubernetes/helm.html)
|
||||||
to generate a customized Istio deployment, please use the customized yaml files
|
to generate a customized Istio deployment, please use the customized yaml files
|
||||||
generated by Helm instead of the standard installation yamls.
|
generated by Helm instead of the standard installation yamls.
|
||||||
|
|
||||||
The rolling update process will upgrade all deployments and configmaps to the
|
Second, simply apply the new version of the desired istio control plane yaml file directly, e.g.
|
||||||
new version. If there is any issue with the new control plane, you can rollback
|
|
||||||
the changes either by applying the old version yaml files.
|
```command
|
||||||
|
$ kubectl apply -f install/kubernetes/istio.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```command
|
||||||
|
$ kubectl apply -f install/kubernetes/istio-auth.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
The rolling update process will upgrade all deployments and configmaps to the new version. After this process finishes, your Istio control plane should be updated to the new version and the control plane itself should be using the new Envoy v2 proxy. Your existing application should continue to work without any change, using the Envoy v1 proxy and the v1alpha1 route rules. In any case if there is any critical issue with the new control plane, you can simply rollback the changes either by applying the old version yaml files.
|
||||||
|
|
||||||
### Sidecar upgrade
|
### Sidecar upgrade
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue