kubesphere

module
v0.0.0-...-e779149 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 18, 2023 License: Apache-2.0

README ยถ

banner

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

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 3.3.2 was released! It brings enhancements and better user experience, see the Release Notes For 3.3.2 for the updates.

    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.19.x, v1.20.x, v1.21.x, * v1.22.x, * v1.23.x, or * v1.24.x. For Kubernetes versions with an asterisk, some features of edge nodes may be unavailable due to incompatibility. Therefore, if you want to use edge nodes, you are advised to install Kubernetes v1.21.x or earlier. Run the following commands to install KubeSphere on an existing Kubernetes cluster:

    kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.1/kubesphere-installer.yaml
       
    kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.3.1/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=v2.3.0 sh -
    # Make kk executable
    chmod +x kk
    # Create a cluster
    ./kk create cluster --with-kubernetes v1.21.4-k3s --with-kubesphere v3.3.1
    

    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.

    Directories ยถ

    Path Synopsis
    cmd
    kube
    pkg
    api
    apiserver/authorization/path
    Package path contains an authorizer that allows certain paths and path prefixes.
    Package path contains an authorizer that allows certain paths and path prefixes.
    apiserver/authorization/union
    Package union implements an authorizer that combines multiple subauthorizer.
    Package union implements an authorizer that combines multiple subauthorizer.
    client/clientset/versioned
    This package has the automatically generated clientset.
    This package has the automatically generated clientset.
    client/clientset/versioned/fake
    This package has the automatically generated fake clientset.
    This package has the automatically generated fake clientset.
    client/clientset/versioned/scheme
    This package contains the scheme of the automatically generated clientset.
    This package contains the scheme of the automatically generated clientset.
    client/clientset/versioned/typed/alerting/v2beta1
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/alerting/v2beta1/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/application/v1alpha1
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/application/v1alpha1/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/auditing/v1alpha1
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/auditing/v1alpha1/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/cluster/v1alpha1
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/cluster/v1alpha1/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/devops/v1alpha1
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/devops/v1alpha1/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/devops/v1alpha3
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/devops/v1alpha3/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/iam/v1alpha2
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/iam/v1alpha2/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/network/v1alpha1
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/network/v1alpha1/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/notification/v2beta1
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/notification/v2beta1/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/notification/v2beta2
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/notification/v2beta2/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/quota/v1alpha2
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/quota/v1alpha2/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/servicemesh/v1alpha2
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/servicemesh/v1alpha2/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/storage/v1alpha1
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/storage/v1alpha1/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/tenant/v1alpha1
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/tenant/v1alpha1/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/tenant/v1alpha2
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/tenant/v1alpha2/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/types/v1beta1
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/types/v1beta1/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    client/clientset/versioned/typed/types/v1beta2
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    client/clientset/versioned/typed/types/v1beta2/fake
    Package fake has the automatically generated clients.
    Package fake has the automatically generated clients.
    controller/network
    +kubebuilder:rbac:groups=network.kubesphere.io,resources=namespacenetworkpolicies,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=tenant.kubesphere.io,resources=workspaces,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups:core,resource=namespaces,verbs=get;list;watch;create;update;patch +kubebuilder:rbac:groups:core,resource=services,verbs=get;list;watch;create;update;patch
    +kubebuilder:rbac:groups=network.kubesphere.io,resources=namespacenetworkpolicies,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups=tenant.kubesphere.io,resources=workspaces,verbs=get;list;watch;create;update;patch;delete +kubebuilder:rbac:groups:core,resource=namespaces,verbs=get;list;watch;create;update;patch +kubebuilder:rbac:groups:core,resource=services,verbs=get;list;watch;create;update;patch
    kapis/metering
    Package metering contains monitoring API versions
    Package metering contains monitoring API versions
    kapis/network
    Package network contains network API versions
    Package network contains network API versions
    kapis/resources
    Package resources contains resources API versions
    Package resources contains resources API versions
    kapis/servicemesh/metrics
    Package metrics contains metrics API versions
    Package metrics contains metrics API versions
    models/openpitrix
    /* Copyright 2020 The KubeSphere Authors.
    /* Copyright 2020 The KubeSphere Authors.
    simple/client/devops/jenkins
    Gojenkins is a Jenkins Client in Go, that exposes the jenkins REST api in a more developer friendly way.
    Gojenkins is a Jenkins Client in Go, that exposes the jenkins REST api in a more developer friendly way.
    simple/client/network/ippool/calico/client/clientset/versioned
    This package has the automatically generated clientset.
    This package has the automatically generated clientset.
    simple/client/network/ippool/calico/client/clientset/versioned/fake
    This package has the automatically generated fake clientset.
    This package has the automatically generated fake clientset.
    simple/client/network/ippool/calico/client/clientset/versioned/scheme
    This package contains the scheme of the automatically generated clientset.
    This package contains the scheme of the automatically generated clientset.
    simple/client/network/ippool/calico/client/clientset/versioned/typed/network/calicov3
    This package has the automatically generated typed clients.
    This package has the automatically generated typed clients.
    Package fake has the automatically generated clients.
    utils/esutil
    TODO: refactor
    TODO: refactor
    utils/reflectutils
    Package deep provides function deep.Equal which is like reflect.DeepEqual but returns a list of differences.
    Package deep provides function deep.Equal which is like reflect.DeepEqual but returns a list of differences.
    test
    e2e
    e2e/framework/ginkgowrapper
    Package ginkgowrapper wraps Ginkgo Fail and Skip functions to panic with structured data instead of a constant string.
    Package ginkgowrapper wraps Ginkgo Fail and Skip functions to panic with structured data instead of a constant string.
    tools
    lib

    Jump to

    Keyboard shortcuts

    ? : This menu
    / : Search site
    f or F : Jump to
    y or Y : Canonical URL