debian系linux部署Kubernetes1.34
·
前置准备
注:适用于debian13,ubuntu22.04
1.更新系统
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl gnupg2 lsb-release apt-transport-https ca-certificates curl
2.禁用交换空间
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
3.关闭selinux(需要root)
echo "SELINUX = disabled" >> /etc/selinux/semanage.conf
4.加载内核模块(需要root)
cat <<EOF | tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
modprobe overlay
modprobe br_netfilter
5.配置内核参数
cat <<EOF | sudo 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
sudo sysctl --system
6.设置主机名(可选)
#在主节点上
sudo hostnamectl set-hostname k8s-master
#在工作节点上
sudo hostnamectl set-hostname k8s-worker01
安装容器运行时
1.下载containerd并安装
wget https://dufs.dne.cc.cd/Kubernetes/containerd-2.2.0-linux-amd64.tar.gz
sudo tar Cxzvf /usr/local containerd-2.2.0-linux-amd64.tar.gz
wget https://dufs.dne.cc.cd/Kubernetes/containerd.service
sudo mv containerd.service /usr/lib/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now containerd
2.containerd配置文件
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml && \
sudo grep 'SystemdCgroup' -B 11 /etc/containerd/config.toml
# 使用 sed 替换镜像源
sudo sed -i 's|registry.k8s.io/pause:3.10.1|registry.aliyuncs.com/google_containers/pause:3.10.1|g' /etc/containerd/config.toml
sudo systemctl daemon-reload
sudo systemctl restart containerd.service
3.安装runc
wget https://dufs.dne.cc.cd/Kubernetes/runc.amd64
sudo chmod +x runc.amd64
sudo mv runc.amd64 /usr/bin/runc
#查看runc版本号
runc -v
# 添加 Kubernetes 签名密钥
sudo curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.34/deb/Release.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/kubernetes-apt-keyring.gpg
# 添加 Kubernetes 仓库
sudo echo 'deb [signed-by=/etc/apt/trusted.gpg.d/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.34/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
# 安装kubeadm、kubectl、kubelet
sudo apt update
sudo apt install kubelet=1.34.* kubeadm=1.34.* kubectl=1.34.*
sudo apt-mark hold kubelet kubeadm kubectl
创建配置文件初始化集群
# 创建 kubeadm 配置
cat <<EOF | tee kubeadm-config.yaml
apiVersion: kubeadm.k8s.io/v1beta3
kind: InitConfiguration
localAPIEndpoint:
advertiseAddress: $(hostname -I | awk '{print $1}')
bindPort: 6443
---
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
kubernetesVersion: 1.34.2
imageRepository: registry.aliyuncs.com/google_containers
controlPlaneEndpoint: "$(hostname -I | awk '{print $1}'):6443"
networking:
#如果使用calico,配置成192.168.0.0/16
podSubnet: "10.244.0.0/16"
serviceSubnet: "10.96.0.0/12"
EOF
初始化集群
sudo kubeadm init --config=kubeadm-config.yaml --upload-certs
网络比较慢的话,这步需要较长时间
初始化成功控制台会打印类似
# 配置kubernetes的环境变量
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
# worker节点加入指令
sudo kubeadm join 192.168.15.2:6443 --token f8dht6.gtv6n3wkxxxx \
--discovery-token-ca-cert-hash sha256:3968f3920cc71ed77027e205xxxxxx
# 后期新增节点,重新生成worker节点加入脚本
sudo kubeadm token create --print-join-command
这个需要保存下来,用来将工作节点加入集群中
之后就可以使用kubectl命令查看pod的运行状态了
kubectl get pod -A
安装cni插件,K8s节点通信网络模块
kubectl create -f https://dufs.dne.cc.cd/Kubernetes/kube-flannel.yml
至此,就搭建好了一个K8s集群
更多推荐
所有评论(0)