v2.1
v2.0
v1.0
  1. Release Notes
    1. Release Notes - 2.1.1Latest
    1. Release Notes - 2.1.0
    1. Release Notes - 2.0.2
    1. Release Notes - 2.0.1
    1. Release Notes - 2.0.0
  1. Introduction
    1. Introduction
    1. Features
    1. Architecture
    1. Advantages
    1. Glossary
  1. Installation
    1. Introduction
      1. Intro
      2. Port Requirements
      3. Kubernetes Cluster Configuration
    1. Install on Linux
      1. All-in-One Installation
      2. Multi-Node Installation
      3. High Availability Configuration
      4. Air Gapped Installation
      5. StorageClass Configuration
      6. Enable All Components
    1. Install on Kubernetes
      1. Prerequisites
      2. Install on K8s
      3. Air Gapped Installation
      4. Install on GKE
    1. Pluggable Components
      1. Pluggable Components
      2. Enable Application Store
      3. Enable DevOps System
      4. Enable Logging System
      5. Enable Service Mesh
      6. Enable Alerting and Notification
      7. Enable Metrics-server for HPA
      8. Verify Components Installation
    1. Upgrade
      1. Overview
      2. All-in-One
      3. Multi-node
    1. Third-Party Tools
      1. Configure Harbor
      2. Access Built-in SonarQube and Jenkins
      3. Enable built-in Grafana Installation
      4. Load Balancer plugin in Bare Metal - Porter
    1. Authentication Integration
      1. Configure LDAP/AD
    1. Cluster Operations
      1. Add or Cordon Nodes
      2. High Risk Operations
      3. Uninstall KubeSphere
  1. Quick Start
    1. 1. Getting Started with Multi-tenancy
    1. 2. Expose your App Using Ingress
    1. 3. Compose and Deploy Wordpress to K8s
    1. 4. Deploy Grafana Using App Template
    1. 5. Job to Compute π to 2000 Places
    1. 6. Create Horizontal Pod Autoscaler
    1. 7. S2I: Publish your App without Dockerfile
    1. 8. B2I: Publish Artifacts to Kubernete
    1. 9. CI/CD based on Spring Boot Project
    1. 10. Jenkinsfile-free Pipeline with Graphical Editing Panel
    1. 11. Canary Release of Bookinfo App
    1. 12. Canary Release based on Ingress-Nginx
    1. 13. Application Store
  1. DevOps
    1. Pipeline
    1. Create SonarQube Token
    1. Credentials
    1. Set CI Node for Dependency Cache
    1. Set Email Server for KubeSphere Pipeline
  1. User Guide
    1. Configration Center
      1. Secrets
      2. ConfigMap
      3. Configure Image Registry
  1. Logging
    1. Log Query
  1. Developer Guide
    1. Introduction to S2I
    1. Custom S2I Template
  1. API Documentation
    1. API Documentation
    1. How to Access KubeSphere API
  1. Troubleshooting
    1. Troubleshooting Guide for Installation
  1. FAQ
    1. Telemetry
KubeSphere®️ 2020 All Rights Reserved.

Architecture

Edit

Separation of frontend and backend

KubeSphere separates frontend from backend, and it itself is a cloud native application and provides open standard REST APIs for external systems to use. Please see API documentation for details. The following figure is the system architecture. KubeSphere can run anywhere from on-premise datacenter to any cloud to edge. In addition, it can be deployed on any Kubernetes distribution.

Architecture

Components List

Back-end component Function description
ks-account Account service provides APIs for account and role management
ks-apiserver The KubeSphere API server validates and configures data for the API objects which include Kubernetes objects. The API Server services REST operations and provides the frontend to the cluster's shared state through which all other components interact.
ks-apigateway The API gateway is responsible for handling external requests for KubeSphere services.
ks-console KubeSphere console offers KubeSphere console service
ks-controller-manager KubeSphere controller takes care of business logic, for example, when create a workspace, the controller will automatically create corresponding permissions and configurations for it.
metrics-server Kubernetes monitoring component collects metrics from Kubelet on each node.
Prometheus provides monitoring metrics and services of clusters, nodes, workloads, API objects.
Elasticsearch provides log indexing, querying and data management. Besides the built-in service, KubeSphere supports the integration of external Elasticsearch service.
Fluent Bit collects logs and forwarding them to ElasticSearch or Kafka.
Jenkins provides CI/CD pipeline service.
SonarQube is an optional component that provides code static checking and quality analysis.
Source-to-Image automatically compiles and packages source code into Docker image.
Istio provides microservice governance and traffic control, such as grayscale release, canary release, circuit break, traffic mirroring and so on.
Jaeger collects sidecar data and provides distributed tracing service.
OpenPitrix provides application lifecycle management such as template management, deployment, app store management, etc.
Alert provides configurable alert service for cluster, workload, Pod, and container etc.
Notification is an integrated notification service; it currently supports mail delivery method.
Redis caches the data of ks-console and ks-account.
MySQL is the shared database for cluster back-end components including monitoring, alarm, DevOps, OpenPitrix etc.
PostgreSQL SonarQube and Harbor's back-end database
OpenLDAP is responsible for centralized storage and management of user account and integrates with external LDAP server.
Storage built-in CSI plug-in collecting cloud platform storage services. It supports open source NFS/Ceph/Gluster client.
Network supports Calico/Flannel and other open source network plug-ins to integrate with cloud platform SDN.

Service Components

Each component has many services, see Service Components for more details.

Service Components