diff --git a/docs/install.md b/docs/install.md index 105eb66dbcb..0cd3cf23934 100644 --- a/docs/install.md +++ b/docs/install.md @@ -7,10 +7,10 @@ Kubernetes 1.9 or higher clusters run the [API Aggregator](https://kubernetes.io/docs/concepts/api-extension/apiserver-aggregation/), which is a specialized proxy server that sits in front of the core API Server. -Service Catalog provides an API server that sits behind the API aggregator, +Service Catalog provides an API server that sits behind the API aggregator, so you'll be using `kubectl` as normal to interact with Service Catalog. -To learn more about API aggregation, please see the +To learn more about API aggregation, please see the [Kubernetes documentation](https://kubernetes.io/docs/concepts/api-extension/apiserver-aggregation/). The rest of this document details how to: @@ -22,16 +22,16 @@ The rest of this document details how to: ## Kubernetes Version -Service Catalog requires a Kubernetes cluster v1.9 or later. You'll also need a -[Kubernetes configuration file](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) -installed on your host. You need this file so you can use `kubectl` and -[`helm`](https://helm.sh) to communicate with the cluster. Many Kubernetes installation +Service Catalog requires a Kubernetes cluster v1.9 or later. You'll also need a +[Kubernetes configuration file](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) +installed on your host. You need this file so you can use `kubectl` and +[`helm`](https://helm.sh) to communicate with the cluster. Many Kubernetes installation tools and/or cloud providers will set this configuration file up for you. Please check with your tool or provider for details. ### `kubectl` Version -Most interaction with the service catalog system is achieved through the +Most interaction with the service catalog system is achieved through the `kubectl` command line interface. As with the cluster version, Service Catalog requires `kubectl` version 1.9 or newer. @@ -43,8 +43,8 @@ kubectl version Ensure that the server version and client versions are both `1.9` or above. -If you need to upgrade your client, follow the -[installation instructions](https://kubernetes.io/docs/tasks/kubectl/install/) +If you need to upgrade your client, follow the +[installation instructions](https://kubernetes.io/docs/tasks/kubectl/install/) to get a new `kubectl` binary. For example, run the following command to get an up-to-date binary on Mac OS: @@ -75,7 +75,7 @@ v2.7.0 or newer for that. See the steps below to install. ### If You Don't Have Helm Installed -If you don't have Helm installed already, +If you don't have Helm installed already, [download the `helm` CLI](https://github.com/kubernetes/helm#install) and then run `helm init` (this installs Tiller, the server-side component of Helm, into your Kubernetes cluster). @@ -85,16 +85,16 @@ Helm, into your Kubernetes cluster). If you already have Helm installed, run `helm version` and ensure that both the client and server versions are `v2.7.0` or above. -If they aren't, +If they aren't, [install a newer version of the `helm` CLI](https://github.com/kubernetes/helm#install) -and run `helm init --upgrade`. +and run `helm init --upgrade`. For more details on installation, see the [Helm installation instructions](https://github.com/kubernetes/helm/blob/master/docs/install.md). ### Tiller Permissions -Tiller is the in-cluster server component of Helm. By default, +Tiller is the in-cluster server component of Helm. By default, `helm init` installs the Tiller pod into the `kube-system` namespace, and configures Tiller to use the `default` service account. @@ -109,7 +109,7 @@ kubectl create clusterrolebinding tiller-cluster-admin \ ## Helm Repository Setup -Service Catalog is easily installed via a +Service Catalog is easily installed via a [Helm chart](https://github.com/kubernetes/helm/blob/master/docs/charts.md). This chart is located in a @@ -135,7 +135,7 @@ svc-cat/catalog x,y.z service-catalog API server and controller-manag... ## RBAC -Your Kubernetes cluster must have +Your Kubernetes cluster must have [RBAC](https://kubernetes.io/docs/admin/authorization/rbac/) enabled to use Service Catalog. @@ -143,15 +143,27 @@ Like in-cluster DNS, many installation methods should enable RBAC for you. ### Minikube -If you are using Minikube, start your cluster with this command: +When using Minikube v0.25 or older, you must run Minikube with RBAC explicitly +enabled: -```console +``` minikube start --extra-config=apiserver.Authorization.Mode=RBAC ``` +When using Minikube v0.26+, run the following command: + +``` +minikube start +``` + +With Minikube v0.26+, do not specify `--extra-config`. The +flag has since been changed to `--extra-config=apiserver.authorization-mode` and +Minikube now uses RBAC by default. Specifying the older flag may cause the +start command to hang. + ### `hack/local-cluster-up.sh` -If you are using the +If you are using the [`hack/local-up-cluster.sh`](https://github.com/kubernetes/kubernetes/blob/master/hack/local-up-cluster.sh) script in the Kubernetes core repository, start your cluster with this command: @@ -166,7 +178,7 @@ check with your provider's documentation for details. # Step 2 - Install Service Catalog -Now that your cluster and Helm are configured properly, installing +Now that your cluster and Helm are configured properly, installing Service Catalog is simple: ```console @@ -186,7 +198,7 @@ our canary (master) builds, and tags using the following prefixes: * Tagged releases: https://download.svcat.sh/cli/VERSION where `VERSION` is the release, for example `v0.1.20`. * Canary builds: https://download.svcat.sh/cli/canary -* Previous canary builds: https://download.svcat.sh/cli/VERSION-GITDESCRIBE +* Previous canary builds: https://download.svcat.sh/cli/VERSION-GITDESCRIBE where `GITDESCRIBE` is the result of calling `git describe --tags`, for example `v0.1.20-1-g203c8ad`. ## MacOS with Homebrew