diff --git a/config/_default/config.toml b/config/_default/config.toml index 9199aa53d..6dbce8664 100644 --- a/config/_default/config.toml +++ b/config/_default/config.toml @@ -8,6 +8,7 @@ baseURL = "https://kubesphere-v3.netlify.app" [markup.goldmark.renderer] unsafe= true +[Taxonomies] [params] logo = "images/logo.svg" diff --git a/content/en/api/_index.md b/content/en/api/_index.md new file mode 100644 index 000000000..9123228b3 --- /dev/null +++ b/content/en/api/_index.md @@ -0,0 +1,4 @@ +--- +_build: + render: false +--- \ No newline at end of file diff --git a/content/tr/forum/_index.md b/content/tr/forum/_index.md deleted file mode 100644 index 483c3f8db..000000000 --- a/content/tr/forum/_index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: "page1" - ---- \ No newline at end of file diff --git a/content/tr/reason/_index.md b/content/tr/reason/_index.md deleted file mode 100644 index e9ce638d8..000000000 --- a/content/tr/reason/_index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: "reason" - ---- \ No newline at end of file diff --git a/content/tr/trends/_index.md b/content/tr/trends/_index.md deleted file mode 100644 index 483c3f8db..000000000 --- a/content/tr/trends/_index.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: "page1" - ---- \ No newline at end of file diff --git a/content/zh/reference/_index.md b/content/zh/reference/_index.md deleted file mode 100644 index ed5e8059d..000000000 --- a/content/zh/reference/_index.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: "Reference" -description: "The glossary used by KubeSphere and how to use KubeSphere API to build your own application" -layout: "single" - -linkTitle: "Reference" - -weight: 8100 - -icon: "/images/docs/docs.svg" - ---- - -## [Glossary](../reference/glossary/) - -The glossary used in KubeSphere. - -## [API Documentation](../reference/api-docs/) - -The REST API is the fundamental fabric of KubeSphere. This guide shows you how to access KubeSphere API server. - -## API Changes for v3.0.0 - -### [Logging API Changes](../reference/api-changes/logging/) - -The API changes of logging component between v2.x and v3.0.0. - -### [Monitoring API Changes](../reference/api-changes/monitoring/) - -The API changes of monitoring component between v2.x and v3.0.0. diff --git a/content/zh/reference/api-changes/_index.md b/content/zh/reference/api-changes/_index.md deleted file mode 100644 index d94f6b5ac..000000000 --- a/content/zh/reference/api-changes/_index.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "API Changes" -description: "API Change Overview" -layout: "single" - -linkTitle: "API Changes" - -weight: 8200 - -icon: "/images/docs/docs.svg" - ---- diff --git a/content/zh/reference/api-changes/logging.md b/content/zh/reference/api-changes/logging.md deleted file mode 100644 index fb75542ad..000000000 --- a/content/zh/reference/api-changes/logging.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: "Logging" -keywords: 'Kubernetes, KubeSphere, API, Logging' -description: 'Logging' - - -weight: 250 ---- - -The API changes of logging component in KubeSphere v3.0.0. - -## Time format - -The time format for query parameters must be in Unix timestamp, which is the number of seconds that has elapsed since the Unix epoch. Millisecond is no longer allowed. The change affects the parameters `start_time` and `end_time`. - -## Deprecated APIs - -The following APIs are removed: - -- GET /workspaces/{workspace} -- GET /namespaces/{namespace} -- GET /namespaces/{namespace}/workloads/{workload} -- GET /namespaces/{namespace}/pods/{pod} -- The whole log setting API group - -## Fluent Bit Operator - -In KubeSphere 3.0.0, the whole log setting APIs are removed from the KubeSphere core since the project Fluent Bit Operator is refactored in an incompatible way. Please refer to [Fluent Bit Operator docs](https://github.com/kubesphere/fluentbit-operator) for how to configure log collection in KubeSphere 3.0.0. \ No newline at end of file diff --git a/content/zh/reference/api-changes/monitoring.md b/content/zh/reference/api-changes/monitoring.md deleted file mode 100644 index 493c51dd7..000000000 --- a/content/zh/reference/api-changes/monitoring.md +++ /dev/null @@ -1,115 +0,0 @@ ---- -title: "Monitoring" -keywords: 'Kubernetes, KubeSphere, API, Monitoring' -description: 'Monitoring' - - -weight: 260 ---- - -## API Version - -The monitoring API version is bumped to `v1alpha3`. - -## Time format - -The time format for query parameters must be in Unix timestamp, which is the number of seconds that has elapsed since the Unix epoch. Decimal is no longer allowed. The change affects the parameters `start`, `end` and `time`. - -## Deprecated Metrics - -In KubeSphere 3.0.0, the metrics on the left have been renamed into the ones on the right. - -|V2.0|V3.0| -|---|---| -|workload_pod_cpu_usage | workload_cpu_usage| -|workload_pod_memory_usage| workload_memory_usage| -|workload_pod_memory_usage_wo_cache | workload_memory_usage_wo_cache| -|workload_pod_net_bytes_transmitted | workload_net_bytes_transmitted| -|workload_pod_net_bytes_received | workload_net_bytes_received| - -The following metrics have been deprecated and removed. - -|Deprecated Metrics| -|---| -|cluster_workspace_count| -|cluster_account_count| -|cluster_devops_project_count| -|coredns_up_sum| -|coredns_cache_hits| -|coredns_cache_misses| -|coredns_dns_request_rate| -|coredns_dns_request_duration| -|coredns_dns_request_duration_quantile| -|coredns_dns_request_by_type_rate| -|coredns_dns_request_by_rcode_rate| -|coredns_panic_rate| -|coredns_proxy_request_rate| -|coredns_proxy_request_duration| -|coredns_proxy_request_duration_quantile| -|prometheus_up_sum| -|prometheus_tsdb_head_samples_appended_rate| - -New metrics are introduced in KubeSphere 3.0.0. - -|New Metrics| -|---| -|kubesphere_workspace_count| -|kubesphere_user_count| -|kubesphere_cluser_count| -|kubesphere_app_template_count| - -## Response Fields - -In KubeSphere 3.0.0, the response fields `metrics_level`, `status` and `errorType` are removed. - -In addition, the field name `resource_name` has been replaced with the specific resource type names. These types are `node`, `workspace`, `namespace`, `workload`, `pod`, `container` and `persistentvolumeclaim`. For example, instead of `resource_name: node1`, you will get `node: node1`. See the example response below: - -```json -{ - "results":[ - { - "metric_name":"node_cpu_utilisation", - "data":{ - "resultType":"vector", - "result":[ - { - "metric":{ - "__name__":"node:node_cpu_utilisation:avg1m", - "node":"master" - }, - "value":[ - 1588841175.979, - "0.04587499999997817" - ] - }, - { - "metric":{ - "__name__":"node:node_cpu_utilisation:avg1m", - "node":"node1" - }, - "value":[ - 1588841175.979, - "0.06379166666670245" - ] - }, - { - "metric":{ - "__name__":"node:node_cpu_utilisation:avg1m", - "node":"node2" - }, - "value":[ - 1588841175.979, - "0.19008333333367772" - ] - } - ] - } - } - ] -} - -``` - - - - diff --git a/content/zh/reference/api-docs.md b/content/zh/reference/api-docs.md deleted file mode 100644 index 108cc2350..000000000 --- a/content/zh/reference/api-docs.md +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: "KubeSphere API" -keywords: 'Kubernetes, KubeSphere, API' -description: 'KubeSphere API documentation' - - -weight: 240 ---- - -In KubeSphere v3.0, we move the functionalities of _ks-apigateway_, _ks-account_ into _ks-apiserver_ to make the architecture more compact and straight forward. In order to use KubeSphere API, you need to expose _ks-apiserver_ to your client. - -## Step 1: Expose KubeSphere API service - -If you are going to access KubeSphere inside the cluster, you can skip the following section and just use the KubeSphere API server endpoint **`http://ks-apiserver.kubesphere-system.svc`**. - -On the other hand, you need to expose the KubeSphere API server endpoint to the outside of the cluster first. - -There are many ways to expose a Kubernetes service. For simplicity, we use _NodePort_ in our case. Change service `ks-apiserver` type to NodePort by using the following command. - -```bash -$ kubectl -n kubesphere-system patch service ks-apiserver -p '{"spec":{"type":"NodePort"}}' -$ kubectl -n kubesphere-system get svc -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -etcd ClusterIP 10.233.34.220 2379/TCP 44d -ks-apiserver NodePort 10.233.15.31 80:31407/TCP 49d -ks-console NodePort 10.233.3.45 80:30880/TCP 49d -``` - -Now, you can access `ks-apiserver` outside the cluster through URL like `http://[node ip]:31407`, where `[node ip]` means IP of any node in your cluster. - -## Step 2: Generate a token - -You need to identify yourself before making any call to the API server. Let's take a user `jeff` with password `P#$$w0rd` as an example. He needs to issue a request to generate a token like the following: - -```bash -curl -X POST -H 'Content-Type: application/x-www-form-urlencoded' \ - 'http://[node ip]:31407/oauth/token' \ - --data-urlencode 'grant_type=password' \ - --data-urlencode 'username=admin' \ - --data-urlencode 'password=P#$$w0rd' -``` - -{{< notice note >}} - -Please substitue `[node ip]` with the real ip address. - -{{}} - -If the identity is correct, the server will response something like the following. `access_token` is the token to access the KubeSphere API Server. - -```json -{ - "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwidWlkIjoiYTlhNjJmOTEtYWQ2Yi00MjRlLWIxNWEtZTFkOTcyNmUzNDFhIiwidG9rZW5fdHlwZSI6ImFjY2Vzc190b2tlbiIsImV4cCI6MTYwMDg1MjM5OCwiaWF0IjoxNjAwODQ1MTk4LCJpc3MiOiJrdWJlc3BoZXJlIiwibmJmIjoxNjAwODQ1MTk4fQ.Hcyf-CPMeq8XyQQLz5PO-oE1Rp1QVkOeV_5J2oX1hvU", - "token_type": "Bearer", - "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwidWlkIjoiYTlhNjJmOTEtYWQ2Yi00MjRlLWIxNWEtZTFkOTcyNmUzNDFhIiwidG9rZW5fdHlwZSI6InJlZnJlc2hfdG9rZW4iLCJleHAiOjE2MDA4NTk1OTgsImlhdCI6MTYwMDg0NTE5OCwiaXNzIjoia3ViZXNwaGVyZSIsIm5iZiI6MTYwMDg0NTE5OH0.PerssCLVXJD7BuCF3Ow8QUNYLQxjwqC8m9iOkRRD6Tc", - "expires_in": 7200 -} -``` - -## Step 3: Make the call - -Now you got everything you need to access KubeSphere API server. Make the call using the access token acquired above as the following to get node list: - -```bash -$ curl -X GET -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwidWlkIjoiYTlhNjJmOTEtYWQ2Yi00MjRlLWIxNWEtZTFkOTcyNmUzNDFhIiwidG9rZW5fdHlwZSI6ImFjY2Vzc190b2tlbiIsImV4cCI6MTYwMDg1MjM5OCwiaWF0IjoxNjAwODQ1MTk4LCJpc3MiOiJrdWJlc3BoZXJlIiwibmJmIjoxNjAwODQ1MTk4fQ.Hcyf-CPMeq8XyQQLz5PO-oE1Rp1QVkOeV_5J2oX1hvU" \ - -H 'Content-Type: application/json' \ - 'http://[node ip]:31407/kapis/resources.kubesphere.io/v1alpha3/nodes' - -{ - "items": [ - { - "metadata": { - "name": "node3", - "selfLink": "/api/v1/nodes/node3", - "uid": "dd8c01f3-76e8-4695-9e54-45be90d9ec53", - "resourceVersion": "84170589", - "creationTimestamp": "2020-06-18T07:36:41Z", - "labels": { - "a": "a", - "beta.kubernetes.io/arch": "amd64", - "beta.kubernetes.io/os": "linux", - "gitpod.io/theia.v0.4.0": "available", - "gitpod.io/ws-sync": "available", - "kubernetes.io/arch": "amd64", - "kubernetes.io/hostname": "node3", - "kubernetes.io/os": "linux", - "kubernetes.io/role": "new", - "node-role.kubernetes.io/worker": "", - "topology.disk.csi.qingcloud.com/instance-type": "Standard", - "topology.disk.csi.qingcloud.com/zone": "ap2a" - }, - "annotations": { - "csi.volume.kubernetes.io/nodeid": "{\"disk.csi.qingcloud.com\":\"i-icjxhi1e\"}", - "kubeadm.alpha.kubernetes.io/cri-socket": "/var/run/dockershim.sock", - "node.alpha.kubernetes.io/ttl": "0", - .... -``` - -{{< notice note >}} - -Please substitue `[node ip]` with the real ip address. - -{{}} - -## API Reference - -KubeSpehre API swagger json can be found in repo https://github.com/kubesphere/kubesphere/tree/release-3.0/api - -- KubeSphere specified API [swagger json](https://github.com/kubesphere/kubesphere/blob/release-3.0/api/ks-openapi-spec/swagger.json). It contains all the APIs that are only applied to KubeSphere. -- KubeSphere specified CRD [swagger json](https://github.com/kubesphere/kubesphere/blob/release-3.0/api/openapi-spec/swagger.json). It contains all the generated CRDs API documentation. It is same with Kubernetes api objects. diff --git a/content/zh/reference/glossary.md b/content/zh/reference/glossary.md deleted file mode 100644 index afcd254b4..000000000 --- a/content/zh/reference/glossary.md +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: "Glossary" -keywords: 'kubernetes, kubesphere, devops, docker, helm, jenkins, istio, prometheus' -description: 'KubeSphere Glossary documentation' - - -weight: 240 ---- - -This glossary includes technical terms that are specific to KubeSphere, as well as more general terms that provide useful context. - -## General - -- **Workspace**
- A logical unit to organize a tenant's workload projects / Kubernetes namespaces, DevOps projects, manage resource access and share information within the team. - -- **System Workspace**
- The special place to organize system projects from KubeSphere, Kubernetes and optional components such as OpenPitrix, Istio, monitorng etc. - -- **Workspace member**
- The users that are invited into the workspace who have certain priviledge to work in the workspace. - -- **Project**
- A project in KubeSphere is a Kubernetes namespace - -- **Multi-cluster Project**
- A project whose workload is deployed into multiple clusters. - -- **Project memeber**
- The users that are invited into the project who have certain priviledge to access the project. - -- **Workbench**
- The landing page for a tenant where contains authorized resources to access including workspaces, App Store, etc. - -- **Volume**
- A KubeSphere Volume is a Kubernetes Persistent Volume Claim (PVC) - -- **Public Cluster**
- Platform admin can set the cluster visibility, meaning who can access the cluster. A public cluster means all platform users can access the cluster, in which they are able to create and schedule resources. - -- **KubeKey**
- A brand-new installation tool developed in Go. It can install KubeSphere and Kubernetes separately or install them at one time. - -- **ks-installer**
- The package to deploy KubeSphere on existing Kubernetes clusters. - -## Application - -- **OpenPitirx**
- An open-source system to package, deploy and manage different types of apps. - -- **App Template**
- A template for a specific application that other users can deploy new application instances based on the template. - -- **App Repo**
- A web accessible repo that hosts a bunch of application templates. - -- **App Store**
- A public place for different users to share various applications. - -## DevOps - -- **DevOps Project**
- A project specific for DevOps where you can manage your pipelines and related information. - -- **SCM**
- Source Control Management, such as GitHub, Gitlab, etc. - -- **In-SCM**
- The pipeline based on a Jenkinsfile that is hosted in SCM. - -- **Out-of-SCM**
- The pipeline created by using graphical editing panel, which means no Jenkinsfile needed. - -- **CI Node**
- The specific node for pipeline or S2I, B2I. Generally, applications often need to pull a lot of dependencies during the build process. It might cause some issues like long pulling time, or unstable network causing failure. In order to make build robust, and to speed up the build by using cache, we recommend you configure one or a set of CI nodes which the system schedules the task of CI/CD pipelines or S2I/B2I builds running on. - -- **B2I**
- Binary to Image. As similar as S2I, B2I is a toolkit and automated workflow for building reproducible container images from binary (e.g. Jar, War, Binary package). - -## Logging, Events and Auditing - -- **Exact Query**
- The query method that exactly matches the keywords you type to search - -- **Fuzzy Query**
- The query method that partially matches the keywords you type to search - -- **Audit Policy**
- Audit Policy defines a set of rules about what events should be recorded and what data they should include. - -- **Audit Rule**
- An auditing rule defines how to process auditing logs. - -- **Audit Webhook**
- The webhook that the Kubernetes auditing logs will be sent to. - -## Monitoring, Alert and Notification - -- **Cluster Status Monitoring**
- The monitoring of related metrics such as node status, component status, CPU, memory, network, and disk of the cluster. - -- **Application Resource Monitoring**
- The monitoring of application resources across the platform, such as the number of projects and DevOps projects, as well as the number of workloads and services of a specific type. - -- **Allocated CPU**
- The metric is calculated based on the total CPU requests of Pods, for example, on a node. It represents the amount of CPU reserved for workloads on this node, even if workloads are using fewer CPU resources. - -- **Allocated Memory**
- The metric is calculated based on the total memory requests of Pods, for example, on a node. It represents the amount of memory reserved for workloads on this node, even if workloads are using fewer memory resources. - -- **Disk Log Collection**
- The capability to collect disk logs in a container and export to stdout, which will then be collected by the system log collector. - -- **Notification Receiver**
- The channel to receive notification, such as email, wechat work, slack, webhook, etc. - -## Router - -- **Route**
- A KubeSphere Route is a Kubernetes Ingress. - -- **Gateway**
- Before creating a route, you need to enable the Internet access gateway which forwards the request to the corresponding backend service. - -## Service Mesh - -- **Canary Release**
- A graceful applicaiton release method that introduces a new version of a service and test it by sending a small percentage of traffic to it. At the same time, the old version is responsible for handling the rest of the traffic. If everything goes well, you can gradually increase the traffic sent to the new version, while simultaneously phasing out the old version. In the case of any occurring issues, it allows you to roll back to the previous version as you change the traffic percentage. - -- **Blue Green Release**
- A zero downtime application deployment in that the new version can be deployed with the old one preserved. At any time, only one of the versions is active serving all the traffic, while the other one remains idle. If there is a problem with running, you can quickly roll back to the old version. - -- **Traffic Mirroring**
- A risk-free method of testing your app versions as it sends a copy of live traffic to a service that is being mirrored. It is also called shadowing. - -- **Application Governance**
- A switch to control the tracing of your application within a project. - -## Multi Cluster - -- **Host Cluster**
- The cluster used to manage member clusters. The multi-cluster control plane is deployed on the host cluster. - -- **Member Cluster**
- A cluster as a member of the group of the multiple clusters. - -- **Direct Connection**
- The connection method between host cluster and member cluster when the kube-apiserver address of the member cluster is accessible on any node of the host cluster. - -- **Agent Connection**
- The connection method between host cluster and member cluster when the host cluster cannot access the member cluster. - -- **jwtSecret**
- The secret needed for host cluster and member cluster to communicate with each other. - -- **Tower**
- When using agent connection, there is a proxy component installed on host cluster and agent installed on member cluster. A tower consists of the proxy and the agent. - -- **Proxy Service Address**
- The communication service address of the host cluster required by the tower agent in member cluster when using agent connection.