ubuntu2026.04部署k8s1.36版本的傻瓜式教程(注:运行时为containerd,网络插件为calico)

AI 驱动代码审查实战

Claude code-review 插件深度解析,把 AI 智能审查接进 CI/CD 流水线

环境

Ip主机名cpu内存
192.168.10.12master014c6G
192.168.10.13node14c6G
192.168.10.14node24c6G
组件版本
UbuntuUbuntu 26.04 server
containerdv2 2.2.2
Kubernetesv1.36.1

注k8sv1.36不要用docker做运行时,有bug
创完k8s群集后exec不进容器里

本文采用
containerd作为容器运行时
Calico作为CNI网络插件
kubeadm方式部署

99%的操作直接复制就行,命令都是测试过的。除了k8s初始化的token需要看自己的

操作步骤

修改主机名

master01(192.168.10.12)操作

hostnamectl set-hostname master01

node01(192.168.10.13)操作

hostnamectl set-hostname node01

node02(192.168.10.14)操作

hostnamectl set-hostname nde02

三台主机同时操作

配置阿里云yum源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

tee /etc/apt/sources.list << 'EOF'
deb https://mirrors.aliyun.com/ubuntu/ resolute main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ resolute-updates main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ resolute-backports main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ resolute-security main restricted universe multiverse
EOF

apt update
配置host域名解析
cat >> /etc/hosts << EOF
192.168.10.12 master01
192.168.10.13 node01
192.168.10.14 node02
EOF
cat /etc/hosts

在这里插入图片描述

关闭swap
swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab
free -h

在这里插入图片描述

加载内核模块并开启网络转发
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

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
安装containerd

Ubuntu 26.04 的默认仓库中包含 containerd 包

sudo apt install -y containerd

sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml

sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
sudo sed -i "s|sandbox = 'registry.k8s.io/pause:3.10.1'|sandbox = 'registry.aliyuncs.com/google_containers/pause:3.10.1'|g" /etc/containerd/config.toml
sudo sed -i "s|config_path = ''|config_path = '/etc/containerd/certs.d'|" /etc/containerd/config.toml
#配置镜像加速
cd /etc/containerd/certs.d
# docker.io
sudo mkdir -p docker.io
cat <<'EOF' | sudo tee docker.io/hosts.toml
server = "https://docker.io"
[host."https://docker.1ms.run"]
  capabilities = ["pull", "resolve"]
[host."https://docker.m.daocloud.io"]
  capabilities = ["pull", "resolve"]
EOF

# registry.k8s.io
sudo mkdir -p registry.k8s.io
cat <<'EOF' | sudo tee registry.k8s.io/hosts.toml
server = "https://registry.k8s.io"
[host."https://k8s.m.daocloud.io"]
  capabilities = ["pull", "resolve"]
EOF

# quay.io
sudo mkdir -p quay.io
cat <<'EOF' | sudo tee quay.io/hosts.toml
server = "https://quay.io"
[host."https://quay.m.daocloud.io"]
  capabilities = ["pull", "resolve"]
EOF

# ghcr.io
sudo mkdir -p ghcr.io
cat <<'EOF' | sudo tee ghcr.io/hosts.toml
server = "https://ghcr.io"
[host."https://ghcr.m.daocloud.io"]
  capabilities = ["pull", "resolve"]
EOF

# gcr.io
sudo mkdir -p gcr.io
cat <<'EOF' | sudo tee gcr.io/hosts.toml
server = "https://gcr.io"
[host."https://gcr.m.daocloud.io"]
  capabilities = ["pull", "resolve"]
EOF


sudo systemctl restart containerd
sudo systemctl enable containerd

安装crictl(可选)

wget https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.36.0/crictl-v1.36.0-linux-amd64.tar.gz
tar zxvf crictl-v1.36.0-linux-amd64.tar.gz -C /usr/local/bin
crictl version
安装k8s组件
mkdir -p /etc/apt/keyrings

curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.36/deb/Release.key | \
gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.36/deb/ /" |\
tee /etc/apt/sources.list.d/kubernetes.list

apt update
apt install -y kubelet=1.36.2-2.1 kubeadm=1.36.2-2.1 kubectl=1.36.2-2.1
apt-mark hold kubelet kubeadm kubectl

kubeadm version
kubectl version --client
kubelet --version

在这里插入图片描述

master01(192.168.10.12)操作

k8s群集初始化
kubeadm init \
  --apiserver-advertise-address=192.168.10.12 \
  --image-repository=registry.aliyuncs.com/google_containers \
  --kubernetes-version=v1.36.2 \
  --pod-network-cidr=172.16.0.0/16 

在这里插入图片描述

  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

node节点(192.168.10.13/14)操作

node节点加入k8s群集

token要跟k8s群集初始化的输出结果一样,不要复制我这个
在这里插入图片描述

kubeadm join 192.168.10.12:6443 --token 16vftw.lnioqd010c3n7tjn \
        --discovery-token-ca-cert-hash sha256:ded58b64444094269951ce0f1cadc917b8e808accb1b16e3c0b1d6126419b3bf 

验证

kubectl get nodes

NotReady是因为还没安装网络插件
在这里插入图片描述

kubectl get pod -A

coredns需要安装calico后才会running
在这里插入图片描述

master01(192.168.10.12)操作

安装calico网络插件

下载yaml文件并替换成国内镜像地址

wget https://gitee.com/mirrors/calico/raw/v3.30.3/manifests/calico.yaml
sed -i 's#docker.io/#docker.m.daocloud.io/#g' calico.yaml
grep "image:" calico.yaml

在这里插入图片描述

kubectl apply -f calico.yaml
kubectl get pod -A

等待5分钟左右
在这里插入图片描述
到这里k8s群集就搭建完了

总结

博客中很多命令原来都有注释方便理解,后面就全删了,一是一个部署也不需要太注意每条命令的作用,二是看博客的估计也不在意注释,都是直接复制粘贴(本人就是),三是这玩意直接问ai就行。写在博客里就有些冗余了。

如果部署中还有其他问题评论即可。

AI 驱动代码审查实战

Claude code-review 插件深度解析,把 AI 智能审查接进 CI/CD 流水线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃龙利鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值