Installing on Kubernetes

Deploy KubeSphere on Oracle OKE

This guide walks you through the steps of deploying KubeSphere on Oracle Kubernetes Engine.

Create a Kubernetes Cluster

  • A standard Kubernetes cluster in OKE is a prerequisite of installing KubeSphere. Go to the navigation menu and refer to the image below to create a cluster.

oke-cluster

  • In the pop-up window, select Quick Create and click Launch Workflow.

oke-quickcreate

Note

In this example, Quick Create is used for demonstration which will automatically create all the resources necessary for a cluster in Oracle Cloud. If you select Custom Create, you need to create all the resources (such as VCN and LB Subnets) yourself.
  • Next, you need to set the cluster with basic information. Here is an example for your reference. When you finish, click Next.

Note

  • Supported Kubernetes versions for KubeSphere 3.0.0: 1.15.x, 1.16.x, 1.17.x, 1.18.x.
  • It is recommended that you should select Public for Visibility Type, which will assign a public IP address for every node. The IP address can be used later to access the web console of KubeSphere.
  • In Oracle Cloud, a Shape is a template that determines the number of CPUs, amount of memory, and other resources that are allocated to an instance. VM.Standard.E2.2 (2 CPUs and 16G Memory) is used in this example. For more information, see Standard Shapes.
  • 3 nodes are included in this example. You can add more nodes based on your own needs especially in a production environment.
  • Review cluster information and click Create Cluster if no adjustment is needed.

  • After the cluster is created, click Close.

cluster-ready

  • Make sure the Cluster Status is Active and click Access Cluster.

access-cluster

  • In the pop-up window, select Cloud Shell Access to access the cluster. Click Launch Cloud Shell and copy the code provided by Oracle Cloud.

cloud-shell-access

  • In Cloud Shell, paste the command so that we can execute the installation command later.

cloud-shell-oke

Warning

If you do not copy and execute the command above, you cannot proceed with the steps below.

Install KubeSphere on OKE

  • Install KubeSphere using kubectl. The following command is only for the default minimal installation.
kubectl apply -f https://raw.githubusercontent.com/kubesphere/ks-installer/v3.0.0/deploy/kubesphere-installer.yaml
kubectl apply -f https://raw.githubusercontent.com/kubesphere/ks-installer/v3.0.0/deploy/cluster-configuration.yaml
  • Inspect the logs of installation:
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
  • When the installation finishes, you can see the following message:
#####################################################
###              Welcome to KubeSphere!           ###
#####################################################

Console: http://10.0.10.2:30880
Account: admin
Password: [email protected]

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

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

Access KubeSphere Console

Now that KubeSphere is installed, you can access the web console of KubeSphere either through NodePort or LoadBalancer.

  • Check the service of KubeSphere console through the following command:
kubectl get svc -n kubesphere-system
  • The output may look as below. You can change the type to LoadBalancer so that the external IP address can be exposed.

console-nodeport

Tip

It can be seen above that the service ks-console is being exposed through NodePort, which means you can access the console directly via NodeIP:NodePort (the public IP address of any node is applicable). You may need to open port 30880 in firewall rules.
  • Execute the command to edit the service configuration.
kubectl edit svc ks-console -o yaml -n kubesphere-system
  • Navigate to type and change NodePort to LoadBalancer. Save the configuration after you finish.

  • Execute the following command again and you can see the IP address displayed as below.
kubectl get svc -n kubesphere-system

console-service

  • Log in the console through the external IP address with the default account and password (admin/[email protected]). In the cluster overview page, you can see the dashboard shown below:

kubesphere-oke-dashboard

Enable Pluggable Components (Optional)

The example above demonstrates the process of a default minimal installation. To enable other components in KubeSphere, see Enable Pluggable Components for more details.