Home / Platform management / Clusters / Clusters / Node management / Overview

Overview

Nodes are the basic components of a cluster. Nodes added to the cluster can be virtual machines or physical servers. Each node contains the basic components required to run Pods, including Kubelet, Kube-proxy, Container Runtime, etc.

Users with platform management permissions can manage the nodes in the cluster.

Caution: Adding or removing nodes for an access cluster is not supported.

Type of node

Linux node availability check

If you need to build your own cluster, please refer to the table below to check whether the relevant configurations of all nodes in the cluster meet the requirements. Make sure that all necessary conditions are met, otherwise the cluster deployment may fail.

Check item Necessary conditions
SSH Connection Check Check if the password or private key for SSH is correct; SSH connection timeout error; SSH connection other errors.
Host SSH User Permission Check The username of the host must be ROOT and the password must be correct; or a SUDO user without a password.
Check SSHD The UseDNS and UsePAM parameters in the /etc/ssh/sshd_config configuration file must be set to no.
Operating System and Kernel Version Refer to Supported Operating Systems and CPU Models .
Kernel Modules Modules iptable_nat, br_netfilte, and nf_conntrack must exist.
Kernel Network Modules Network kernel modules require:
  • if it is redhat and version<4.18.0, or not redhat and version<4.19.0, nf_conntrack_ipv4 needs to be checked, and if ipv6 is enabled, nf_conntrack_ipv6 also needs to be checked;
  • if using kube-ovn, check for: “geneve”, “openvswitch”;
  • the following modules need to be checked: “ip_vs”, “ip_vs_rr”, “ip_vs_wrr”, “ip_vs_sh”.
  • Kernel Parameters ipv6.disable=0 needs to be configured.
    Check System Tools The following system tools must exist on the host: ip, ss, tar, swapoff, modprobe, sysctl, md5sum, and either scp or sftp.
    Access tmp Directory The account must have permission to execute ls and cat commands in the /tmp directory.
    CPU / Memory At least 2 cores for CPU; at least 2G for memory.
    Check Hostname Get the hostname of the host, which can only start or end with a-z or 0-9, and consist of a-z, 0-9, -, and . (excluding consecutive - or .), with a maximum length of 36 characters. Moreover, the hostname of any two clusters cannot be the same.
    Check kubelet Service The file /etc/systemd/system/kubelet.service cannot exist.
    Swap Partition Turn it off.
    ETCD Directory The data directory is empty.
    Firewall Turn it off.
    SELinux Turn it off.
    Apparmor 1. The Apparmor service is not turned off, and the file /sys/module/apparmor/parameters/enabled does not exist or exists and is set to Y.
    2. Turn off the Apparmor service.
    Default Route The server has a default route or a route pointing to the address 0.0.0.0.
    Port Availability Check if the following listening ports are occupied:
  • All ports to be checked: 10249, 10250, 10256.
  • Master node: 2379, 2380, 6443, 10249, 10250, 10251, 10252, 10256.
  • Kube-ovn port: 6641, 6642.
  • Calico port: 179.
  • Network Interface Card Both the cluster and host configured network interface cards exist.
    Hardware architecture The hardware architecture (X86, ARM) of the node must be the same as that of the cluster.
    /etc/hosts There should be no duplicate IP addresses in the hosts file.
    Time zone The time zone of all hosts must be the same.
    Host time The synchronization error between all hosts must be less than 10 seconds.
    IP address The IP address must exist. If IPv6 address is enabled, the IPv6 address must also exist and meet the following conditions:
  • The node IP address cannot be a loopback IP: 127.0.0.1, 0:0:0:0:0:0:0:0 or ::.
  • The node IP address cannot be a multicast address: 224.0.0.0 to 239.255.255.255, or an IPv6 address starting with FF.
  • The node IP address cannot be a link-local address: 169.254.0.0/16* address block, fe80::/10* address block.
  • The node IP address cannot be a zero address.
  • The node IP address cannot be a broadcast address: 255.255.255.255.
  • IP segment The IP address of the required network segment 172.16.x.x - 172.32.x.x for Docker must not be occupied.
    If the IP address of this network segment is already occupied and cannot be changed, modify the Docker configuration file on all nodes to add the bip parameter to avoid Docker using the occupied IP address.
    Node connectivity The node and its SSH port can be accessed normally.
    Node access to the platform The node can access the platform through the platform address.
    Whether the node can access the platform mirror repository The node can access the platform’s mirror repository.
    Whether the node IP is in any of the configured network segments For non-underlay scenarios with the default subnet, the node IP is not in any of the configured network segments (default subnet segment, container subnet segment, Service subnet segment, Join subnet segment).
    Check DNS The /etc/resolv.conf file must exist, have a configuration item for nameserver, and not allow addresses starting with 127 to be configured.
    Check pki directory The pki directory can be empty or not exist.
    Check cri directory space Check the current available size of the specified directory /var/lib/containerd or /var/lib.
    Check timeout Check that the default timeout is around 110s.
    Check non-existent directories The /var/log/pods directory cannot exist.
    /usr/bin service If the “docker”, “containerd”, “runc” services exist, they must be in the /usr/bin directory.

    Supported operating systems and CPU models

    Architecture CPU Model Supported Operating System Version Information Remarks
    Promised Support Test Verification
    ARM Kunpeng 920 Kylin

    Kylin Linux Advanced Server Release V10

    • Kylin V10
    • Kylin V10-SP1
    • Kylin V10-SP2
    • Kylin V10-SP3

    Kernel version: Only the kernel version that comes with the official operating system is allowed, and it must be consistent with the test-verified kernel version (e.g., A.B.C). The part after "-" can be inconsistent.

    • Kylin Linux Advanced Server Release (Kylin V10)
      Kernel version: 4.19.90-11.ky10.aarch64
    • Kylin Linux Advanced Server Release (Kylin V10 SP1)
      Kernel version: 4.19.90-17.ky10.aarch64
    • Kylin Linux Advanced Server Release (Kylin V10 SP2)
      Kernel version: 4.19.90-24.4.v2101.ky10.aarch64
    • Kylin Linux Advanced Server Release (Kylin V10 SP3)
      Kernel version: 4.19.90-52.22.v2207.ky10.aarch64

    Flannel network plugin is not supported.

    Network issues occasionally occur in the operating systems of versions [Kylin V10], [Kylin V10-SP1], and [Kylin V10-SP2]. Only supported for use after upgrading legacy projects.

    Please use version [Kylin V10-SP3] for new projects.

    x86 - Kylin

    Kylin Linux Advanced Server Release V10

    • Kylin V10
    • Kylin V10-SP1
    • Kylin V10-SP2
    • Kylin V10-SP3

    Kernel version: Only the kernel version that comes with the official operating system is allowed, and it must be consistent with the test-verified kernel version (e.g., A.B.C). The part after "-" can be inconsistent.

    • Kylin Linux Advanced Server Release (Kylin V10)
      Kernel version: 4.19.90-11.ky10.x86_64
    • Kylin Linux Advanced Server Release (Kylin V10 SP1)
      Kernel version: 4.19.90-23.8.v2101.ky10.x86_64
    • Kylin Linux Advanced Server Release (Kylin V10 SP2)
      Kernel version: 4.19.90-24.4.v2101.ky10.x86_64
    • Kylin Linux Advanced Server Release (Kylin V10 SP3)
      Kernel version: 4.19.90-52.22.v2207.ky10.x86_64

    Flannel network plugin is not supported.

    Network issues occasionally occur in the operating systems of versions [Kylin V10], [Kylin V10-SP1], and [Kylin V10-SP2]. Only supported for use after upgrading legacy projects.

    Please use version [Kylin V10-SP3] for new projects.

    Ubuntu

    Ubuntu 20.04, 22.04

    Kernel version: Only the kernel version that comes with the official operating system is allowed, and it must be consistent with the test-verified kernel version (e.g., A.B.C). The part after "-" can be inconsistent.

    HWE versions of Ubuntu are not supported

    • Ubuntu 20.04  Kernel version: 5.4.0-124-generic
    • Ubuntu 22.04  Kernel version: 5.15.0-56-generic
    Redhat

    Redhat 7.8, 8.0~8.6

    Kernel version: Only the kernel version that comes with the official operating system is allowed, and it must be consistent with the test-verified kernel version (e.g., A.B.C). The part after "-" can be inconsistent.

    • Redhat 7.8  Kernel version: 3.10.0-1127.el7.x86_64
    • Redhat 8.0  Kernel version: 4.18.0-80.el8.x86_64
    • Redhat 8.6  Kernel version: 4.18.0-372.9.1.el8.x86_64
    • Redhat 7.8  does not support Calico Vxlan IPv6 (dual stack, IPv6 single stack)
    • Ceph Object requires kernel version >= 4.11
    CentOS

    CentOS 7.6, 7.7, 7.8, 7.9

    3.10.0-1127 ≤ Kernel version < 3.11

    CentOS 7.6, 7.7, 7.8, 7.9

    Kernel version: 3.10.0-1160, 3.10.0-1127

    • Does not support Calico Vxlan IPv6 (dual stack, IPv6 single stack)
    • Ceph Object requires kernel version >= 4.11