Before installing the global
cluster, all nodes (control plane nodes and worker nodes) must complete preprocessing.
The installation package provides a script for quickly configuring nodes.
Unzip the installation package to obtain the init.sh
script file in the res
directory. Copy the script file to the nodes and ensure that you have root
privileges.
Execute the script:
init.sh
cannot guarantee that all of the following checks are properly handled. You still need to continue with the steps below.
The following lists all the checks that must be completed on the nodes. Depending on the node's role, the required checks will vary. For example, some checks apply only to control plane nodes.
Checks are divided into two categories:
The following is the list of checks:
OS and Kernel
transparent_hugepage=never
parameter.cgroup.memory=nokmem
parameter.ip_vs
, ip_vs_rr
, ip_vs_wrr
, and ip_vs_sh
are enabled.nf_conntrack_ipv4
and (for IPv6) nf_conntrack_ipv6
are enabled.global
cluster plans to use Kube-OVN
CNI, the kernel modules geneve
and openvswitch
must be enabled.swap
.Users and Permissions
root
privileges and can use sudo
without the password.UseDNS
and UsePAM
parameters in /etc/ssh/sshd_config
must be set to no
.systemctl show --property=DefaultTasksMax
returns infinity
or a very large value; otherwise, adjust /etc/systemd/system.conf
.Node Network
hostname
must comply with the following rules:
-
, and .
, but cannot contain .-
, ..
, or -.
.localhost
in /etc/hosts
must resolve to 127.0.0.1
./etc/resolv.conf
file must exist and contain nameserver
configurations, but must not contain addresses starting with 172 (disable systemd-resolved)./etc/resolv.conf
file should not configure search domains (if you must configure them, see Configure Search Domain).ip route
must return a default route or a route pointing to 0.0.0.0
.2379
, 2380
, 6443
, 10249
~ 10256
8080
, 12080
, 12443
, 16443
, 2379
, 2380
, 6443
, 10249
~ 10256
10249
~ 10256
global
cluster uses Kube-OVN or Calico, ensure that the following ports are not occupied:
6641
, 6642
179
172.16.x.x
~ 172.32.x.x
required by Docker are not occupied. If the IPs in this network segment are occupied and cannot be changed, please contact technical support.Software and Directory Requirements:
ip
, ss
, tar
, swapoff
, modprobe
, sysctl
, md5sum
, and scp
or sftp
.lvm2
./etc/systemd/system/kubelet.service
file is not allowed to exist./tmp
mount parameters must not contain noexec
.global
cluster components (see Remove Conflicting Packages)./var/lib/docker
/var/lib/containerd
/var/log/pods
/var/lib/kubelet/pki
Cross-Node Checks
global
cluster.hostname
of each node in the cluster must be unique.Before installation, applications may already be running in the docker/containerd environment on the nodes, or software conflicting with the global
cluster may have been installed. Therefore, it is necessary to check and uninstall conflicting packages.
/usr/local/bin/
(such as software related to docker, containerd, runc, podman, container network, container runtime, or Kubernetes).The following commands can be used for reference.
Check:
Uninstall:
In Linux OS, the /etc/resolv.conf
file is used to configure DNS client domain name resolution settings. The search
line specifies the domain search path for DNS queries.
Configuration Requirements
search
line should be less than domainCountLimit - 3
(default domainCountLimit
is 32).MaxDNSSearchListChar
(default is 2048).Example
domain1.com
, is 11.search
line in the /etc/resolv.conf
file does not meet the above limitations, it may cause DNS query failures or performance degradation./etc/resolv.conf
file, it is recommended to back up the file.