Code Monkey home page Code Monkey logo

knative / docs Goto Github PK

View Code? Open in Web Editor NEW
4.4K 104.0 1.2K 92.81 MB

User documentation for Knative components.

Home Page: https://knative.dev/docs/

License: Other

Go 10.62% JavaScript 22.19% Rust 1.65% Java 6.02% Shell 8.93% Dockerfile 9.42% CSS 3.84% Elixir 7.03% HTML 20.48% Haskell 0.20% Clojure 0.23% Dart 0.31% Swift 0.31% R 0.16% Python 3.63% TypeScript 0.94% C# 3.78% Kotlin 0.17% PHP 0.03% Ruby 0.06%
kubernetes istio serverless faas paas documentation knative hacktoberfest

docs's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs's Issues

Add a diagram for knative architecture

Otherwise anyone who installs it without seeing a diagram is going to get really scared and overwhelmed with:

$ kubectl apply -f https://storage.googleapis.com/knative-releases/latest/release.yaml
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
namespace/knative-build configured
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
clusterrole.rbac.authorization.k8s.io/knative-build-admin configured
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
serviceaccount/build-controller configured
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
clusterrolebinding.rbac.authorization.k8s.io/build-controller-admin configured
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
customresourcedefinition.apiextensions.k8s.io/builds.build.knative.dev configured
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
customresourcedefinition.apiextensions.k8s.io/buildtemplates.build.knative.dev configured
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
service/build-controller configured
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
service/build-webhook configured
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
configmap/config-logging configured
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
deployment.apps/build-controller configured
Warning: kubectl apply should be used on resource created by either kubectl create --save-config or kubectl apply
deployment.apps/build-webhook configured
namespace/knative-serving created
clusterrole.rbac.authorization.k8s.io/knative-serving-admin created
clusterrole.rbac.authorization.k8s.io/knative-serving-write created
serviceaccount/controller created
serviceaccount/autoscaler created
clusterrolebinding.rbac.authorization.k8s.io/knative-serving-controller-admin created
clusterrolebinding.rbac.authorization.k8s.io/knative-serving-autoscaler-write created
gateway.networking.istio.io/knative-shared-gateway created
service/knative-ingressgateway created
deployment.extensions/knative-ingressgateway created
horizontalpodautoscaler.autoscaling/knative-ingressgateway created
customresourcedefinition.apiextensions.k8s.io/configurations.serving.knative.dev created
customresourcedefinition.apiextensions.k8s.io/revisions.serving.knative.dev created
customresourcedefinition.apiextensions.k8s.io/routes.serving.knative.dev created
customresourcedefinition.apiextensions.k8s.io/services.serving.knative.dev created
service/activator-service created
service/controller created
service/webhook created
deployment.apps/activator created
configmap/config-autoscaler created
configmap/config-domain created
configmap/config-logging created
configmap/config-network created
configmap/config-observability created
deployment.apps/controller created
deployment.apps/webhook created
namespace/monitoring created
configmap/fluentd-ds-config created
configmap/scaling-config created
configmap/grafana-dashboard-definition-istio created
configmap/grafana-dashboard-definition-mixer created
configmap/grafana-dashboard-definition-pilot created
serviceaccount/fluentd-ds created
clusterrole.rbac.authorization.k8s.io/fluentd-ds created
clusterrolebinding.rbac.authorization.k8s.io/fluentd-ds created
daemonset.apps/fluentd-ds created
serviceaccount/kube-state-metrics created
role.rbac.authorization.k8s.io/kube-state-metrics-resizer created
rolebinding.rbac.authorization.k8s.io/kube-state-metrics created
clusterrole.rbac.authorization.k8s.io/kube-state-metrics created
clusterrolebinding.rbac.authorization.k8s.io/kube-state-metrics created
deployment.extensions/kube-state-metrics created
service/kube-state-metrics created
configmap/grafana-dashboard-definition-kubernetes-deployment created
configmap/grafana-dashboard-definition-kubernetes-capacity-planning created
configmap/grafana-dashboard-definition-kubernetes-cluster-health created
configmap/grafana-dashboard-definition-kubernetes-cluster-status created
configmap/grafana-dashboard-definition-kubernetes-control-plane-status created
configmap/grafana-dashboard-definition-kubernetes-resource-requests created
configmap/grafana-dashboard-definition-kubernetes-nodes created
configmap/grafana-dashboard-definition-kubernetes-pods created
configmap/grafana-dashboard-definition-kubernetes-statefulset created
serviceaccount/node-exporter created
clusterrole.rbac.authorization.k8s.io/node-exporter created
clusterrolebinding.rbac.authorization.k8s.io/node-exporter created
daemonset.extensions/node-exporter created
service/node-exporter created
service/elasticsearch-logging created
serviceaccount/elasticsearch-logging created
clusterrole.rbac.authorization.k8s.io/elasticsearch-logging created
clusterrolebinding.rbac.authorization.k8s.io/elasticsearch-logging created
statefulset.apps/elasticsearch-logging created
deployment.apps/kibana-logging created
service/kibana-logging created
service/fluentd-ds created
configmap/grafana-dashboard-definition-knative-efficiency created
configmap/grafana-dashboard-definition-knative created
configmap/grafana-datasources created
configmap/grafana-dashboards created
service/grafana created
deployment.apps/grafana created
logentry.config.istio.io/requestlog created
fluentd.config.istio.io/requestloghandler created
rule.config.istio.io/requestlogtofluentd created
metric.config.istio.io/revisionrequestcount created
metric.config.istio.io/revisionrequestduration created
metric.config.istio.io/revisionrequestsize created
metric.config.istio.io/revisionresponsesize created
prometheus.config.istio.io/revisionpromhandler created
rule.config.istio.io/revisionpromhttp created
service/zipkin created
deployment.extensions/zipkin created
service/kube-controller-manager created
service/prometheus-system-discovery created
configmap/prometheus-scrape-config created
serviceaccount/prometheus-system created
role.rbac.authorization.k8s.io/prometheus-system created
role.rbac.authorization.k8s.io/prometheus-system created
role.rbac.authorization.k8s.io/prometheus-system created
role.rbac.authorization.k8s.io/prometheus-system created
clusterrole.rbac.authorization.k8s.io/prometheus-system created
rolebinding.rbac.authorization.k8s.io/prometheus-system created
rolebinding.rbac.authorization.k8s.io/prometheus-system created
rolebinding.rbac.authorization.k8s.io/prometheus-system created
rolebinding.rbac.authorization.k8s.io/prometheus-system created
clusterrolebinding.rbac.authorization.k8s.io/prometheus-system created
service/prometheus-system-np created
statefulset.apps/prometheus-system created
logentry.config.istio.io/requestlog unchanged
fluentd.config.istio.io/requestloghandler unchanged
rule.config.istio.io/requestlogtofluentd unchanged
metric.config.istio.io/revisionrequestcount unchanged
metric.config.istio.io/revisionrequestduration unchanged
metric.config.istio.io/revisionrequestsize unchanged
metric.config.istio.io/revisionresponsesize unchanged
prometheus.config.istio.io/revisionpromhandler unchanged
rule.config.istio.io/revisionpromhttp unchanged

Create build tests

"build tests" in this context is not restricted to code, might even include checking markdown file formatting.

Add a common license footer for docs

Confirmed with counsel, and we have a recommended way of communicate the license on docs, including docs which contain inline code samples. In addition to the top-level LICENSE file in the repository containing the text of the Apache License 2.0 (already done), we should add the following footer to each doc:

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License.

In Markdown, just copy the following text verbatim:

Except as otherwise noted, the content of this page is licensed under the
[Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/),
and code samples are licensed under the
[Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0).

Cannot deploy container image from Google Cloud Container Registry

I followed the Knative on GKE installation steps: https://github.com/knative/docs/blob/master/install/Knative-with-GKE.md

I then built a container image and put it in Google Container Registry, in the same project as my cluster.

If I make public the GCS bucket that hosts my container images, then I can successfully deploy.

Name:         rendertest
Namespace:    default
Labels:       <none>
Annotations:  kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"serving.knative.dev/v1alpha1","kind":"Service","metadata":{"annotations":{},"name":"rendertest","namespace":"def
ault"},"spec":{"runLates...
API Version:  serving.knative.dev/v1alpha1
Kind:         Service
Metadata:
  Cluster Name:
  Creation Timestamp:  2018-07-13T22:14:46Z
  Generation:          1
  Resource Version:    420159
  Self Link:           /apis/serving.knative.dev/v1alpha1/namespaces/default/services/rendertest
  UID:                 26851c1c-86ea-11e8-96fc-42010a8a0010
Spec:
  Generation:  1
  Run Latest:
    Configuration:
      Revision Template:
        Metadata:
          Creation Timestamp:  <nil>
        Spec:
          Concurrency Model:  Multi
          Container:
            Env:
              Name:   TARGET
              Value:  Go Sample v1
            Image:    gcr.io/demo-project/render
            Name:
            Resources:
Status:
  Conditions:
    Last Transition Time:        2018-07-13T22:14:55Z
    Message:                     Revision "rendertest-00001" failed with message: "DENIED: \"Permission denied for \\\"latest\\\" from request \\\"/v2/demo-project/render/manifests/late
st\\\". \"".
    Reason:                      RevisionFailed
    Status:                      False
    Type:                        ConfigurationsReady
    Last Transition Time:        2018-07-13T22:15:16Z
    Message:                     Latest Revision of Configuration "rendertest" is deleted.
    Reason:                      RevisionMissing
    Status:                      False
    Type:                        RoutesReady
    Last Transition Time:        2018-07-13T22:29:27Z
    Message:                     Latest Revision of Configuration "rendertest" is deleted.
    Reason:                      RevisionMissing
    Status:                      False
    Type:                        Ready
  Domain:                        rendertest.default.live-demo.net
  Latest Created Revision Name:  rendertest-00001
  Observed Generation:           1
Events:                          <none>

Autoscale, knative-routing, and telemetry sample refers to missing Dockerfile

Expected Behavior

This step would work https://github.com/knative/docs/blob/master/serving/samples/autoscale-go/README.md#setup.

Actual Behavior

Looks like the Dockerfile was dropped during the repo move.

Steps to Reproduce the Problem

Try https://github.com/knative/docs/blob/master/serving/samples/autoscale-go/README.md, at the Setup step (https://github.com/knative/docs/blob/master/serving/samples/autoscale-go/README.md#setup)

Additional Info

google-prow-robot does not have sufficient permissions in this repository.

The Prow robot cannot modify labels in this repository.

error adding label to knative/docs PR #17: status code 403 not one of [200], body: {
"message":"Must have admin rights to Repository.",
"documentation_url":"https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue"}

Since the bot has appropriate permissions in other repos in this org, this suggests that the bot permissions are being configured individually for each repo in the knative org instead of being set org wide.
Please give the bot 'admin' permissions to the org so that it has the permissions it needs on all repos including newly created ones.

@adrcunha

Waiting forever for ingress

In this section of the "Knative the easy way (with Minikube)" doc, there are the following instructions:

Wait for the ingress to get created. This may take a few seconds. You can check by running:

kubectl get ing --watch

In fact, even after an hour, no Ingress resource exists anywhere in the entire cluster.

It goes without saying that subsequent steps that involve that resource, such as this one, also fail:

export SERVICE_HOST=`kubectl get ing primer-ingress \
 -o jsonpath="{.spec.rules[0]['host']}"`

fwiw, this broke within the last week or so.

Need Knative configuration instructions

Expected Behavior

When I want to make configuration for some new code or behavior, I need guidance on where to put it.

Additional Info

There are several places to put configuration currency:

Various config maps (scaling, observability, domain/routing)
binary flags in code + controller flags

We need guidance about which one to use, and why.

Add what's not working section

Add some documentation about what we know is not working, but which we intend to address in the future. (I.e. "known gaps")

Some examples:

  • SSL configuration
  • SSL provisioning
  • DNS integration

"Setting up a Custom Domain" example differs from what I got after a fresh install

apiVersion: v1
data:
  # These are example settings of domain.
  # example.org will be used for routes having app=prod.
  example.org: |
    selector:
      app: prod

  # Default value for domain, for routes that does not have app=prod labels.
  # Although it will match all routes, it is the least-specific rule so it
  # will only be used if no other domain matches.
  example.com: ""
kind: ConfigMap
[...]

is not what I got, I got:

apiVersion: v1
data:
  example.com: ""
kind: ConfigMap
[...]

Rename `helloworld-*` samples to `hellogcp-$1`

Expected Behavior

helloworld should work in any Knative environment.

Actual Behavior

helloworld requires gcloud and a GCP account.

Steps to Reproduce the Problem

  1. attempt to deploy any of the sample-* applications without a GCP account

Additional Info

It's good to have samples that use GCP, but they should be labeled as such and not presented as a generic helloworld sample.

Something without 8 Gi

We need to be able to do something basic with one component of knative without needing 8 Gi to run minikube.

As crazy as it sounds to some, a lot of people do not have 8 Gi to spare on their machine.

Create unit tests

"unit tests" in this context is not restricted to code, might even include linting markdown files.

Two issues in Knative-with-Minikube.md

Expected Behavior

All steps in the document work to install Knative on minikube

Actual Behavior

There are two mistakes in the document:

In the Knative section there is a reference in the text to https://storage.googleapis.com/elafros-releases/latest/release-lite.yaml which doesn't exist. The kubectl apply -f command uses the correct URL to the YAML file.

The command to wait for Knative resources to be ready uses the wrong namespace. The document currently says to execute kubectl get pods -n knative-serving-system --watch, but the correct command is kubectl get pods -n knative-serving --watch. When using the wrong namespace, the command returns nothing, since the knative-serving-system namespace does not exist.

Steps to Reproduce the Problem

  1. Follow the steps in the document
  2. When you run the kubectl get pods -n knative-serving-system --watch command, there will be no output

Additional Info

Samples: README files duplicate the sample files

Most of the README of our samples are duplicating the sample files by embedding source code.

This requires us to keep them in sync, which is error prone if nothing is here to enforce it.

I instead recommend to not copy the sample content inside the README files, and only link to the files.

Create repo readme page

... to highlight the repo structure, main content elements (how-tos vs samples) and best places to start for each

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.