1. Release Notes
    1. Release Notes - 2.0.2Latest
    1. Release Notes - 2.0.1
    1. Release Notes - 2.0.0
  1. Introduction
    1. Introduction
    1. Features
    1. Architecture
    1. Advantages
    1. Glossary
  1. Installation
    1. Intruction
      1. Intro
      2. Port Requirements
    1. Install on Linux
      1. All-in-One Installation
      2. Multi-Node Installation
      3. Installing HA Master and Etcd Cluster
      4. Storage Configuration Instruction
    1. Install on Kubernetes
      1. Prerequisites
      2. Online Installation
      3. Offline Installation
    1. Related Tools
      1. Integrating Harbor Registry
    1. Cluster Operation
      1. Adding New Nodes
      2. High Risk Operation
      3. Uninstalling KubeSphere
  1. Quick Start
    1. Getting Started with Multitenancy
    1. Exposing your APP using Ingress
    1. Deploying a MySQL Application
    1. Deploying a Wordpress Website
    1. Job to compute π to 2000 places
    1. Deploying Grafana using APP Template
    1. Creating Horizontal Pod Autoscaler
    1. S2i: Publish your app without Dockerfile
    1. Canary Release of Microservice APP
    1. CI/CD based on Spring Boot Project
    1. Building a Pipeline in a Graphical Panel
    1. CI/CD based on GitLab and Harbor
    1. Ingress-Nginx for Grayscale Release
  1. Cluster Admin Guide
    1. Multi-tenant Management
      1. Overview of Multi-tenant Management
      2. Overview of Role Management
    1. Platform Management
      1. Account Management
      2. Platform Roles Management
    1. Infrastructure
      1. Service Components
      2. Nodes
      3. Storage Classes
    1. Monitoring Center
      1. Physical Resources
      2. Application Resources
    1. Application Repository
    1. Jenkins System Settings
  1. User Guide
    1. Application Template
    1. Workloads
      1. Deployments
      2. StatefulSets
      3. DaemonSets
      4. Jobs
      5. CronJobs
    1. Storage
      1. Volumes
    1. Network & Services
      1. Services
      2. Routes
    1. Configuration Center
      1. Secret
      2. ConfigMap
      3. Image Registry
    1. Project Settings
      1. Basic Information
      2. Member Roles
      3. Project Members
      4. Internet Access
    1. DevOps Project
      1. DevOps Project Management
      2. DevOps Project Management
      3. DevOps Project Management
      4. DevOps Project Management
      5. DevOps Project Management
  1. Development Guide
    1. Preparing the Development Environment
    1. Development Workflow
  1. API Documentation
    1. API Guide
    1. How to invoke KubeSphere API
KubeSphere®️ 2020 All Rights Reserved.

Add New Nodes and Cordon Node

After installing KubeSphere, you may encounter insufficient capacity in the formal environment. In this case, it's required to add new nodes and then scale the system horizontally to complete the expansion. It allows cluster operator to expand the cluster according to actual business needs, and it's quite easy to add new nodes in the cluster. Adding new nodes are based on Kubelet's automatic registration mechanism, and the new nodes will automatically join the existing Kubernetes cluster.


Noted that if the environment is installed with the all-in-one mode, it's not recommended to add new nodes while the storage class is set to Local volume by default. Installer only supports to add new nodes if you launched with multi-node mode installation.

Step 1: Modify the Host Configuration

KubeSphere supports mixed expansion, that is, the newly added host OS can be CentOS or Ubuntu. After applying for a new host, add a line of parameters in the [all] and [kube-node] sections of conf/hosts.ini according to the new host information. If you are going to expand multiple hosts, add more lines of parameter. It's not allowed to modify the host name of the original nodes (e.g. master, node1, and node2) when adding a new node.

The following section shows adding a new node (i.e. node3) using root user as an example configuration.

master ansible_connection=local  ip=
node1  ansible_host=  ip=  ansible_ssh_pass=PASSWORD
node2  ansible_host=  ip=  ansible_ssh_pass=PASSWORD    
node3  ansible_host=  ip=  ansible_ssh_pass=PASSWORD  

Step 2: Execute the script

Execute the add-nodes.sh script in the "/script" directory.

$ ./add-nodes.sh

Finally, you will be able to see the new node information on the KubeSphere console after successful return. Select Infrastructure → Nodes from the left menu, or using kubectl get node command can also see the changes.

Cordon Node

Similarly, if you need to cordon or isolate nodes in the cluster, such as hardware upgrades, hardware maintenance, etc., in this scenario the cluster administrator can choose Infrustructure → Nodes from the menu, then click the Cordon button, see Node Management.

Cordon Node