Kubesphere- Platform For Cloud-Native App Management

Kubesphere- Platform For Cloud-Native App Management

ยท

5 min read

About Kubesphere

Kubesphere is an open-source tool in the Container Tools category of a tech stack. It is a distributed operating system managing cloud-native applications with Kubernetes as its kernel and provides the plug-and-play architecture for the seamless integration of third-party applications to boost its ecosystem.

Why use Kubesphere?

As a lightweight platform, KubeSphere has become more friendly** to different cloud ecosystems** as it does not change Kubernetes itself at all. In other words, KubeSphere can be deployed on any existing version-compatible Kubernetes cluster on any infrastructure including virtual machine, bare metal, on-premises, public cloud and hybrid cloud.

KubeSphere hides the details of the underlying infrastructure for users and helps enterprises modernize, migrate, deploy and manage existing and containerized apps seamlessly across a variety of infrastructure types. This is how KubeSphere empowers developers and Ops teams to focus on application development and accelerate DevOps automated workflows and delivery processes with enterprise-level observability and troubleshooting, unified monitoring and logging, centralized storage and networking management, easy-to-use CI/CD pipelines, and so on.

Getting Started with KubeSphere

Before getting started make sure you read prerequisites

Installing KubeSphere on Kubernetes

k8s.jpeg

*Note - You need to have the Kubernetes cluster configured and running before you can install KubeShpere on Kubernetes

  • Run the following commands to start installation:
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.1/kubesphere-installer.yaml

kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.2.1/cluster-configuration.yaml
  • After KubeSphere is successfully installed, you can run the following command to view the installation logs:
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f

After KubeSphere is successfully installed. You will see this on your console.๐Ÿ‘‡

kubesphere_install.jpeg

  • Use kubectl get pod --all-namespaces to see whether all Pods are running normally in relevant namespaces of KubeSphere. If they are, check the port (30880 by default) of the console by running the following command:
kubectl get svc/ks-console -n kubesphere-system
  • Make sure port 30880 is opened in your security group and access the web console through the NodePort (IP:30880) with the default account and password (admin/P@88w0rd).

  • After logging in to the console, you can check the status of different components in System Components. You may need to wait for some components to be up and running if you want to use related services.

A guide to contribute to KubeSphere

  • You can refer this page for contribute to KubeSphere
  • Get involved in community channel and look for others who are working on the same feature.

KubeSphere Features

  • Provisioning and Maintaining Kubernetes

    KubeSphere provides a graphical web console, giving users a clear view of a variety of Kubernetes resources, including Pods and containers, clusters and nodes, workloads, secrets and ConfigMaps, services and Ingress, jobs and CronJobs, and
    applications. With wizard user interfaces, users can easily interact with these resources for service discovery, HPA, image management, scheduling, high availability implementation, container health check and more.

  • Multi-cluster Management and Deployment

    KubeSphere has undergone a significant upgrade to address the pressing need of users with its brand-new multi-cluster feature. With KubeSphere, users can manage the infrastructure underneath, such as adding or deleting clusters. Heterogeneous clusters deployed on any infrastructure (for example, Amazon EKS and Google Kubernetes Engine) can be managed in a unified way. KubeSphere allows users to deploy applications across clusters. More importantly, an application can also be configured to run on a certain cluster.

  • DevOps Support

    KubeSphere provides a pluggable DevOps component based on popular CI/CD tools such as Jenkins. It features automated workflows and tools including binary-to-image (B2I) and source-to-image (S2I) to package source code or binary artifacts into ready-to-run container images.

  • Multi-tenant Management

    Provide unified authentication with fine-grained roles and a three-tier authorization system and support AD/LDAP (Lightweight Directory Access Protocol) is an application protocol for querying and modifying items in directory service providers like Active Directory) authentication. You can add a user group, can be assigned to a group, and invite a group to a workspace or a project.

  • Observability

    KubeSphere features a self-updating monitoring system with graphical interfaces that streamline the whole process of operation and maintenance. It provides customized monitoring of a variety of resources and includes a set of alerts that can immediately notify users of any occurring issues.

    Multi-dimensional Kubernetes Monitoring

    • Infrastructure monitoring provides K8s control plane and cluster node metrics.
    • Application resources monitoring includes CPU, memory, network, and storage metrics.
    • Resource usage ranking by node, workspace, and project - Service component monitoring for users to quickly locate component failures.
    • Custom metrics support includes application custom metrics dashboard (in v3.0.0).

Architecture of Kubesphere

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

Architecture.png

arch.jpeg

Use Katacoda for quick learning

Katacoda is an online platform that offers hundreds of scenarios and sandbox environments to learn about and play with different kinds of technologies

Katacoda allows you to explore how to install KubeSphere on an existing Kubernetes cluster in a browser. You can start the Katacoda scenario with KubeSphere in minutes.

Connect with Kubesphere

Join Us

Resources

ย