跳到主要内容

after-system-install

静态IP

设置静态ip

修改镜像源

cp /etc/apt/sources.list /etc/apt/sources.list.bak

# ubuntu
sudo sed -i "s/cn.archive.ubuntu.com/mirrors.ustc.edu.cn/g" /etc/apt/sources.list
sudo sed -i "s/cn.security.ubuntu.com/mirrors.ustc.edu.cn/g" /etc/apt/sources.list

# debian
sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sed -i 's|security.debian.org|mirrors.ustc.edu.cn|g' /etc/apt/sources.list

sudo 免密

sudo visudo

# 在文件中增加一行 ${username} ALL=(ALL) NOPASSWD : ALL
cloud ALL=(ALL) NOPASSWD : ALL

启用 root 远程

修改 /etc/ssh/sshd_config:
AuthorizedKeysFile %h/.ssh/authorized_keys %h/.ssh/authorized_keys2 (公钥文件路径)

PermitRootLogin yes

systemctl restart ssh

安装依赖

apt-get install -y socat conntrack ebtables ipset ipvsadm ethtool apt-transport-https ca-certificates

修改时区和设置时间同步

timedatectl list-timezones

timedatectl set-timezone Asia/Shanghai

apt-get purge systemd-timesyncd -y

apt-get install chrony -y

vi /etc/chrony/chrony.conf

#pool ntp.ubuntu.com iburst maxsources 4
#pool 0.ubuntu.pool.ntp.org iburst maxsources 1
#pool 1.ubuntu.pool.ntp.org iburst maxsources 1
#pool 2.ubuntu.pool.ntp.org iburst maxsources 2

pool ntp.ntsc.ac.cn iburst maxsources 4
pool cn.ntp.org.cn iburst maxsources 1
pool time.pool.aliyun.com iburst maxsources 1
pool cn.pool.ntp.org iburst maxsources 2
pool ntp.ubuntu.com iburst maxsources 2

systemctl restart chrony

关闭防火墙

sudo systemctl stop ufw

sudo ufw disable

sudo systemctl disable ufw

sudo apt-get purge ufw

禁用 swap

sudo swapoff -a

sudo vi /etc/fstab
# 注释 swap 那一行

转发 IPv4

cat <<EOF | tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

# 设置所需的 sysctl 参数,参数在重新启动后保持不变
cat <<EOF | tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF

# 应用 sysctl 参数而不重新启动
sudo sysctl --system

install k8s

使用 sealos 安装

sealos --cluster fs-cloud add --nodes xxx.xxx.xxx.xxx,xxx.xxx.xxx.xxx 

手动安装

install containerd

# wget https://gh.api.99988866.xyz/https://github.com/containerd/nerdctl/releases/download/v1.0.0/nerdctl-full-1.0.0-linux-amd64.tar.gz
wget https://github.91chi.fun/https://github.com/containerd/nerdctl/releases/download/v1.0.0/nerdctl-full-1.0.0-linux-amd64.tar.gz

sudo tar Cxzvvf /usr/local nerdctl-full-1.0.0-linux-amd64.tar.gz

sudo systemctl enable --now containerd

install kubeadm kubelet kubectl

sudo apt-get update && sudo apt-get install -y apt-transport-https

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -

cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF


sudo apt-get update

# 安装最新版本
sudo apt-get install -y kubelet kubeadm kubectl

# 安装指定版本
version=1.18.20-00
sudo apt-get install -y kubelet=$version kubeadm=$version kubectl=$version

sudo apt-mark hold kubelet kubeadm kubectl

到主节点获取加入集群指令

kubeadm token create --print-join-command