CRDs must be installed separately (#1969)

* CRDs must be installed separately

* Fix lint error

* Fix ansible links

* Update the upgrade page

* Fix the bare url lint error

* Really fix the bare URL error

* Addressed code review comments

* Update index.md

* Update index.md
This commit is contained in:
Andra Cismaru 2018-07-28 04:07:24 -07:00 committed by Lin Sun
parent 1678690069
commit aa0464cb97
3 changed files with 65 additions and 24 deletions

View File

@ -35,7 +35,19 @@ plane and the sidecars for the Istio data plane.
instead with the flags `--set gateways.istio-ingressgateway.type=NodePort --set gateways.istio-egressgateway.type=NodePort`
appended to the end of the helm operation.
## Option 1: Install with Helm via `helm template`
## Installation steps
1. Install Istio's [Custom Resource Definitions](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions)
via `kubectl apply`, and wait a few seconds for the CRDs to be committed in the kube-apiserver:
{{< text bash >}}
$ kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml -n istio-system
{{< /text >}}
1. Choose one of the following two
**mutually exclusive** options described below.
### Option 1: Install with Helm via `helm template`
1. Render Istio's core components to a Kubernetes manifest called `istio.yaml`:
@ -50,7 +62,7 @@ plane and the sidecars for the Istio data plane.
$ kubectl create -f $HOME/istio.yaml
{{< /text >}}
## Option 2: Install with Helm and Tiller via `helm install`
### Option 2: Install with Helm and Tiller via `helm install`
This option allows Helm and
[Tiller](https://github.com/kubernetes/helm/blob/master/docs/architecture.md#components)
@ -126,3 +138,9 @@ With this minimal set you can install your own application and [configure reques
{{< text bash >}}
$ kubectl -n istio-system delete job --all
{{< /text >}}
* If desired, delete the CRDs using kubectl:
{{< text bash >}}
$ kubectl delete -f install/kubernetes/helm/istio/templates/crds.yaml -n istio-system
{{< /text >}}

View File

@ -23,13 +23,18 @@ To install and configure Istio in a Kubernetes cluster, follow these instruction
## Installation steps
To install Istio's core components you can choose one of the following four
**mutually exclusive** options.
1. Install Istio's [Custom Resource Definitions](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions)
via `kubectl apply`, and wait a few seconds for the CRDs to be committed in the kube-apiserver:
However, we recommend you to install with the
[Helm Chart](/docs/setup/kubernetes/helm-install/) for production
installations of Istio. With this installation, you can leverage all the
options to configure and customize Istio to your needs.
{{< text bash >}}
$ kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml -n istio-system
{{< /text >}}
1. To install Istio's core components you can choose any of the following four
**mutually exclusive** options described below. However, for a production setup of Istio,
we recommend installing with the
[Helm Chart](/docs/setup/kubernetes/helm-install/), to use all the
configuration options. This permits customization of Istio to operator specific requirements.
### Option 1: Install Istio without mutual TLS authentication between sidecars
@ -160,17 +165,23 @@ The uninstall deletes the RBAC permissions, the `istio-system` namespace, and
all resources hierarchically under it. It is safe to ignore errors for
non-existent resources because they may have been deleted hierarchically.
If you installed Istio with `istio-demo.yaml`:
* If you installed Istio with `istio-demo.yaml`:
{{< text bash >}}
$ kubectl delete -f install/kubernetes/istio-demo.yaml
{{< /text >}}
{{< text bash >}}
$ kubectl delete -f install/kubernetes/istio-demo.yaml
{{< /text >}}
If you installed Istio with `istio-demo-auth.yaml`:
* If you installed Istio with `istio-demo-auth.yaml`:
{{< text bash >}}
$ kubectl delete -f install/kubernetes/istio-demo-auth.yaml
{{< /text >}}
{{< text bash >}}
$ kubectl delete -f install/kubernetes/istio-demo-auth.yaml
{{< /text >}}
If you didn't install Istio with `istio.yaml`, follow the [uninstall Istio with
* If you installed Istio with Helm, follow the [uninstall Istio with
Helm](/docs/setup/kubernetes/helm-install/#uninstall) steps.
* If desired, delete the CRDs using kubectl:
{{< text bash >}}
$ kubectl delete -f install/kubernetes/helm/istio/templates/crds.yaml -n istio-system
{{< /text >}}

View File

@ -6,18 +6,30 @@ keywords: [kubernetes,upgrading]
---
This page 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 downtime, please ensure your Istio control plane components and your applications are highly available
with multiple replicas.
The upgrade process may install new binaries and may change configuration and API schemas. The upgrade process
may result in service downtime. To minimize downtime, please ensure your Istio control plane components and your applications
are highly available with multiple replicas.
In the following steps, we assume that the Istio components are installed and upgraded in the `istio-system` namespace.
## Control plane upgrade
## Upgrade steps
1. [Download the new Istio release](/docs/setup/kubernetes/download-release/)
and change directory to the new release directory.
1. Upgrade Istio's [Custom Resource Definitions](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions)
via `kubectl apply`, and wait a few seconds for the CRDs to be committed in the kube-apiserver:
{{< text bash >}}
$ kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml -n istio-system
{{< /text >}}
### Control plane upgrade
The Istio control plane components include: Citadel, Ingress gateway, Egress gateway, Pilot, Policy, Telemetry and
Sidecar injector.
### Helm upgrade
#### Helm upgrade
If you installed Istio with [Helm](/docs/setup/kubernetes/helm-install/#option-2-install-with-helm-and-tiller-via-helm-install) the preferred upgrade option is to let Helm take care of the upgrade:
@ -25,7 +37,7 @@ If you installed Istio with [Helm](/docs/setup/kubernetes/helm-install/#option-2
$ helm upgrade istio install/kubernetes/helm/istio --namespace istio-system
{{< /text >}}
### Kubernetes rolling update
#### Kubernetes rolling update
You can also use Kubernetes rolling update mechanism to upgrade the control plane components. This is suitable for cases when Istio hasn't been installed using Helm.
@ -62,7 +74,7 @@ your Istio control plane should be updated to the new version. Your existing app
any change, using the Envoy v1 proxy and the v1alpha1 route rules. If there is any critical issue with the new control plane,
you can rollback the changes by applying the yaml files from the old version.
## Sidecar upgrade
### Sidecar upgrade
After the control plane upgrade, the applications already running Istio will still be using an older sidecar. To upgrade the sidecar,
you will need to re-inject it.