KubeSphere:  A Full Stack Solutions & Management platform.

KubeSphere: A Full Stack Solutions & Management platform.

Introduction to KubeSphere.

KubeSphere is an operating system with Kubernetes as its kernel which helps in the management of cloud-native applications. It lets third-party applications be easily integrated into its environment because of its plug- and play architecture. The wizard web UI is developer-friendly which makes it easy for the enterprise to build a potent platform. The enterprise-grade Kubernetes container platform provides efficient DevOps workflows and automated full-stack IT operations. With the development of a brand new opensource installer called KubeKey, the enterprise can set up a Kubernetes cluster in the public clouds in no time. Different installation option is provided by the kubekey such as all-in-one installation and multi-node installation. KubeKey also helps in the efficient installation of cloud-native add-ons as well as scale and upgrade the Kubernetes cluster.

KubeSphere Architecture.

kubeSphere is a cloud-native application which separates frontend and backend. It provides an external System to use open standard REST APIs. It can be deployed in any Kubernetes distribution and can run in any cloud and server infrastructure. The image below shows the system architecture of KubeSphere.

image.png

Why use Kubesphere?

In this era of ever-changing technologies, the various enterprises can take KubeSphere as a one-stop platform for high-performance container service management technologies. Here outstanding network and data storage solutions are provided to the enterprise. It also comes with unified cluster management, automated DevOps solutions, powerful observability, fine-grained access control, powerful microservice governance and a strong open source community.

Installing Kubesphere.

Installation in Linux

kubeSphere for Linux environment can be installed in both cloud and on-premises environments by using the KubeSphere installation tool called kubekey. Multiple options are also present for installation such as installing KubeSphere in a single node, installing in multi-nodes, air-gapped installation and high availability installation. You can check out this page for detailed installation.

Installation in kubernetes.

Kubesphere can be easily installed in a Kubernetes cluster hosted on a cloud platform or in local environments. Kubesphere interacts with Kubernetes API for managing resources. Before installing KubeSphere in Kubernetes we have to check out a few prerequisites, they are.

  • x86_64 CPUs with more than 1 core and 2 G memory are supported.
  • The Kubernetes versions must be above v1.19.x for the KubeSphere 3.2.1 to be installed.
  • Use kubectl get sc command to verify if you have a default storage class configured.

And for a more detailed guide, you can refer to the link here.

Key features and benefits.

KubeSphere provides enterprises with strong security and tons of features which in turn increases the power of the common functionalities such as network policy configuration, security management, cluster deployment and management, DevOps projects (CI/CD) etc. Various open-source network and storage solutions are also provided by KubeSphere for increasing the efficiency of the cluster.

Multicluster Management and Deployment

KubeSphere provides a central control panel for the management of multiple clusters using two approaches. i) Solo. Through this approach, independent Kubernetes clusters are managed together. ii) Federation. In this approach, multiple clusters are aggregated together into a Kubernetes resource pool and managed together.

Using KubeSphere, an application can be deployed across clusters and can be configured to run on a certain cluster. Below are some of the features discussed briefly.

Maintaining and Provisioning Kubernetes.

Because of the presence of a graphical web console, a huge number of Kubernetes resources are visible such as services and ingress, secrets and config map, pods and containers etc and a user can easily manage those with very less trouble. It also provides enhanced observability to the user regarding custom monitoring, events auditing logs, alerts and notifications. KubeKey recommends the production environment to configure at least three master nodes behind the load balancer which in turn provides the cluster with high availability.

Application management and orchestration

An app store based on OpenPitrix is provided by KubeSphere. App repositories are created by the user on object storage or GitHub and the packages of apps in the repository are composed in the form of the helm chart template of the app. With the help of app templates, apps can be deployed very easily in a visualized way, these templates can also be used to share app images among different teams in the company.

DevOps Support

Jenkins is Ci/CD DevOps tool which can be plugged in with KubeSphere to get features like automated workflow and tools like binary-to-image and source-to-image into ready to run container images.

image.png

Multi-tenent management

in Kubesphere multiple tenants can share resource as they are isolated from each other and does not affect each other. The administrator or manager of the enterprise can create different roles and authorization which are distributed among the team members and due to the isolation of tenents it will not affect them.

Notification, Alerting, Event, and Auditing

Kubesphere provides diverse notification methods, one of which is notifying through emailing based on preset rules or policies by the moderators. The KubeSphere system may send alerts on various resources such as pod, network and workload. The alerting policies are customizable where one can set the threshold, alerting level, repetition interval and time. Different events are tracked and recorded accurately in the web console, such events are node scheduling, a container running status and image pulling results. These recorded events help in the early detection of any issue arising in the production environment. Kubesphere has a comprehensive auditing feature which helps in the search for any operations or alerts.

Multidimensional Monitoring

The monitoring system present in KubeSphere is a graphical interface with a self-updating feature. The dashboard for monitoring can be customized according to the user's needs. It also provides third-party compatibility, for example with Prometheus which is a monitoring tool for the Kubernetes environment. Here multidimensional monitoring such as infrastructure monitoring and application resource monitoring is done.

Multiple Storage and Network solutions.

It provides open-source storage solutions such as NFS, GlusterFS and CephRBD. Flannel and Calico are open-source network solutions provided by KubeSphere.

Log Query and collection

The logging system has multiple log collectors to select from such as Kafka, ElasticSearch and Fluentd. It has a flexible configuration for collecting log information. Each tenant can only access their own logged information.

Conclusion.

Kubernetes is a leading container orchestration platform used in cloud platforms, but due to the availability of various components, it becomes quite complicated. Storage and Network service are such components which are needed to be deployed by the users manually which is a difficult task. But cube sphere comes into play and saves the day with its easy to use interface for coping with deployment, building, management and observability problems. Kubesphere tries its best to make the container platform more user friendly.

More Resources.

Official website.

KubeSphere Docs.

Kubesphere Github.

KubeSphere Demo.

Connect to KubeSphere.

KubeSphere Slack Channel.

KubeSphere LinkedIn.

KubeSphere Twitter.

KubeSphere Youtube.

KubeSphere Facebook.