From 4e5e17dd31ca53cc5bcd2cbc001af9b7568803d4 Mon Sep 17 00:00:00 2001 From: Ray Zhou Date: Wed, 18 Mar 2020 15:20:34 +0800 Subject: [PATCH 1/8] logging sig dev code guide --- .../kubesphere-logging-devlopment-guide.md | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/developer-guide/development/sig-observability/kubesphere-logging-devlopment-guide.md b/developer-guide/development/sig-observability/kubesphere-logging-devlopment-guide.md index 20b14f4aa..aa8c6af56 100644 --- a/developer-guide/development/sig-observability/kubesphere-logging-devlopment-guide.md +++ b/developer-guide/development/sig-observability/kubesphere-logging-devlopment-guide.md @@ -1,60 +1,60 @@ # Logging -This documentation contains backend development guides for interaction with key components behind KubeSphere logging system. Logging backend provides the capabilities of: - - - Log search - - Log export - - Log output configuration - - Multi-tenant isolation +This documentation contains backend development guide for interaction with key components behind KubeSphere logging system. Logging backend provides the capabilities of: + +- Log search +- Log export +- Log output configuration +- Multi-tenant isolation ## File Tree The listing below covers all folders related to the logging backend. -``` +```yaml /pkg ├─api - │ └─logging # declares structs for api responses - │ └─v1alpha2 - ├─apiserver # implements handler for http requests - │ ├─logging + │ └─logging # declare structs for api responses + │ └─v1alpha2 + ├─apiserver # implement handler for http requests + │ ├─logging │ └─tenant - ├─kapis # registers APIs and routing + ├─kapis # register APIs and routing │ ├─logging │ │ ├─install │ │ └─v1alpha2 │ ├─tenant │ │ ├─install │ │ └─v1alpha2 - ├─models + ├─models │ ├─log # constants, utils and fluent-bit crd operation │ │ ├─constants.go │ │ ├─logcollector.go # some utils - │ │ ├─logcrd.go # interacts with fluent-bit crd + │ │ ├─logcrd.go # interact with fluent-bit crd │ │ └─types.go │ └─tenant └─simple - ├─factory.go # contains factory functions for es client options + ├─factory.go # contain factory functions for es client options └─client - ├─elasticsearch # wraps es search apis - │ ├─esclient.go # constructs es search body - │ ├─interface.go # general interface methods for es clients - │ ├─options.go # es client options - │ └─versions # client code by es versions + ├─elasticsearch # wrap ES search apis + │ ├─esclient.go # construct ES search body + │ ├─interface.go # general interface methods for ES clients + │ ├─options.go # ES client options + │ └─versions # client code by ES versions │ ├─v5 │ ├─v6 │ └─v7 - └─fluentbit # autogenerated client code for fluent-bit crd + └─fluentbit # autogenerated client code for fluent-bit CRD ``` ## API Design -There are two types of APIs in logging. One for log query, and the other for interacting with the CustomResourceDefinition used by [Fluent-bit Operator](https://github.com/kubesphere/fluentbit-operator). For information about CRD and Fluent-bit Operator, please go to its own repo. - +There are two types of APIs in logging, one for log query, and the other one for interacting with the CustomResourceDefinition used by [Fluent-bit Operator](https://github.com/kubesphere/fluentbit-operator). For information about CRD and Fluent-bit Operator, please go to its own repo. + To support multi-tenant isolation, KubeSphere's logging query APIs have the format like below, though the underlying logic is using Elastic Search APIs: -``` +```bash GET /namespaces/{namespace}/pods/{pod}/containers/{container} ``` -KubeSphere API gateway will decode the URL and conduct authorization. A person who doesn't belong to a namespace will be rejected to make a request. +KubeSphere API gateway will decode the URL and conduct authorization. A person who doesn't belong to a namespace will be refused to make a request. From d503101b9e55ce98905adb8effd9eeaf8831352a Mon Sep 17 00:00:00 2001 From: Ray Zhou Date: Wed, 18 Mar 2020 15:41:10 +0800 Subject: [PATCH 2/8] Update sig monitoring code guide --- .../kubesphere-logging-devlopment-guide.md | 4 ++-- ...kubesphere-monitoring-development-guide.md | 24 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/developer-guide/development/sig-observability/kubesphere-logging-devlopment-guide.md b/developer-guide/development/sig-observability/kubesphere-logging-devlopment-guide.md index aa8c6af56..370abf12e 100644 --- a/developer-guide/development/sig-observability/kubesphere-logging-devlopment-guide.md +++ b/developer-guide/development/sig-observability/kubesphere-logging-devlopment-guide.md @@ -27,10 +27,10 @@ The listing below covers all folders related to the logging backend. │ │ ├─install │ │ └─v1alpha2 ├─models - │ ├─log # constants, utils and fluent-bit crd operation + │ ├─log # constants, utils and fluent-bit CRD operation │ │ ├─constants.go │ │ ├─logcollector.go # some utils - │ │ ├─logcrd.go # interact with fluent-bit crd + │ │ ├─logcrd.go # interact with fluent-bit CRD │ │ └─types.go │ └─tenant └─simple diff --git a/developer-guide/development/sig-observability/kubesphere-monitoring-development-guide.md b/developer-guide/development/sig-observability/kubesphere-monitoring-development-guide.md index b206fc7fa..2aca32db0 100644 --- a/developer-guide/development/sig-observability/kubesphere-monitoring-development-guide.md +++ b/developer-guide/development/sig-observability/kubesphere-monitoring-development-guide.md @@ -1,32 +1,32 @@ # Monitoring -This documentation contains backend development guides for interaction with Prometheus. The monitoring backend provides the capabilities of: +This documentation contains backend development guide for interaction with Prometheus. The monitoring backend provides the capabilities of: - - Metrics query - - Metrics sorting - - Multi-tenant isolation +- Metrics query +- Metrics sorting +- Multi-tenant isolation ## File Tree The listing below covers all folders related to the monitoring backend. -``` +```yaml /pkg ├─api - │ └─monitoring # declares structs for api responses + │ └─monitoring # declare structs for api responses │ └─v1alpha2 - ├─apiserver # implements handler for http requests + ├─apiserver # implement handler for http requests │ └─monitoring - ├─kapis # registers APIs and routing + ├─kapis # register APIs and routing │ └─monitoring │ ├─install │ └─v1alpha2 ├─models │ └─metrics │ ├─constants.go - │ ├─metrics.go # proxies prometheus metrics query + │ ├─metrics.go # proxy prometheus metrics query │ ├─metrics_rules.go # promql expressions for builtin metrics - │ ├─namespaces.go # appends metric info to namespace resource request + │ ├─namespaces.go # append metric info to namespace resource request │ ├─types.go │ └─util.go # metrics sorting └─simple @@ -41,9 +41,9 @@ The listing below covers all folders related to the monitoring backend. To support multi-tenant isolation, the monitoring backend proxies Prometheus query requests. KubeSphere's APIs have the format like below: -``` +```bash GET /namespaces/{namespace}/pods GET /namespaces/{namespace}/pods/{pod} ``` -KubeSphere API gateway will decode the URL and conduct authorization. A person who doesn't belong to a namespace will be rejected to make a request. Besides, note that the two examples above have slightly different meanings. The first is to retrieve all pod-level metrics in the namespace, while the latter is for a specific pod. +KubeSphere API gateway will decode the URL and conduct authorization. A person who doesn't belong to a namespace will be refused to make a request. Besides, note that the two examples above have slightly different meanings. The first is to retrieve all pod-level metrics in the namespace, while the latter is for a specific pod. From 01e2df6695276f75040aa7054b6699c6bb9f4979 Mon Sep 17 00:00:00 2001 From: Ray Zhou Date: Wed, 18 Mar 2020 15:47:40 +0800 Subject: [PATCH 3/8] update concepts and designs doc --- developer-guide/concepts-and-designs/README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/developer-guide/concepts-and-designs/README.md b/developer-guide/concepts-and-designs/README.md index 0dbb1dea3..e2bbdf439 100644 --- a/developer-guide/concepts-and-designs/README.md +++ b/developer-guide/concepts-and-designs/README.md @@ -8,19 +8,19 @@ Concepts and Designs help you to learn and understand the KubeSphere and the lan ## DevOps -- [KubeSphere DevOps Pipeline Overview](/sig-devops/devops-pipeline-overview): Explains the architecture and key components of KubeSphere pipeline. -- [KubeSphere S2I and B2I overview](/sig-devops/s2i_b2i_overview): Explains the workflow and principle of Kubesphere S2I (Source-to-Image) and B2I(Binary-to-Image). +- [KubeSphere DevOps Pipeline Overview](sig-devops/devops-pipeline-overview.md): explains the architecture and key components of KubeSphere pipeline. +- [KubeSphere S2I and B2I overview](sig-devops/s2i_b2i_overview.md): explains the workflow and principle of Kubesphere S2I (Source-to-Image) and B2I (Binary-to-Image). ## Observability ### KubeSphere Monitoring -- [Overview](kubesphere-monitoring.md#Overview): Explains the architecture and key components behind the monitoring system. -- [Setup](kubesphere-monitoring.md#Setup): Introduces manifests related to Prometheus setup. +- [Overview](sig-observability/kubesphere-monitoring.md#Overview): explains the architecture and key components behind the monitoring system. +- [Setup](sig-observability/kubesphere-monitoring.md#Setup): introduces manifests related to Prometheus setup. ### KubeSphere Logging -- [Overview](/sig-observability/kubesphere-logging.md#Overview): Explains the architecture and key components behind the logging system. -- [Log Collection and Forward](/sig-observability/kubesphere-logging.md#Log-Collection-and-Forward): Introduces logging agent and the sidecar-based solution for collecting application logs on disk. -- [Log Store and Management](/sig-observability/kubesphere-logging.md#Log-Store-and-Management): Introduces long-term log storage and management. -- [Log Search, Export and Visualization](/sig-observability/kubesphere-logging.md#Log-Search,-Export-and-Visualization): Introduces log query and reporting. +- [Overview](sig-observability/kubesphere-logging.md#Overview): explains the architecture and key components behind the logging system. +- [Log Collection and Forward](sig-observability/kubesphere-logging.md#Log-Collection-and-Forward): introduces logging agent and the sidecar-based solution for collecting application logs on disk. +- [Log Store and Management](sig-observability/kubesphere-logging.md#Log-Store-and-Management): introduces long-term log storage and management. +- [Log Search, Export and Visualization](sig-observability/kubesphere-logging.md#Log-Search,-Export-and-Visualization): introduces log query and reporting. From 2d736d30b10f939bca8ae14fe0f76ed19a15d6d9 Mon Sep 17 00:00:00 2001 From: Ray Zhou Date: Wed, 18 Mar 2020 16:32:06 +0800 Subject: [PATCH 4/8] update sig logging concepts doc --- .../concepts-and-designs/README.md | 2 +- .../sig-observability/kubesphere-logging.md | 20 +++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/developer-guide/concepts-and-designs/README.md b/developer-guide/concepts-and-designs/README.md index e2bbdf439..f04a38e1e 100644 --- a/developer-guide/concepts-and-designs/README.md +++ b/developer-guide/concepts-and-designs/README.md @@ -9,7 +9,7 @@ Concepts and Designs help you to learn and understand the KubeSphere and the lan ## DevOps - [KubeSphere DevOps Pipeline Overview](sig-devops/devops-pipeline-overview.md): explains the architecture and key components of KubeSphere pipeline. -- [KubeSphere S2I and B2I overview](sig-devops/s2i_b2i_overview.md): explains the workflow and principle of Kubesphere S2I (Source-to-Image) and B2I (Binary-to-Image). +- [KubeSphere S2I and B2I overview](sig-devops/s2i_b2i_overview.md): explains the workflow and principle of KubeSphere S2I (Source-to-Image) and B2I (Binary-to-Image). ## Observability diff --git a/developer-guide/concepts-and-designs/sig-observability/kubesphere-logging.md b/developer-guide/concepts-and-designs/sig-observability/kubesphere-logging.md index 6fb695a63..470c81df6 100644 --- a/developer-guide/concepts-and-designs/sig-observability/kubesphere-logging.md +++ b/developer-guide/concepts-and-designs/sig-observability/kubesphere-logging.md @@ -2,40 +2,40 @@ ## Overview -The KubeSphere logging system comprises many components that work together to achieve centralized log management. Once you enable the logging module during installation, a few components will be deployed or created within the namespace `kubesphere-logging-system`: +The KubeSphere logging system comprises of many components that work together to achieve unified log management. Once you enable the logging module during installation, a few components will be deployed or created within the namespace `kubesphere-logging-system`: - Fluent Bit: log collector deployed on each node. -- Fluent-bit Operator: automates tasks for operating Fluent bit instances. +- Fluent-bit Operator: automates tasks for operating Fluent Bit instances. - Logsidecar Injector: injects sidecar into pods for streaming on-disk files to stdout. - Elasticsearch Cluster: log storage backend. - Curator: performs stale log cleanup. The diagram below presents the overall logging architecture: -![](../../images/kubesphere-logging-overview.png) +![Logging](../../images/kubesphere-logging-overview.png) -The following sections will detail the design and functionality of each component. +The following sections will detail the design and functionality of each component. ## Log Collection and Forward There are two types of logs produced by containers: - stdout and stderr: written to `.log` files in the host's directory `/var/log/containers` by default. -- application logs: files on the pod's volume, file locations may vary. +- application logs: files on the pod's volume, and file locations may vary. Fluent Bit serves as the logging agent. It can access host's container log directory and streams log files to stdout. In KubeSphere, we forked and modified the origin Fluent Bit project fluent/fluent-bit. The difference between fluent/fluent-bit and [kubesphere/fluent-bit](https://github.com/kubesphere/fluent-bit) is that we add a reload interface to support dynamic configuration (see issue [#365](https://github.com/fluent/fluent-bit/issues/365)). - + As shown in the diagram below, Fluent-bit controller implements the reload interface and is responsible for the life cycle of fluent-bit process. -![](../../images/kubesphere-logging-fluentbit.png) +![Fluentbit](../../images/kubesphere-logging-fluentbit.png) The approach to collect container logs on a pod's volume is using a log forwarder sidecar. The sidecar container forwards on-disk application logs to its own stdout. In this way, KubeSphere manages log collection in a unified manner. Besides, [Logsidecar Injector](https://github.com/kubesphere/logsidecar-injector) comes to automate sidecar injection. It takes advantages of `MutatingAdmissionWebhook` to control log forwarder sidecar injection during pod creation. -Though Fluent Bit sends log to Elasticsearch by default in KubeSphere, you may change its output via editing the custom resource defined by the CustomResourceDefinition `fluentbits.logging.kubesphere.io`. The custom resource holds Fluent Bit input/filter/output configurations. Once changes detected, [Fluent-bit operator](https://github.com/kubesphere/fluentbit-operator) will trigger reloading and the new configuration will be used. The Operator pattern is the encouraged way to implement declarative configuration in Kubernetes. +Though Fluent Bit sends log to Elasticsearch by default in KubeSphere, you may change its output via editing the custom resource defined by the CustomResourceDefinition `fluentbits.logging.kubesphere.io`. The custom resource holds Fluent Bit input/filter/output configurations. Once changes detected, [Fluent-bit operator](https://github.com/kubesphere/fluentbit-operator) will trigger reloading and the new configuration will be used. The Operator pattern is the encouraged way to implement declarative configuration in Kubernetes. ## Log Store and Management -Fluent Bit supports a bunch of [output plugins](https://docs.fluentbit.io/manual/output) that you can choose from to configure how logs will be stored or forwarded. On KubeSphere console, you can easily setup [elasticsearch](https://docs.fluentbit.io/manual/output/elasticsearch), [kafka](https://docs.fluentbit.io/manual/output/kafka) and [fluentd](https://docs.fluentbit.io/manual/output/forward) as outputs. +Fluent Bit supports a bunch of [output plugins](https://docs.fluentbit.io/manual/output) that you can choose from to configure how logs will be stored or forwarded. On KubeSphere console, you can easily setup [Elasticsearch](https://docs.fluentbit.io/manual/output/elasticsearch), [Kafka](https://docs.fluentbit.io/manual/output/kafka) and [Fluentd](https://docs.fluentbit.io/manual/output/forward) as outputs. Take Elasticsearch output for example. The default configuration writes that indices will be created daily with the prefix `ks-logstash-log`. It uses builtin Elasticsearch cluster whose address is `elasticsearch-logging-data.kubesphere-logging-system.svc`. For more details, please explore the custom resource `fluent-bit` (`kubectl get fluentbits.logging.kubesphere.io -n kubesphere-logging-system fluent-bit -oyaml`) . @@ -43,4 +43,4 @@ To clean up stale logs, the Elasticsearch curator cronjob performs a daily check ## Log Search, Export and Visualization -KubeSphere wraps Elasticsearch Search and Scroll APIs to support multi-tenancy. Users can use KubeSphere console to search and analyze logs as well as exporting logs to files. +KubeSphere wraps Elasticsearch Search and Scroll APIs to support multi-tenancy. Users can use KubeSphere console to search and analyze logs as well as exporting logs to files. From 480c73fed37c7e717ecffd224c6d2a0487d08b0f Mon Sep 17 00:00:00 2001 From: Ray Zhou Date: Wed, 18 Mar 2020 16:48:56 +0800 Subject: [PATCH 5/8] Update sig monitoring doc --- .../sig-observability/kubesphere-monitoring.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/developer-guide/concepts-and-designs/sig-observability/kubesphere-monitoring.md b/developer-guide/concepts-and-designs/sig-observability/kubesphere-monitoring.md index 4a5f83806..abc7960b9 100644 --- a/developer-guide/concepts-and-designs/sig-observability/kubesphere-monitoring.md +++ b/developer-guide/concepts-and-designs/sig-observability/kubesphere-monitoring.md @@ -2,7 +2,7 @@ ## Overview -The KubeSphere monitoring system comprises many components that work together to achieve overall monitoring functionality. KubeSphere defaults to installing the monitoring module. It will deploy or create a few components within the namespace `kubesphere-monitoring-system`: +The KubeSphere monitoring system comprises of many components that work together to achieve overall monitoring functionality. KubeSphere defaults to installing the monitoring module. It will deploy or create a few components within the namespace `kubesphere-monitoring-system`: - Prometheus Operator: automates tasks for operating Prometheus instances. - Prometheus: scrapes metrics and provides monitoring service. @@ -15,7 +15,7 @@ Besides, the monitoring stack includes CRD resources: - Prometheus: defines a desired Prometheus deployment. - PrometheusRule: defines a desired Prometheus rule file. -In KubeSphere, Prometheus will monitor the following services by default: +In KubeSphere, Prometheus will monitor the following services by default: - kube-state-metrics - node-exporter @@ -33,4 +33,4 @@ The [contrib/kube-prometheus](https://github.com/kubesphere/prometheus-operator/ The diagram below presents the overall monitoring architecture: -![](../../images/kubesphere-monitoring-architecture.png) +![Monitoring Arch](../../images/kubesphere-monitoring-architecture.png) From 2a01dc8ac25fe90a7ef0e4ae88cfbcd67619981c Mon Sep 17 00:00:00 2001 From: Ray Zhou Date: Wed, 18 Mar 2020 17:17:40 +0800 Subject: [PATCH 6/8] Update sig devops pipeline overview --- .../sig-devops/devops-pipeline-overview.md | 53 ++++++++----------- 1 file changed, 23 insertions(+), 30 deletions(-) diff --git a/developer-guide/concepts-and-designs/sig-devops/devops-pipeline-overview.md b/developer-guide/concepts-and-designs/sig-devops/devops-pipeline-overview.md index ab332df8f..c55325987 100644 --- a/developer-guide/concepts-and-designs/sig-devops/devops-pipeline-overview.md +++ b/developer-guide/concepts-and-designs/sig-devops/devops-pipeline-overview.md @@ -1,38 +1,33 @@ # KubeSphere DevOps Pipeline Overview -KubeSphere DevOps Pipeline is aimed to meet the complex CI/CD requirements on Kubernetes. - -With the KubeSphere DevOps Pipeline, you can quickly construct a complete CI/CD workflow and architecture by manipulating with the KubeSphere console. - +KubeSphere DevOps Pipeline aims to meet the complex CI/CD requirements on Kubernetes. With the KubeSphere DevOps Pipeline, you can quickly construct a complete CI/CD workflow via the KubeSphere console. ## DevOps Pipeline Capabilities -* Build, Deploy, Launch services in Kubernetes +* Build, deploy, launch services in Kubernetes * Use Kubernetes dynamic agent to release the ability of Kubernetes to dynamically expand -* In SCM Pipeline and Out of SCM Pipeline -* Easy-to-use graphical pipeline editing panel +* Support In SCM Pipeline and Out of SCM Pipeline +* Easy-to-use graphical pipeline editing panel * Multi-tenant isolation - ### DevOps Pipeline API -The KubeSphere DevOps Pipeline API will encapsulate the following APIs to provide a standardized REST API: +The KubeSphere DevOps Pipeline API encapsulates the following APIs to provide a standardized REST API: -- Jenkins Core API -- Jenkins BlueOcean API -- Sonarqube API -- Other Plugins API +* Jenkins Core API +* Jenkins BlueOcean API +* Sonarqube API +* Other Plugins API -KubeSphere apiserver will provide multi-tenant API, pipeline API, credential API, code quality analysis API, etc. +KubeSphere apiserver provides multi-tenant API, pipeline API, credential API, code quality analysis API, etc. ![ks-devops-api](../../images/devops-api.png) - ### Multi-tenant isolation -In the current version (v2.1.0), multi-tenancy in the DevOps part is done with the ability of the [role-strategy-plugin](https://github.com/jenkinsci/role-strategy-plugin) plugin. KubeSphere will automatically synchronize permission rules in this plugin. +In the versions (v2.1.x), multi-tenancy in the DevOps part is done with the ability of the [role-strategy-plugin](https://github.com/jenkinsci/role-strategy-plugin). KubeSphere automatically synchronizes permission rules in this plugin. -In the future, KubeSphere DevOps will authentication based on [OPA](https://www.openpolicyagent.org/). +In the future, KubeSphere DevOps will authenticate based on [OPA](https://www.openpolicyagent.org/). ### Integration with Jenkins @@ -40,34 +35,32 @@ KubeSphere integrates with standard Jenkins, customizing plugins and configurati #### Distribution of plugins -To meet the needs of users in private cloud environments, KubeSphere uses the built-in nginx as a jenkins update center. The jenkins update center is provided as a Docker image + [Helm Chart](https://github.com/kubesphere/ks-installer/tree/master/roles/ks-devops/jenkins-update-center). +To meet the needs of users in private cloud environments, KubeSphere uses the built-in Nginx as a Jenkins update center which is provided as a Docker image + [Helm Chart](https://github.com/kubesphere/ks-installer/tree/master/roles/ks-devops/jenkins-update-center). #### Jenkins configuration -KubeSphere uses Docker Image, Jenkins update Center and Helm Chart to distribute Jenkins。 +KubeSphere uses Docker Image, Jenkins update Center and Helm Chart to distribute Jenkins. -The list of plugins and configuration required by Jenkins will be provided by [Helm Chart](https://github.com/kubesphere/ks-installer/tree/master/roles/ks-devops/jenkins). +The list of plugins and configuration required by Jenkins are provided by [Helm Chart](https://github.com/kubesphere/ks-installer/tree/master/roles/ks-devops/jenkins). We use [Groovy Script](https://wiki.jenkins.io/display/JENKINS/Groovy+Hook+Script) and [JCasC](https://github.com/jenkinsci/configuration-as-code-plugin) to initialize Jenkins. +### Pipeline Builder Image and Jenkins PodTemplate -### Pipeline Builder Image And Jenkins PodTemplate +Jenkins does not include any agent configuration by default. KubeSphere provides some default agents including docker image and podTemplate configuration. -Jenkins does not include any agent configuration by default, KubeSphere provides some default agents (including docker image and podTemplate configuration). +The default agent image is built based on the [builder base](https://github.com/kubesphere/builder-base). You can search the keyword of repository `builder xxx` in KubeSphere [GitHub](https://github.com/kubesphere/). -The default agent image will be built based on the [builder base](https://github.com/kubesphere/builder-base), you can search the keyword of repository `builder xxx` in KubeSphere [github](https://github.com/kubesphere/). +### In SCM Pipeline and Out of SCM Pipeline -### In SCM Pipeline and Out of SCM Pipeline +KubeSphere's pipeline syntax is fully compatible with Jenkins' pipeline syntax. Jenkinsfile found in SCM is supported with Jenkins plugin. -KubeSphere's pipeline syntax will be fully compatible with Jenkins' pipeline syntax. Jenkinsfile found in SCM will be supported with Jenkins plugin. - -We will provide a plug-in SCM API, allowing users to graphically edit Jenkinsfile, Dockerfile and other configurations in SCM on KubeSphere. +We provide a plug-in SCM API, allowing users to graphically edit Jenkinsfile, Dockerfile and other configurations in SCM on KubeSphere. ### Sonarqube Integration -KubeSphere will retrieve Jenkins pipelines that have performed Sonarqube code analysis. And provide API to access analysis report. - +KubeSphere retrieves Jenkins pipelines that have performed Sonarqube code analysis, and provides APIs to access analysis report. ### More -If you have more questions, you can create an issue on [github](https://github.com/kubesphere/kubesphere) +If you have more questions, you can create an issue on [GitHub](https://github.com/kubesphere/kubesphere). From 7f512a9077bb42d9537a0205051a50ef032100c2 Mon Sep 17 00:00:00 2001 From: Ray Zhou Date: Wed, 18 Mar 2020 19:55:29 +0800 Subject: [PATCH 7/8] fix grammar error --- .../sig-observability/kubesphere-logging.md | 2 +- .../sig-observability/kubesphere-monitoring.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/developer-guide/concepts-and-designs/sig-observability/kubesphere-logging.md b/developer-guide/concepts-and-designs/sig-observability/kubesphere-logging.md index 470c81df6..ddb157ee8 100644 --- a/developer-guide/concepts-and-designs/sig-observability/kubesphere-logging.md +++ b/developer-guide/concepts-and-designs/sig-observability/kubesphere-logging.md @@ -2,7 +2,7 @@ ## Overview -The KubeSphere logging system comprises of many components that work together to achieve unified log management. Once you enable the logging module during installation, a few components will be deployed or created within the namespace `kubesphere-logging-system`: +The KubeSphere logging system is comprised of many components that work together to achieve unified log management. Once you enable the logging module during installation, a few components will be deployed or created within the namespace `kubesphere-logging-system`: - Fluent Bit: log collector deployed on each node. - Fluent-bit Operator: automates tasks for operating Fluent Bit instances. diff --git a/developer-guide/concepts-and-designs/sig-observability/kubesphere-monitoring.md b/developer-guide/concepts-and-designs/sig-observability/kubesphere-monitoring.md index abc7960b9..25ecfdd9f 100644 --- a/developer-guide/concepts-and-designs/sig-observability/kubesphere-monitoring.md +++ b/developer-guide/concepts-and-designs/sig-observability/kubesphere-monitoring.md @@ -2,7 +2,7 @@ ## Overview -The KubeSphere monitoring system comprises of many components that work together to achieve overall monitoring functionality. KubeSphere defaults to installing the monitoring module. It will deploy or create a few components within the namespace `kubesphere-monitoring-system`: +The KubeSphere monitoring system is comprised of many components that work together to achieve overall monitoring functionality. KubeSphere defaults to installing the monitoring module. It will deploy or create a few components within the namespace `kubesphere-monitoring-system`: - Prometheus Operator: automates tasks for operating Prometheus instances. - Prometheus: scrapes metrics and provides monitoring service. From 169c9fdcbca1bfe24f8b9f2fb15bbc7ec6a8bd0e Mon Sep 17 00:00:00 2001 From: Ray Zhou Date: Thu, 19 Mar 2020 09:21:55 +0800 Subject: [PATCH 8/8] Update devops sig s2i guide --- .../sig-devops/s2i_b2i_overview.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/developer-guide/concepts-and-designs/sig-devops/s2i_b2i_overview.md b/developer-guide/concepts-and-designs/sig-devops/s2i_b2i_overview.md index e83064b2a..5f29f7035 100644 --- a/developer-guide/concepts-and-designs/sig-devops/s2i_b2i_overview.md +++ b/developer-guide/concepts-and-designs/sig-devops/s2i_b2i_overview.md @@ -1,34 +1,34 @@ -# KubeSphere S2I/B2I overview +# KubeSphere S2I/B2I Overview ## What is S2I/B2I -Kubesphere S2I(Source-to-Image) / B2I(Binary-to-Image) provides easy CI/CD functionalities, help developers to publish their service to Kubernetes without writing Dockefile. +KubeSphere S2I (Source-to-Image) / B2I (Binary-to-Image) provides easy-to-use CI/CD functionalities, helping developers to publish their services to Kubernetes without writing Dockefile. ## Workflow Example -![](https://pek3b.qingstor.com/kubesphere-docs/png/20191223103533.png) +![Workflow](https://pek3b.qingstor.com/kubesphere-docs/png/20191223103533.png) ## Principle -All resources of S2I/B2I will be installed in namespace `kubesphere-devops-system` by enable devops component. +All resources of S2I/B2I will be installed in namespace `kubesphere-devops-system` when DevOps component enabled. -In S2I, all resources and CI/CD steps are defined with [Custom Resource Defintion](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) (CRD). You can operate all s2i resources by call k8s api directly. +In S2I, all resources and CI/CD steps are defined with [Custom Resource Defintion](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) (CRD). You can operate all S2I resources by calling K8s API directly. -There are two mudules included in the S2I component: +There are two modules included in the S2I component: -1. S2I Operator: A Kubernetes CRD controller that provides easy Kubernetes-style resources for declaring CI/CD-style pipelines -2. S2IRun: It is the instance that executes the s2i build process in containers. +1. S2I operator: A Kubernetes CRD controller that provides easy Kubernetes-style resources for declaring CI/CD-style pipelines. +2. S2IRun: It is the instance that executes the S2I build process in containers. -Besides, the S2I stack includes following CRD resources: +Besides, the S2I stack includes the following CRD resources: 1. s2ibuildertemplates: defines information about S2I builder image. -2. s2ibuilders: all configuration information used in building are stored in this CRD. -3. s2iruns: defines an action about build +2. s2ibuilders: all configuration information used in building is stored in this CRD. +3. s2iruns: defines an action about build. -Here is a graph that describes the relationship about all CRD within S2I architecture: +Here is a graph that describes the relationship about all CRDs within S2I architecture: -​![](../../images/s2i_arch.png) +​![S2I Arch](../../images/s2i_arch.png) -Also you can install S2I component in any kubernetes cluster without KubeSphere. +Also you can install S2I component in any Kubernetes cluster without installing KubeSphere. -Want to see more about s2i, please jump to [S2I Operator](https://github.com/kubesphere/s2ioperator) and [S2IRun](https://github.com/kubesphere/s2irun) +If you want to see more about S2I, please go to [S2I Operator](https://github.com/kubesphere/s2ioperator) and [S2IRun](https://github.com/kubesphere/s2irun).