@@ -3,6 +3,7 @@ title: "Performing a Custom Knative Installation"
33linkTitle : " Customizing your install"
44weight : 15
55type : " docs"
6+ markup : " mmark"
67---
78
89Use this guide to perform a custom installation of Knative on an existing
@@ -19,8 +20,7 @@ to run multiple installation commands.
1920 [ follow one of the platform-specific installation guides] ( ./README.md ) to help
2021 you get up and running quickly.
2122
22- - The steps in this guide use ` bash ` for the MacOS or Linux environment; for
23- Windows, some commands might need adjustment.
23+ - The steps in this guide use ` bash ` for the MacOS or Linux environment.
2424
2525- This guide assumes that you have an existing Kubernetes cluster, on which
2626 you're comfortable installing and running _ alpha_ level software.
@@ -31,17 +31,12 @@ to run multiple installation commands.
3131## Installing Istio
3232
3333Knative depends on [ Istio] ( https://istio.io/docs/concepts/what-is-istio/ ) for
34- traffic routing and ingress. You have the option of injecting Istio sidecars and
35- enabling the Istio service mesh, but it's not required for all Knative
36- components.
34+ traffic routing and ingress.
3735
3836If your cloud platform offers a managed Istio installation, we recommend
39- installing Istio that way, unless you need the ability to customize your
40- installation.
37+ installing Istio that way.
4138
42- If you prefer to install Istio manually, if your cloud provider doesn't offer a
43- managed Istio installation, or if you're installing Knative locally using
44- Minkube or similar, see the
39+ If you prefer to install Istio manually, see the
4540[ Installing Istio for Knative guide] ( ./installing-istio.md ) .
4641
4742> Note: [ Ambassador] ( ./Knative-with-Ambassador.md ) and
@@ -50,14 +45,7 @@ Minkube or similar, see the
5045## Installing Knative components
5146
5247Each Knative component must be installed individually. You can decide which
53- components and observability plugins to install based on what you plan to do
54- with Knative.
55-
56- > ** Note** : If your install fails on the first attempt, try rerunning the
57- > commands. They will likely succeed on the second attempt. For background info
58- > and to track the upcoming solution to this problem, see issues
59- > [ #968 ] ( https://github.com/knative/docs/issues/968 ) and
60- > [ #1036 ] ( https://github.com/knative/docs/issues/1036 ) .
48+ components to install based on what you plan to do with Knative.
6149
6250### Choosing Knative installation files
6351
@@ -181,112 +169,109 @@ for details about installing the various supported observability plugins.
181169
182170### Installing Knative
183171
184- ** Tip** : From the table above, copy and paste the URL and filename into the
185- commands below.
186-
187- 1 . To install Knative components or plugins, specify the filenames in the
188- ` kubectl apply ` command. To prevent install failures due to race conditions,
189- run the install command first with the ` -l knative.dev/crd-install=true `
190- flag, then a second time without the selector flag.
191-
192- 1 . Install only the CRDs by using the
193- ` --selector knative.dev/crd-install=true ` flag:
194-
195- ``` bash
196- kubectl apply --selector knative.dev/crd-install=true \
197- --filename [FILE_URL] \
198- --filename [FILE_URL]
199- ```
172+ To install Knative components or plugins, you specify and then run their
173+ filenames in the ` kubectl apply ` command. To prevent race conditions, you
174+ first create the CRD by using the ` -l knative.dev/crd-install=true ` flag.
200175
201- 1. Remove ` --selector knative.dev/crd-install=true ` and then run the command
202- again to install the actual components or plugins:
203-
204- ` ` ` bash
205- kubectl apply --filename [FILE_URL] \
206- --filename [FILE_URL]
207- ` ` `
208-
209- You can add as many ` --filename [FILE_URL]` flags to your commands as
210- needed.
211-
212- Syntax :
176+ Tip: From the table above, copy and paste the URL and filename into the
177+ commands below.
178+
179+ 1 . Install the component or plugin:
180+
181+ 1 . Create the ` URL ` variable and specify the path to the Knative component or plugin
182+ that you want to install:
183+ ``` bash
184+ URL= [FILE_URL]
185+ ```
186+ Where ` [FILE_URL] ` is the URL path of a Knative component or plugin and includes
187+ the following details :
213188
214- - ` [FILE_URL]` : URL path of a Knative component or plugin:
215189 ` https://github.com/knative/[COMPONENT]/releases/download/[VERSION]/[FILENAME].yaml`
216-
190+
217191 - ` [COMPONENT]` : A Knative component repository.
218192 - ` [VERSION]` : Version number of a Knative component release.
219193 - ` [FILENAME]` : Filename of the component or plugin that you want
220194 installed.
221-
222- ` [FILE_URL]` Examples:
223-
224- - ` https://github.com/knative/serving/releases/download/{{< version > }}/serving.yaml`
225- - ` https://github.com/knative/eventing/releases/download/{{< version > }}/release.yaml`
226- - ` https://github.com/knative/serving/releases/download/{{< version > }}/monitoring.yaml`
227-
228- ** Example install commands:**
229-
230- - To install the Knative Serving component with the set of observability
231- plugins, run the following commands:
232-
233- 1. Installs the CRDs only:
195+
196+ Examples:
234197
235198 ` ` ` bash
236- kubectl apply --selector knative.dev/crd-install=true \
237- --filename https://github.com/knative/serving /releases/download/{{< version > }}/serving .yaml \
238- --filename https://github.com/knative/serving/releases/download/{{< version > }}/monitoring.yaml
199+ https://github.com/knative/serving/releases/download/{{ < version > }}/serving.yaml
200+ https://github.com/knative/eventing /releases/download/{{< version > }}/release .yaml
201+ https://github.com/knative/serving/releases/download/{{< version > }}/monitoring.yaml
239202 ` ` `
240203
241- 1. Remove the ` --selector knative.dev/crd-install=true` flag and then run
242- the command to install the Serving component and observability plugins:
243-
244- ` ` ` bash
245- kubectl apply --filename https://github.com/knative/serving/releases/download/{{< version > }}/serving.yaml \
246- --filename https://github.com/knative/serving/releases/download/{{< version > }}/monitoring.yaml
247- ` ` `
248-
249- - To install all three Knative components without an observability plugin,
250- run the following commands.
251-
252- 1. Installs the CRDs only:
253-
254- ` ` ` bash
255- kubectl apply --selector knative.dev/crd-install=true \
256- --filename https://github.com/knative/serving/releases/download/{{< version > }}/serving.yaml \
257- --filename https://github.com/knative/eventing/releases/download/{{< version > }}/release.yaml
258- ` ` `
259-
260- 1. Remove the ` --selector knative.dev/crd-install=true` flag and then run
261- the command to install all the Knative components, including the
262- Eventing resources:
263-
264- ` ` ` bash
265- kubectl apply --filename https://github.com/knative/serving/releases/download/{{< version > }}/serving.yaml \
266- --filename https://github.com/knative/eventing/releases/download/{{< version > }}/release.yaml
267- ` ` `
268-
269- 1. Depending on what you chose to install, view the status of your installation
270- by running one or more of the following commands. It might take a few
271- seconds, so rerun the commands until all of the components show a ` STATUS` of
272- ` Running` :
273-
274- ` ` ` bash
275- kubectl get pods --namespace knative-serving
276- kubectl get pods --namespace knative-eventing
277- ` ` `
278-
279- > Tip: You can append the ` --watch` flag to the ` kubectl get` commands to
280- > view the pod status in realtime. You use ` CTRL + C` to exit watch mode.
281-
282- 1. If you installed an observability plugin, run the following command to ensure
283- that the necessary ` knative-monitoring` pods show a ` STATUS` of ` Running` :
204+ 1. Install only the CRD by using the ` --selector knative.dev/crd-install=true` flag:
205+ ` ` ` bash
206+ kubectl apply --selector knative.dev/crd-install=true \
207+ --filename ${URL}
208+ ` ` `
209+
210+ 1. Install the actual component or plugin by running the command without the
211+ ` --selector knative.dev/crd-install=true` flag:
212+ ` ` ` bash
213+ kubectl apply --filename ${URL}
214+ ` ` `
215+ Tip: To install multiple components or plugins at the same time, you can add
216+ multiple ` --filename [FILE_URL]` flags to the commands.
217+
218+ ** Example install commands:**
219+
220+ The following examples demonstrate how to install muliptle components and plugins at the same time.
221+
222+ - To install the Knative Serving component with the set of observability
223+ plugin, run the following commands:
224+
225+ 1. Installs the CRDs only:
226+ ` ` ` bash
227+ kubectl apply --selector knative.dev/crd-install=true \
228+ --filename https://github.com/knative/serving/releases/download/{{< version > }}/serving.yaml \
229+ --filename https://github.com/knative/serving/releases/download/{{< version > }}/monitoring.yaml
230+ ` ` `
231+
232+ 1. Remove the ` --selector knative.dev/crd-install=true` flag
233+ to install the actual Serving component and observability plugin:
234+ ` ` ` bash
235+ kubectl apply --filename https://github.com/knative/serving/releases/download/{{< version > }}/serving.yaml \
236+ --filename https://github.com/knative/serving/releases/download/{{< version > }}/monitoring.yaml
237+ ` ` `
238+
239+ - To install both Knative components without an observability plugin,
240+ run the following commands.
241+
242+ 1. Installs the CRDs only:
243+ ` ` ` bash
244+ kubectl apply --selector knative.dev/crd-install=true \
245+ --filename https://github.com/knative/serving/releases/download/{{< version > }}/serving.yaml \
246+ --filename https://github.com/knative/eventing/releases/download/{{< version > }}/release.yaml
247+ ` ` `
248+
249+ 1. Remove the ` --selector knative.dev/crd-install=true` flag
250+ to install all the Knative components and the Eventing resources:
251+ ` ` ` bash
252+ kubectl apply --filename https://github.com/knative/serving/releases/download/{{< version > }}/serving.yaml \
253+ --filename https://github.com/knative/eventing/releases/download/{{< version > }}/release.yaml
254+ ` ` `
255+
256+ 1. Run one or more of the following commands to ensure that your component or plugin was
257+ installed successfully. It can take a few seconds for your install to complete, so
258+ rerun the commands until you receive a ` STATUS` of ` Running` .
259+
260+ Tip: You can append the ` --watch` flag to the ` kubectl get` commands to
261+ view the pod status in realtime. You use ` CTRL + C` to exit watch mode.
262+
263+ - If you installed the Serving or Eventing component:
264+ ` ` ` bash
265+ kubectl get pods --namespace knative-serving
266+ kubectl get pods --namespace knative-eventing
267+ ` ` `
284268
285- ` ` ` bash
286- kubectl get pods --namespace knative-monitoring
287- ` ` `
269+ - If you installed an observability plugin:
270+ ` ` ` bash
271+ kubectl get pods --namespace knative-monitoring
272+ ` ` `
288273
289- See the following topics for information about installing other Knative features:
274+ For information about installing other Knative features, see the following topics :
290275
291276- [Installing logging, metrics, and traces](../serving/installing-logging-metrics-traces.md):
292277 Learn how to install and set up the various observability plugins.
0 commit comments