Getting Started with KubeSphere

Getting Started with KubeSphere

Kubernetes Container Platform

What is KubeSphere?

Overview

In Shortly, 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 also representes a multi-tenannt enterprise-grade Kubernetes 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 robust and feature-rich platform.

Run KubeSphere Everywhere

KubeSphere has become more friendly to different cloud ecosystem as it does not change Kubernetes itself at all. It means, KubeSphere can be deployed on any existing version-compatible Kubernetes cluster on any infrastructure.

Open Source

KubeSphere is 100% open source and available on GitHub where you can find all the source code and documents. It has been widely installed and used in development,testing and production environments, and a large number of services are running smoothly in KubeSphere.

Landscape

KubeSphere is a member of CNCF and a Kubernetes Conformance Certified platform, further enriching CNCF CLOUD NATIVE Landscape.

cncf-landscape.png

Why KubeSphere?

KubeSphere provides high-performance and scalable container service management for enterprises users. It aims to help enterprises accomplish the digital transformation driven by cuttin-edge technologies, and accelerate app iteration and business delivery to meet the ever-changing needs of enterprises. Many people can easily get confused when they start to use Kubernetes because it is complicated components to manage. To reduce many Kubernetes headaches related to building, deployment, management and so on. That's why KubeSphere has been established.

Get started with Installation

Prerequisites

To get started with installation, you have to fulfill some following prerequisities or requirements:

  • You have to create Linux virtual machine instance on cloud providers.
  • Make sure that your system has more than 1 core CPU and 4GB memory. Only x86_64 CPUs are supported.
  • To install KubeSphere 3.2.1 on Kubernetes, your Kubernetes version must be v1.19.x, v1.20.x, v1.21.x, or v1.22.x (experimental).
  • A container runtime must bealready installed such as docker.
  • Make sure the DNS address in /etc/resolv.conf is available. Otherwise, it may cause some issues of DNS in the cluster. If you are facing problem to setup, Watch this Video to setup your DNS address.

For more information you can find on Official Documentation.

All-in-One Installation of Kubernetes and KubeSphere on Linux

For those who are new to KubeSphere and looking for a quick way to discover the container platform, trust me, all-in-one mode is best choice for you.

  • Firstly, you need to install dependency, you should install conntrack
$ sudo apt update
$ sudo apt install conntrack
  • Kubekey can install Kubernetes and KubeSphere together. So you can download from its Github Release Page or run following command:
curl -sfL https://get-kk.kubesphere.io | VERSION=v1.1.1 sh -

Note: The commands above download the latest release (v1.1.1) of KubeKey. You can change the version number in the command to download a specific version.

Make kk executable:

chmod +x kk

You only need to run one command for installation. The template is as follows:

./kk create cluster [--with-kubernetes version] [--with-kubesphere version]

To create a Kubernetes cluster with KubeSphere installed, refer to the following command as an example:

./kk create cluster --with-kubernetes v1.21.5 --with-kubesphere v3.2.1

After you run the command, you will see table for environment check. Type yes to continue.

After doing that, if the following information is displayed then the Kubernetes and KubeSphere is successfully installed.

Installation-complete.png

Run the following command to check the result.

kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f

The output displays the IP address and port number of the web console. Now, you can access the console with the default account and password(admin/p@88w0rd).

#####################################################
###              Welcome to KubeSphere!           ###
#####################################################

Console: http://192.168.0.2:30880
Account: admin
Password: P@88w0rd

NOTES:
  1. After you log into the console, please check the
     monitoring status of service components in
     "Cluster Management". If any service is not
     ready, please wait patiently until all components 
     are up and running.
  2. Please change the default password after login.

#####################################################
https://kubesphere.io             20xx-xx-xx xx:xx:xx
#####################################################

Click on http://192.168.0.2:30880 to login into the web console. Now, you have successfully installed KubeSphere. 🥳

KubeSphere Architecture

Separation of frontend and backend

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

20190810073322.png

Service Components

Each components has many services. See Overview for more details.

20191017163549jkjlk.png

KubeSphere Key Features

As an open source container platform, KubeSphere provides enterprises with a robust, secure and feature-rich platform, boasting the most common functionalities needed for enterprises adopting Kubernetes, such as multi-cluster deployment and management, network policy configuration, Service Mesh(Istio-based), DevOps projects (CI/CD), security management, Source-to-Image and Binary-to-Image, multi-tenant management, multi-dimensional monitoring, log query and collection, alerting and notification, auditing, application management, and image registry management. It also supports various open source storage and network solutions, as well as cloud storage services. For example, KubeSphere presents users with a powerful cloud-native tools OpenELB, a CNCF-certified load balancer developed for bare metal Kubernetes clusters.

With an easy-to-use web console in place, KubeSphere eases the learning curve for users and drives the adoption of Kubernetes.

For detailed information about KubeSphere features, you can see on KubeSphere documentation.

20200202153355sdfsjfadss.png

Resources

Did you find this article valuable?

Support Sachin Parihar by becoming a sponsor. Any amount is appreciated!