/kubesphere-cloud-native-management

The container platform tailored for Kubernetes multi-cloud, datacenter, and edge management โŽˆ ๐Ÿ–ฅ โ˜๏ธ

Primary LanguageGoApache License 2.0Apache-2.0

banner

The container platform tailored for Kubernetes multi-cloud, datacenter, and edge management

A+ good first issue follow on Twitter


What is KubeSphere

English | ไธญๆ–‡

KubeSphere is a distributed operating system for cloud-native application management, using Kubernetes as its kernel. It provides a plug-and-play architecture, allowing third-party applications to be seamlessly integrated into its ecosystem. KubeSphere is also a multi-tenant container platform with full-stack automated IT operation and streamlined DevOps workflows. It provides developer-friendly wizard web UI, helping enterprises to build out a more robust and feature-rich platform, which includes most common functionalities needed for enterprise Kubernetes strategy, see Feature List for details.

The following screenshots give a close insight into KubeSphere. Please check What is KubeSphere for further information.

Workbench Project Resources
CI/CD Pipeline App Store

Demo environment

๐ŸŽฎ KubeSphere Lite provides you with free, stable, and out-of-the-box managed cluster service. After registration and login, you can easily create a K8s cluster with KubeSphere installed in only 5 seconds and experience feature-rich KubeSphere.

๐Ÿ–ฅ You can view the Demo Video to get started with KubeSphere.

Features

๐Ÿ•ธ Provisioning Kubernetes Cluster Support deploy Kubernetes on any infrastructure, support online and air-gapped installation. Learn more.
๐Ÿ”— Kubernetes Multi-cluster Management Provide a centralized control plane to manage multiple Kubernetes clusters, and support the ability to propagate an app to multiple K8s clusters across different cloud providers.
๐Ÿค– Kubernetes DevOps Provide GitOps-based CD solutions and use Argo CD to provide the underlying support, collecting CD status information in real time. With the mainstream CI engine Jenkins integrated, DevOps has never been easier. Learn more.
๐Ÿ”Ž Cloud Native Observability Multi-dimensional monitoring, events and auditing logs are supported; multi-tenant log query and collection, alerting and notification are built-in. Learn more.
๐Ÿงฉ Service Mesh (Istio-based) Provide fine-grained traffic management, observability and tracing for distributed microservice applications, provides visualization for traffic topology. Learn more.
๐Ÿ’ป App Store Provide an App Store for Helm-based applications, and offer application lifecycle management on Kubernetes platform. Learn more.
๐Ÿ’ก Edge Computing Platform KubeSphere integrates KubeEdge to enable users to deploy applications on the edge devices and view logs and monitoring metrics of them on the console. Learn more.
๐Ÿ“Š Metering and Billing Track resource consumption at different levels on a unified dashboard, which helps you make better-informed decisions on planning and reduce the cost. Learn more.
๐Ÿ—ƒ Support Multiple Storage and Networking Solutions
  • Support GlusterFS, CephRBD, NFS, LocalPV solutions, and provide CSI plugins to consume storage from multiple cloud providers.
  • Provide Load Balancer Implementation OpenELB for Kubernetes in bare-metal, edge, and virtualization.
  • Provides network policy and Pod IP pools management, support Calico, Flannel, Kube-OVN
  • ..
    ๐Ÿ˜ Multi-tenancy Provide unified authentication with fine-grained roles and three-tier authorization system, and support AD/LDAP authentication.
    ๐Ÿง  GPU Workloads Scheduling and Monitoring Create GPU workloads on the GUI, schedule GPU resources, and manage GPU resource quotas by tenant.

    Architecture

    KubeSphere uses a loosely-coupled architecture that separates the frontend from the backend. External systems can access the components of the backend through the REST APIs.

    Architecture


    Latest release

    ๐ŸŽ‰ KubeSphere v3.4.0 was released! It brings enhancements and better user experience, see the Release Notes For 3.4.0 for the updates.

    Component supported versions table

    Component Version K8s supported version
    Alerting N/A 1.21,1.22,1.23,1.24,1.25,1.26
    Auditing v0.2.0 1.21,1.22,1.23,1.24,1.25,1.26
    Monitoring N/A 1.21,1.22,1.23,1.24,1.25,1.26
    DevOps v3.4.0 1.21,1.22,1.23,1.24,1.25,1.26
    EdgeRuntime v1.13.0 1.21,1.22,1.23
    Events N/A 1.21,1.22,1.23,1.24,1.25,1.26
    Logging opensearch๏ผšv2.6.0
    fluentbit-operator: v0.14.0
    fluent-bit-tag: v1.9.4
    1.21,1.22,1.23,1.24,1.25,1.26
    Metrics Server v0.4.2 1.21,1.22,1.23,1.24,1.25,1.26
    Network N/A 1.21,1.22,1.23,1.24,1.25,1.26
    Notification v2.3.0 1.21,1.22,1.23,1.24,1.25,1.26
    AppStore N/A 1.21,1.22,1.23,1.24,1.25,1.26
    Storage pvc-autoresizer: v0.3.0
    storageclass-accessor: v0.2.2
    1.21,1.22,1.23,1.24,1.25,1.26
    ServiceMesh Istio: v1.14.6 1.21,1.22,1.23,1.24
    Gateway Ingress NGINX Controller: v1.3.1 1.21,1.22,1.23,1.24

    Installation

    KubeSphere can run anywhere from on-premise datacenter to any cloud to edge. In addition, it can be deployed on any version-compatible Kubernetes cluster. The installer will start a minimal installation by default, you can enable other pluggable components before or after installation.

    Quick start

    Installing on K8s/K3s

    Ensure that your cluster has installed Kubernetes v1.21.x, v1.22.x, v1.23.x, * v1.24.x, * v1.25.x, or * v1.26.x. For Kubernetes versions with an asterisk, some features may be unavailable due to incompatibility.

    Run the following commands to install KubeSphere on an existing Kubernetes cluster:

    kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.0/kubesphere-installer.yaml
    
    kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.4.0/cluster-configuration.yaml

    All-in-one

    ๐Ÿ‘จโ€๐Ÿ’ป No Kubernetes? You can use KubeKey to install both KubeSphere and Kubernetes/K3s in single-node mode on your Linux machine. Let's take K3s as an example:

    # Download KubeKey
    curl -sfL https://get-kk.kubesphere.io | VERSION=v3.0.10 sh -
    # Make kk executable
    chmod +x kk
    # Create a cluster
    ./kk create cluster --with-kubernetes v1.24.14 --container-manager containerd --with-kubesphere v3.4.0

    You can run the following command to view the installation logs. After KubeSphere is successfully installed, you can access the KubeSphere web console at http://IP:30880 and log in using the default administrator account ( admin/P@88w0rd).

    kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f

    KubeSphere for hosted Kubernetes services

    KubeSphere is hosted on the following cloud providers, and you can try KubeSphere by one-click installation on their hosted Kubernetes services.

    You can also install KubeSphere on other hosted Kubernetes services within minutes, see the step-by-step guides to get started.

    ๐Ÿ‘จโ€๐Ÿ’ป No internet access? Refer to

    the Air-gapped Installation on Kubernetes

    or Air-gapped Installation on Linux

    for instructions on how to use private registry to install KubeSphere.

    Guidance, discussion, contribution, and support

    We โค๏ธ your contribution. The community walks you through how to get started contributing KubeSphere. The development guide explains how to set up development environment.

    ๐Ÿค— Please submit any KubeSphere bugs, issues, and feature requests to KubeSphere GitHub Issue.

    ๐Ÿ’Ÿ The KubeSphere team also provides efficient official ticket support to respond in hours. For more information, click KubeSphere Online Support.

    Who are using KubeSphere

    The user case studies page includes the user list of the project. You can leave a comment to let us know your use case.

    Landscapes



        

    KubeSphere is a member of CNCF and a Kubernetes Conformance Certified platform , which enriches the CNCF CLOUD NATIVE Landscape.