Walkthrough of KubeSphere Features
distributed operating system for cloud-native application management
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.
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:
- Multi cluster deployment
- Full-stack Observability with Streamlined O&M
- Implement DevOps Practices
- Service Mesh and Cloud-native Architecture
- 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:
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
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
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
To check kubesphere service is running or not use following command to confirm
kubectl get svc/ks-console -n kubesphere-system
output
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 .
Once you are logged in , setup your own password
Done. Now you are into Kubesphere web ui.
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
- 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 !!!
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.
- 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"
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 !!
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.