Walkthrough of KubeSphere Features

distributed operating system for cloud-native application management

Walkthrough of KubeSphere Features

What is Kubesphere

If you are working around DevOps tools and ecosystem KubeSphere is the one-stop solution for you. KubeSphere is 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. It provides a feature-rich, beautiful, and easy-to-use web UI platform. It boasts the most common functionalities needed for enterprise Kubernetes strategies, such as Kubernetes resource management, DevOps (CI/CD), application lifecycle management, monitoring, logging, service mesh, multi-tenancy, alerting and notification, auditing, storage and networking, autoscaling, access control, GPU support, multi-cluster deployment and management, network policy, registry management, and security management.

KubeSphere Ecosystem Tools

Using KubeSphere we can integrate a wide range of ecosystem tools related to Kubernetes. These all projects will work as the backend of KubeSphere, using standard API for consistent user experience to reduce complexity. Kubeshpere also comes up with capabilities that are not yet available in upstream Kubernetes, reducing headaches in Kubernetes like storage, network, security, and usability.

kubesphere-ecosystem.png

Use Cases

KubeSphere comes up with lots of features and functionalities which make it applicable in a variety of scenarios in the real world. Some key points where it is used widely are:

  1. Multi cluster deployment
  2. Full-stack Observability with Streamlined O&M
  3. Implement DevOps Practices
  4. Service Mesh and Cloud-native Architecture
  5. Bare Metal Deployment

To read more about all these use cases follow this kubeshpere use case blog

Minimal KubeSphere on Kubernetes

We can deploy kubesphere on the existing Kubernetes cluster. In this demo, I'm going to use Minikube as my local Kubernetes cluster on windows. I've set up my minikube cluster on VirtualBox. So if you want to do same way on VirtualBox you can follow this link "Minikube installation on virtualbox" Once you are done with this you are good to go for further kubesphere installation on minikube

Step 1:
Start minikube cluster Command to start Minikube(docker desktop should be installed)

minikube start

Now you can start with the installation of kubesphere

Step 2:
Apply kubesphere-installer YAML file Use following command

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

Output:

Kubesphere-installer.PNG

Step 3:
Apply cluster configuration yaml file

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

Output

cluster-installer.PNG

Step 4:
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

image.png

Quick installation checks:
Use the following command to see all pods. You will see there are some newly created pods related to kubesphere.

kubectl get pod --all-namespaces

image.png

To check kubesphere service is running or not use following command to confirm

kubectl get svc/ks-console -n kubesphere-system

output

image.png

Connect with web UI

To connect with web UI check url given in output of logs command from step 4.

http://<ip>:30880

And enter Account: admin Password: P@88w0rd .

image.png

Once you are logged in , setup your own password

Done. Now you are into Kubesphere web ui.

image.png

Features of KubeSphere

Once you are connected to KubeSphere web dashboard you will get to see so many amazing features of kubesphere . Let's jump into it and understand some of it one-by-one

image.png

  • Cluster management
    Starting with a most exciting feature of Kubesphere is Cluster management. Here are multiple amazing options for your k8s cluster management available. If you know even a little bit about Kubernetes you can understand how amazing all features are !!!

image.png

As you can see here, you can check all information about your cluster and all possible options to customize your cluster. Cool right!

  • Access Control
    As this features name suggests, it is used to control access to your workspace, users, and roles.

image.png

  • Workspaces :
    A workspace is an isolated logical unit used to organize projects and DevOps projects, manage resource access, and share information within your team.

Users: Manage users and their roles.

Platform Roles: Set the role of the user on the KubeSphere platform.

Platform settings: This feature is used to customize platform settings including basic information and notification configuration.

  • Customize basic information

As it is open source project it gives you power of customization to know more about it follow this link of "Customize basic information"

image.png

Notification configuration

KubeSphere supports notification configuration for multiple notification channels. You can set servers and recipients, and enable or disable notifications. You can utilize this feature to come up with more productive and customized projects !!

not.PNG

You can use all functionalities in different ways in different scenarios. To know more about it I've added some resource links below so you can explore more about it by yourself.

Resources for KubeSphere :

KubeSphere website: kubesphere.io Kubesphere Docs: kubesphere.io/docs Kubesphere demo: youtube.com/watch?v=K03wbje_NSI&t=1163s Kubesphere Github: github.com/kubesphere Kubesphere Development Roadmap: github.com/kubesphere/kubesphere/blob/maste..

Hope you find this blog helpful. Don't forget to like, share and follow for more technical blogs.

Did you find this article valuable?

Support Pratik Korgaonkar by becoming a sponsor. Any amount is appreciated!