1、环境配置
(1)添加主机名称解析记录
cat > /etc/hosts << EOF 192.168.44.200 master01 master01.bypass.cn 192.168.44.201 node01 node01.bypass.cn 192.168.44.202 node02 node02.bypass.cn EOF
(2)禁止K8s使用虚拟内存
swapoff -a sed -ri 's@(.*swap.*)@#\1@g' /etc/fstab
(3)开启内核ipv4转发
modprobe br_netfilter cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward=1 vm.swappiness=0 EOF sysctl -p /etc/sysctl.d/k8s.conf
(4) 安装ipvsadm,加载ipvs模块
apt-get install ipset ipvsadm -y
cat > /etc/modules-load.d/ipvs.conf << EOF
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack
EOF
加载模块,并进行检查
modprobe --all ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh nf_conntrack
lsmod|grep -e ip_vs -e nf_conntrack
(5)时间同步
apt-get install chrony -y systemctl start chrony
systemctl enable chrony timedatectl set-timezone Asia/Shanghai chronyc sources
2、部署集群
(1)安装Containerd
wget http://file.oldxu.net/cri-containerd-1.6.18-linux-amd64.tar.gz tar xf cri-containerd-1.6.18-linux-amd64.tar.gz -C / systemctl daemon-reload systemctl start containerd
systemctl enable containerd
ctr version
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml
vi /etc/containerd/config.toml
修改内容
[plugins."io.containerd.grpc.v1.cri"] sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9" [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options] SystemdCgroup = true [plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://kd88kykb.mirror.aliyuncs.com"]
测试
ctr image pull dokcer.io/library/nginx:1.20
(2)安装nerdctl
wget http://file.oldxu.net/nerdctl-1.2.1-linux-amd64.tar.gz tar xf nerdctl-1.2.1-linux-amd64.tar.gz mv nerdctl /usr/bin/
#ln -s /usr/bin/docker /usr/bin/nerdctl
#docker images
echo 'source <(nerdctl completion bash)' >> /etc/profile source /etc/profile nerdctl pull nginx:1.18 nerdctl images
(3)安装集群工具
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.list deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main EOF apt update && apt-get install -y kubeadm=1.26.0-00 kubelet=1.26.0-00 kubectl=1.26.0-00 #下载容器镜像 kubeadm config images list --kubernetes-version v1.26.0 kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.26.0
(4)初始化Master节点
kubeadm init \ --apiserver-advertise-address=192.168.44.200 \ --control-plane-endpoint="master01.bypass.cn" \ --image-repository=registry.aliyuncs.com/google_containers \ --kubernetes-version=v1.26.0 \ --service-cidr=10.96.0.0/12 \ --pod-network-cidr=10.244.0.0/16 \ --cri-socket=/run/containerd/containerd.sock
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
(5) 初始化node节点
kubeadm join master01.bypass.cn:6443 --token ai9eru.bueon1ib9bhlf5rz \
--discovery-token-ca-cert-hash sha256:50c21633205d2d47d1c4e496a422e2c56018a5bc03d62849ff5c5ceb8456407f
(6)安装Calico网络插件
wget https://docs.projectcalico.org/manifests/calico.yaml
vi calico.yaml # - name: CALICO_IPV4POOL_CIDR # value: "10.244.0.0/16"
kubectl apply -f calico.yaml
标签:LTS,kubernetes,Kubernetes,--,containerd,apt,etc,vs,20.04 From: https://www.cnblogs.com/xiaozi/p/17584569.html