Skip to content

Commit 5fc25bc

Browse files
Dan Gerdesmeierknative-prow-robot
authored andcommitted
Update Custom Knative Installation page (#2003)
* Update Custom Knative Installation page * Reduce verbosity * Remove reference to closed issues * Remove reference to Knative Serving 0.3 upgrades * Use bash variable syntax in code snippets * reorder steps to consolidate [file_url] syntax * Fix formatting (it looked right on local server) * mmark + no whitespace for nested codeblocks & no tabs
1 parent 399aa7f commit 5fc25bc

File tree

1 file changed

+96
-111
lines changed

1 file changed

+96
-111
lines changed

docs/install/Knative-custom-install.md

Lines changed: 96 additions & 111 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ title: "Performing a Custom Knative Installation"
33
linkTitle: "Customizing your install"
44
weight: 15
55
type: "docs"
6+
markup: "mmark"
67
---
78

89
Use 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

3333
Knative 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

3836
If 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

5247
Each 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

Comments
 (0)