From 065648435fe68a49ef84a933e354b4fb9809a0c5 Mon Sep 17 00:00:00 2001 From: Eric Van Norman Date: Fri, 15 Mar 2019 09:21:41 -0500 Subject: [PATCH] Rework IBM Cloud Public instructions to call common instructions (#3662) * Rework IBM Cloud public instructions to call common instructions * Review comment - further simplification * Update content/docs/setup/kubernetes/install/platform/ibm/index.md --- .../kubernetes/install/platform/ibm/index.md | 126 +----------------- .../prepare/platform-setup/ibm/index.md | 4 + 2 files changed, 6 insertions(+), 124 deletions(-) diff --git a/content/docs/setup/kubernetes/install/platform/ibm/index.md b/content/docs/setup/kubernetes/install/platform/ibm/index.md index e6740eef00..57c7e94487 100644 --- a/content/docs/setup/kubernetes/install/platform/ibm/index.md +++ b/content/docs/setup/kubernetes/install/platform/ibm/index.md @@ -22,131 +22,9 @@ To install the managed Istio add-on in IBM Cloud Public, see the [IBM Cloud Kube ## IBM Cloud Public -Follow these instructions to install and run the current release version of Istio in -[IBM Cloud Public](https://www.ibm.com/cloud/) -by using Helm and the IBM Cloud Kubernetes Service. +Follow [these instructions](/docs/setup/kubernetes/install/helm/) to install and run the current release version of Istio in [IBM Cloud Public](https://www.ibm.com/cloud/) using Helm and the IBM Cloud Kubernetes Service (IKS). -### Prerequisites - IBM Cloud Public - -- [Install the IBM Cloud CLI, the IBM Cloud Kubernetes Service plug-in, and the Kubernetes CLI](https://cloud.ibm.com/docs/containers?topic=containers-cs_cli_install). -- Istio has been tested with these Kubernetes releases: 1.11, 1.12, 1.13. If you do not have a cluster available with a tested Kubernetes version, [create or update an existing cluster to a tested version](https://cloud.ibm.com/docs/containers?topic=containers-clusters). -- Target the CLI to your cluster by running `ibmcloud ks cluster-config --export` and copying, pasting and running the command in the output. - -{{< warning >}} -Make sure to use the `kubectl` CLI version that matches the Kubernetes version of your cluster. -{{< /warning >}} - -### Initialize Helm and Tiller - -{{< boilerplate helm-security-warning >}} - -1. Install the [Helm CLI](https://docs.helm.sh/using_helm/#installing-helm). - -1. If a service account has not already been installed for Tiller, install one: - - {{< text bash >}} - $ kubectl apply -f @install/kubernetes/helm/helm-service-account.yaml@ - {{< /text >}} - -1. Initialize Helm and install Tiller: - - {{< text bash >}} - $ helm init --service-account tiller - {{< /text >}} - -### Deploy the Istio Helm charts - -1. Install the `istio-init` chart to bootstrap all the Istio CRDs: - - {{< text bash >}} - $ helm install install/kubernetes/helm/istio-init --name istio-init --namespace istio-system - {{< /text >}} - - Verify that all `58` Istio CRDs were committed to the Kubernetes api-server using the following command: - - {{< text bash >}} - $ kubectl get crds | grep 'istio.io\|certmanager.k8s.io' | wc -l - 58 - {{< /text >}} - -1. Install the Helm chart to your cluster: - - {{< tip >}} - The Istio `demo` profile (`install/kubernetes/helm/istio/values-istio-demo.yaml`) is specified in the following command to support smaller machine-typed IBM Cloud Kubernetes Service clusters. If using a cluster of sufficient size, you can remove the `--values` parameter which will use the default Istio configuration values instead. See Istio's built-in [configuration profiles](/docs/setup/kubernetes/additional-setup/config-profiles/) for a description of the available profiles. - {{< /tip >}} - - {{< text bash >}} - $ helm install install/kubernetes/helm/istio --name istio --namespace istio-system --values @install/kubernetes/helm/istio/values-istio-demo.yaml@ - {{< /text >}} - -1. Ensure the pods for the 9 Istio services and the pod for Prometheus are all fully deployed: - - {{< text bash >}} - $ kubectl get pods -n istio-system - NAME READY STATUS RESTARTS AGE - grafana-57586c685b-sjs2s 1/1 Running 0 57m - istio-citadel-754b8b478-ggf7s 1/1 Running 0 57m - istio-egressgateway-748fb48647-npjgx 1/1 Running 0 57m - istio-galley-c66f4f44c-nwb4m 1/1 Running 0 57m - istio-ingressgateway-5d444855c8-9ksvn 1/1 Running 0 57m - istio-init-crd-10-xcfqb 0/1 Completed 0 19h - istio-init-crd-11-nslct 0/1 Completed 0 19h - istio-init-crd-certmanager-10-2l8hs 0/1 Completed 0 19h - istio-pilot-6f6fff9944-twzcp 2/2 Running 0 57m - istio-policy-7b6bfcf94d-v6sr7 2/2 Running 2 57m - istio-sidecar-injector-6657dd87b9-ccg87 1/1 Running 0 57m - istio-telemetry-77d557f66-nsn87 2/2 Running 2 57m - istio-tracing-6994cd89bb-gcssk 1/1 Running 0 57m - kiali-69d6978b45-5zjzl 1/1 Running 0 57m - prometheus-5488844b5c-vwd9p 1/1 Running 0 57m - servicegraph-86b55fc8b8-k87n9 1/1 Running 0 57m - {{< /text >}} - -### Upgrade - -1. Upgrade the `istio-init` chart to keep all the [Custom Resource Definitions](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions) (CRDs) up to date. The `--install` parameter will run an install if the chart doesn't exist. - - {{< text bash >}} - $ helm upgrade --install istio-init install/kubernetes/helm/istio-init --namespace istio-system - {{< /text >}} - -1. Check that all the CRD creation jobs completed successfully to verify that the Kubernetes API server received all the CRDs. The second column is the number of completions for the job. - - {{< text bash >}} - $ kubectl get job --namespace istio-system | grep istio-init-crd - {{< /text >}} - -1. Upgrade the `istio` chart: - - {{< text bash >}} - $ helm upgrade istio install/kubernetes/helm/istio --namespace istio-system - {{< /text >}} - -### Uninstall - -1. Uninstall steps: - - {{< warning >}} - Uninstalling this chart does not delete Istio's registered CRDs. Istio, by design, expects - CRDs to leak into the Kubernetes environment. As CRDs contain all the runtime configuration - data needed to configure Istio. Because of this, we consider it better for operators to - explicitly delete the runtime configuration data rather than unexpectedly lose it. - {{< /warning >}} - - {{< text bash >}} - $ helm delete --purge istio - $ helm delete --purge istio-init - {{< /text >}} - -1. If desired, run the following command to delete all CRDs: - - {{< warning >}} - Deleting CRDs deletes any configuration changes that you have made to Istio. - {{< /warning >}} - - {{< text bash >}} - $ for i in install/kubernetes/helm/istio-init/files/crd*yaml; do kubectl delete -f $i; done - {{< /text >}} +To upgrade Istio in an existing IKS cluster, follow the [upgrade instructions](/docs/setup/kubernetes/upgrade) instead. ## IBM Cloud Private diff --git a/content/docs/setup/kubernetes/prepare/platform-setup/ibm/index.md b/content/docs/setup/kubernetes/prepare/platform-setup/ibm/index.md index 4a811b45d4..7b8edb7c1f 100644 --- a/content/docs/setup/kubernetes/prepare/platform-setup/ibm/index.md +++ b/content/docs/setup/kubernetes/prepare/platform-setup/ibm/index.md @@ -43,6 +43,10 @@ To install the managed Istio add-on in IBM Cloud Public, see the [IBM Cloud Kube $(ibmcloud ks cluster-config --export) {{< /text >}} +{{< warning >}} +Make sure to use the `kubectl` CLI version that matches the Kubernetes version of your cluster. +{{< /warning >}} + ## IBM Cloud Private [Configure `kubectl`](https://www.ibm.com/support/knowledgecenter/SSBS6K_2.1.0.3/manage_cluster/cfc_cli.html)