All Projects → kubesphere → Ks Installer

kubesphere / Ks Installer

Licence: apache-2.0
Install KubeSphere on existing Kubernetes cluster

Projects that are alternatives of or similar to Ks Installer

Kubedev
A simpler and more powerful Kubernetes Dashboard
Stars: ✭ 62 (-71.3%)
Mutual labels:  k8s, dashboard
Permission Manager
Permission Manager is a project that brings sanity to Kubernetes RBAC and Users management, Web UI FTW
Stars: ✭ 753 (+248.61%)
Mutual labels:  k8s, dashboard
Kubekey
Provides a flexible, rapid and convenient way to install Kubernetes only, both Kubernetes and KubeSphere, and related cloud-native add-ons. It is also an efficient tool to scale and upgrade your cluster.
Stars: ✭ 288 (+33.33%)
Mutual labels:  installer, k8s
K8s Offline
Offline installation package for kubernetes.
Stars: ✭ 72 (-66.67%)
Mutual labels:  installer, k8s
Netboot.xyz
Your favorite operating systems in one place. A network-based bootable operating system installer based on iPXE.
Stars: ✭ 2,753 (+1174.54%)
Mutual labels:  installer
Lxrunoffline
A full-featured utility for managing Windows Subsystem for Linux (WSL)
Stars: ✭ 3,005 (+1291.2%)
Mutual labels:  installer
Helmfiles
Comprehensive Distribution of Helmfiles for Kubernetes
Stars: ✭ 205 (-5.09%)
Mutual labels:  k8s
Webpack Dashboard
A CLI dashboard for webpack dev server
Stars: ✭ 13,850 (+6312.04%)
Mutual labels:  dashboard
Chartbrew
Open-source web platform for creating charts out of different data sources (databases and APIs) 📈📊
Stars: ✭ 199 (-7.87%)
Mutual labels:  dashboard
Community.kubernetes
Kubernetes Collection for Ansible
Stars: ✭ 214 (-0.93%)
Mutual labels:  k8s
Saas Base
SaaS base application (Flask, Vue, Bootstrap, Webpack)
Stars: ✭ 208 (-3.7%)
Mutual labels:  dashboard
Kubefwd
Bulk port forwarding Kubernetes services for local development.
Stars: ✭ 2,713 (+1156.02%)
Mutual labels:  k8s
Pke
PKE is an extremely simple CNCF certified Kubernetes installer and distribution, designed to work on any cloud, VM or bare metal.
Stars: ✭ 211 (-2.31%)
Mutual labels:  k8s
Ssis Dashboard
HTML5 SQL Server Integration Services Dashboard
Stars: ✭ 206 (-4.63%)
Mutual labels:  dashboard
Helicalinsight
Helical Insight software is world’s first Open Source Business Intelligence framework which helps you to make sense out of your data and make well informed decisions.
Stars: ✭ 214 (-0.93%)
Mutual labels:  dashboard
Lumberjackconsole
On-device CocoaLumberjack console with support for search, adjust levels, copying and more.
Stars: ✭ 205 (-5.09%)
Mutual labels:  dashboard
Covid19za
Coronavirus COVID-19 (2019-nCoV) Data Repository and Dashboard for South Africa
Stars: ✭ 208 (-3.7%)
Mutual labels:  dashboard
Mprove
Open source Business Intelligence tool 🎉
Stars: ✭ 212 (-1.85%)
Mutual labels:  dashboard
Stonky
A command line dashboard for monitoring stocks
Stars: ✭ 208 (-3.7%)
Mutual labels:  dashboard
Tcpprobe
Modern TCP tool and service for network performance observability.
Stars: ✭ 207 (-4.17%)
Mutual labels:  k8s

Install KubeSphere on Existing Kubernetes Cluster

English | 中文

In addition to supporting deploying on VM and BM, KubeSphere also supports installing on cloud-hosted and on-premises existing Kubernetes clusters.

Prerequisites

  • Kubernetes Version: 1.15.x, 1.16.x, 1.17.x, 1.18.x;
  • CPU > 1 Core, Memory > 2 G;
  • An existing default Storage Class in your Kubernetes clusters.
  • The CSR signing feature is activated in kube-apiserver when it is started with the --cluster-signing-cert-file and --cluster-signing-key-file parameters, see RKE installation issue.
  1. Make sure your Kubernetes version is compatible by running kubectl version in your cluster node. The output looks as the following:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.1", GitCommit:"4485c6f18cee9a5d3c3b4e523bd27972b1b53892", GitTreeState:"clean", BuildDate:"2019-07-18T09:09:21Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.1", GitCommit:"4485c6f18cee9a5d3c3b4e523bd27972b1b53892", GitTreeState:"clean", BuildDate:"2019-07-18T09:09:21Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}

Note: Pay attention to Server Version line, if GitVersion is greater than v1.15.0, it's good to go. Otherwise you need to upgrade your Kubernetes first.

  1. Check if the available resources meet the minimal prerequisite in your cluster.
$ free -g
              total        used        free      shared  buff/cache   available
Mem:              16          4          10           0           3           2
Swap:             0           0           0
  1. Check if there is a default Storage Class in your cluster. An existing Storage Class is the prerequisite for KubeSphere installation.
$ kubectl get sc
NAME                      PROVISIONER               AGE
glusterfs (default)               kubernetes.io/glusterfs   3d4h

If your Kubernetes cluster environment meets all requirements mentioned above, then you can start to install KubeSphere.

To Start Deploying KubeSphere

Minimal Installation

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

Then 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 all Pods of KubeSphere are running, it means the installation is successful. Check the port (30880 by default) of the console service by the following command. Then you can use http://IP:30880 to access the console with the default account admin/[email protected].

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

Enable Pluggable Components

Attention:

  • KubeSphere supports enable the pluggable components before or after the installation, you can refer to the cluster-configuration.yaml for more details.
  • Make sure there is enough CPU and memory available in your cluster.
  1. [Optional] Create the secret of certificate for Etcd in your Kubernetes cluster. This step is only needed when you want to enable Etcd monitoring.

Note: Create the secret according to the actual Etcd certificate path of your cluster; If the Etcd has not been configured certificate, an empty secret needs to be created.

  • If the Etcd has been configured with certificates, refer to the following step (The following command is an example that is only used for the cluster created by kubeadm):
$ kubectl -n kubesphere-monitoring-system create secret generic kube-etcd-client-certs  \
--from-file=etcd-client-ca.crt=/etc/kubernetes/pki/etcd/ca.crt  \
--from-file=etcd-client.crt=/etc/kubernetes/pki/etcd/healthcheck-client.crt  \
--from-file=etcd-client.key=/etc/kubernetes/pki/etcd/healthcheck-client.key
  • If the Etcd has not been configured with certificates.
kubectl -n kubesphere-monitoring-system create secret generic kube-etcd-client-certs
  1. If you already have a minimal KubeSphere setup, you still can enable the pluggable components by editing the ClusterConfiguration of ks-installer using the following command.

Note: Please make sure there is enough CPU and memory available in your cluster.

kubectl edit cc ks-installer -n kubesphere-system
  1. 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

Upgrade

  1. Download the Yaml file as follows:
wget https://raw.githubusercontent.com/kubesphere/ks-installer/v3.0.0/deploy/kubesphere-installer.yaml
wget https://raw.githubusercontent.com/kubesphere/ks-installer/v3.0.0/deploy/cluster-configuration.yaml
  1. Sync the changes from the v2.1.1 to v3.0.0 in the config section of cluster-configuration.yaml, note the storage class and the pluggable components need to be consistent with the v2.1.1:
kubectl apply -f kubesphere-installer.yaml
kubectl apply -f cluster-configuration.yaml

Note: If your KubeSphere version is v2.1.0 or eariler, please upgrade to v2.1.1 first.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].