Skip to content

Conversation

iRaindrop
Copy link
Contributor

@iRaindrop iRaindrop commented Sep 26, 2025

Write an Aministration Overview and finish up high-level remaining tasks for install docs.

Proposed Changes

  • Add Administration Overview to the doc set. Summarize task areas for a Knative admin with links.

Craft an Amin Overview and finish up high-level remaining tasks for install docs.
Copy link

knative-prow bot commented Sep 26, 2025

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: iRaindrop
Once this PR has been reviewed and has the lgtm label, please assign creydr for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@knative-prow knative-prow bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Sep 26, 2025
@iRaindrop iRaindrop marked this pull request as draft September 26, 2025 21:12
@knative-prow knative-prow bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 26, 2025
Copy link

netlify bot commented Sep 26, 2025

Deploy Preview for knative ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit 2d969a0
🔍 Latest deploy log https://app.netlify.com/projects/knative/deploys/68e995dddb8cc3000814e21c
😎 Deploy Preview https://deploy-preview-6412--knative.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Wrote up admin tasks and interests by categories
@knative-prow knative-prow bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Sep 29, 2025
Changed H1 to include "Knative"
Link testing and de-emphasizing tables
indented bullets test
Settling on combo or paras with lins and minimal bulleted lists
Worked on Configurations section
Worked on the Monitoring and Observability section
@knative-prow knative-prow bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Oct 1, 2025
Finished initial write-up for each section
Added blog links (as a test)
@iRaindrop iRaindrop changed the title Admin and Install docs Admin overview doc Oct 2, 2025
Copy link
Member

@evankanderson evankanderson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This reads more like a table of contents than an overview, at the moment.

Looking at I'm noticing that right now it's largely an exposition of the left-hand nav (or desired left-hand nav), which doesn't feel like the best use of reading time.

If you look at https://knative.dev/docs/, it starts out with "what this document is about".

In this case, I think the document is about something like:

Knative consists of several on-cluster components alongside client tools like kn and func. This page explains how to install and manage Knative on an existing Kubernetes cluster. It assumes that you are generally familiar with Kubernetes, Kubernetes administration, the kubectl command, and have at least some familiarity with the larger CNCF ecosystem. Additionally, it assumes that you have the ability to install software and manage resources in all clusters in the namespace (cluster-admin permissions, or equivalent). When you've finished, you will understand the different Knative components, their roles, the Knative philosophy, and how to enable your cluster's users to develop using Knative.

Copy link

@dwelsch-esi dwelsch-esi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@iRaindrop, @evankanderson

Comments and suggestions added. Happy to answer questions or explain my reasoning if you have questions. Please respond in the PR.

If I contradict the style guide, go with the style guide.

Processed most reviewer edits
Added "YAML and CLI installations compared" section
Copy link

@dwelsch-esi dwelsch-esi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Admin table is a good organizational aid.

Page headings don't match the left-sidebar TOC entries:
Administration -> Installing Knative
Administration overview -> Overview
Install Knative with YAML -> About YAML-based installation
etc.

Copy link
Member

@evankanderson evankanderson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this is starting to look better, sorry about the big pile of comments, but it seemed useful at this point to get closer to the details.

Processed reviwer edits
@dprotaso
Copy link
Member

dprotaso commented Oct 8, 2025

With the other PR merged are any changes in this PR still necessary?

@knative-prow-robot knative-prow-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 8, 2025
Edits per repurposing
@knative-prow knative-prow bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Oct 9, 2025
@iRaindrop iRaindrop marked this pull request as ready for review October 9, 2025 17:00
@knative-prow knative-prow bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 9, 2025
@knative-prow knative-prow bot requested a review from mmejia02 October 9, 2025 17:01
@knative-prow-robot knative-prow-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 9, 2025
Set admin-overview.md as the top topic
Removed section that will be doc'd elsewhere
Single edit "messaging implementation"
- In-memory (internal no-dependency option)
- Kafka (in-order, high-thoughput but moderate complexity)
- RabbitMQ (configurable order, moderate throughput and complexity)
- NATS (low complexity)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Below this, I think there's at least one section on the Knative model for a cluster, which generally matches the Kubernetes model:

  • Each application or developer team is assigned a namespace. Developers generally have the ability to create / edit resources within that namespace.
  • Namespaces should generally act as independent units. This can be enforced with tools like RBAC, quota, and policy.
  • Without substantial Kubernetes planning, namespaces are a soft isolation boundary between teams. See the threat model for more details about security between users on the same cluster.
  • Developers often need access to additional resources related to their namespace in other services, such as observability (logs, metrics, tracing) and dashboards (e.g. Grafana / Backstage). It's expected that the administrator will provision this access alongside creating the namespace and assigning permissions.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if there's another section or not. I tend to like threes, but I'm not sure I have a third important part at the moment.

Moved install content from administer/admin-overiview.md into the install/README.md
@knative-prow knative-prow bot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Oct 10, 2025
Installation content all in README.md - admin-overview.md emptied with placeholder
Reset overview to README.md
Fixed Nav error
Fixed broken links
Copy link
Member

@evankanderson evankanderson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I actually liked the idea of having a of the larger context around how & why of running Knative separate from the "get it done" installation documentation.

Also, it looks like admin-overview.md is orphaned (not in the nav) in this PR. Does it make sense to keep it separate from administer/README.md, or do the two serve the same purpose?


To simplify Knative installation and administration, you can use the Knative Operator with the Knative `kn` CLI tool, but they are not required. Essentially, Knative aims to extend Kubernetes, and build on existing capabilities where feasible.

Knative has three components: Eventing, Serving, and Functions. Serving and Eventing are installed into clusters. Functions is not installed into clusters because it is operated by the client `func` CLI tool.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to duplicate line 11 with only slightly more clarity. Merge this with that paragraph?

- Using cluster-admin permissions or equivalent to to install software and manage resources in all clusters in the namespace. For information about permissions, see [Using RBAC Authorization](https://kubernetes.io/docs/reference/access-authn-authz/rbac/AC).
- Familiarity with Cloud Native Computing Foundation (CNCF) projects such as Prometheus, Istio, and Strimzi, many of which can be used alongside Knative, is recommended.

To simplify Knative installation and administration, you can use the Knative Operator with the Knative `kn` CLI tool, but they are not required. Essentially, Knative aims to extend Kubernetes, and build on existing capabilities where feasible.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The second sentence doesn't really summarize the first, so "essentially" doesn't seem to fit here. I'm wondering if these two sentences are part of the same paragraph at this point.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed the second sentence "Essentiall, ... " It's a good insight and will be used elsewhere.

Comment on lines 26 to 28
Serving and Eventing support multiple underlying transports plugins within the same cluster. Serving supports pods with pluggable network ingress routes, and Eventing supports pods with pluggable message transports (e.g. Kafka, RabbitMQ).

Knative has default lightweight messaging implementation if you don't already have a solution. Knative also has Kourier, a default lightweight HTTP routing implementation, if you don't already have an ingress that meets the requirements.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the purpose of this document? These paragraphs seem to be a discursion from the "how-to" style of much of the document.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see what you mean - good insight but better in another topic.


- Use a [YAML-based installation](/install/yaml-install/README.md) with `kubectl`.

This option is the most useful if you're using delivery solutions such as Flux or ArgoCD to apply manifests checked into a Git repository. This is the lowest common denominator approach, giving you granular control of the process and resource definitions.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
This option is the most useful if you're using delivery solutions such as Flux or ArgoCD to apply manifests checked into a Git repository. This is the lowest common denominator approach, giving you granular control of the process and resource definitions.
This option is the most useful if you use GitOps tools such as Flux or ArgoCD to apply manifests checked into a Git repository. This is the lowest common denominator approach, giving you granular control of the process and resource definitions.


- Install the [Knative Operator](/install/operator/knative-with-operators.md) using Manifests or Helm, and then use `kubectl` to install Knative components.

This option alleviates complexity by using the Knative Operator, while still enabling purpose-built manageability using popular tools. It also gives you a separation of the core Knative application definition and the ConfigMap and other changes you make.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure what "purpose-built manageability using popular tools" means. If we mean "is compatible with a GitOps approach" or "deployment using Flux or ArgoCD", we should say that.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

chose GitHub approach


For details, see [YAML and Knative Operator installations compared](#yaml-and-knative-operator-installations-compared).

Knative supports subsequent installs after the initial installation, you so your initial choices don't lock you in. For example, you can migrate from one message transport or network ingress to another without losing messages.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Knative supports subsequent installs after the initial installation, you so your initial choices don't lock you in. For example, you can migrate from one message transport or network ingress to another without losing messages.
Knative supports installing additional plugins after the initial installation, you so your initial choices don't lock you in. For example, you can migrate from one message transport or network ingress to another without losing messages.

| You can see exactly what you get. | You specify choices at a higher level. |
| You can adjust any parameters by editing them directly. | Not every setting is exposed. |
| If you make changes, you have to keep track of what you changed when you want to upgrade. | It's easy to separate your customizations from the base installation. |
| Version and audit control as YAML files are stored in a GitHub repository.| No version or audit control. |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As mentioned in a previous comment, it's still possible to perform version and audit control on the Knative Operator, but it also enables a simple command-driven approach.

Suggested change
| Version and audit control as YAML files are stored in a GitHub repository.| No version or audit control. |
| Manage Kubernetes manifests using your existing tools. | Manage custom resources using command-line tools or manifests. |

Networking plugins:

- Kourier
Data management from [Kore Technologies](https://koretech.com) with has a internal no-dependency option.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This link is wrong. Kourier is a lightweight ingress which leverages Envoy proxy.

https://github.com/knative-extensions/net-kourier

Comment on lines 118 to 119
- Courier
General-purpose ingress.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I probably screwed up the name at some point, but this should be:

Suggested change
- Courier
General-purpose ingress.
- [Contour](https://projectcontour.io/)
General-purpose ingress with a goal of enabling multi-team delegation.

- NATS
An event streaming platform from [NATS](https://nats.io). Low complexity.

Knative has an in-memory and internal no-dependency messaging option.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Knative has an in-memory and internal no-dependency messaging option.
Knative Eventing also includes a no-dependency in-memory (non-durable) messaging implementation.

Processed reviewer edits
More link fixes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants