Ubuntu 24.04 搭建k8s 1.33.4

安装常用的基础工具:

shell 复制代码
apt-get update
apt-get install -y apt-transport-https ca-certificates curl gnupg

添加签名和配置基础源:

shell 复制代码
apt-get update && apt-get install -y apt-transport-https
curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.34/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://mirrors.aliyun.com/kubernetes-new/core/stable/v1.34/deb/ /" |
    tee /etc/apt/sources.list.d/kubernetes.list

开始安装kubeadm工具:

shell 复制代码
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

配置网络策略:

shell 复制代码
echo "net.ipv4.ip_forward = 1" | tee /etc/sysctl.d/k8s.conf
sysctl --system

开始配置运行时:

apt安装

shell 复制代码
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
udo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y containerd.io
systemctl  start containerd
systemctl enable containerd
systemctl status containerd

手动安装:

开始配置运行时

shell 复制代码
mkdir /etc/containerd
containerd config default > /etc/containerd/config.toml
# 启动SystemdCgroup
vim /etc/containerd/config.toml
[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.runc.options]
SystemdCgroup = true
# 还有一个66行中的:
sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.8"
# 开始重启containerd
systemctl restart containerd

安装客户端工具方便后期使用:

shell 复制代码
wget -c https://gh.monlor.com/https://github.com/containerd/nerdctl/releases/download/v2.1.4/nerdctl-2.1.4-linux-amd64.tar.gz
tar -zxf nerdctl-2.1.4-linux-amd64.tar.gz
mv nerdctl /usr/bin/nerdctl
mkdir /etc/nerdctl
echo 'namespace = "k8s.io"' | tee /etc/nerdctl/nerdctl.toml
# 可以给nerdctl 修改一个别名方便使用

开始进行初始化:

shell 复制代码
kubeadm init --apiserver-advertise-address=10.0.8.4 --pod-network-cidr=172.16.0.0/12 --service-cidr=192.168.0.0/16 --image-repository=registry.aliyuncs.com/google_containers


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

开始安装网络插件calico

shell 复制代码
curl https://gh.monlor.com/https://raw.githubusercontent.com/projectcalico/calico/v3.30.3/manifests/calico-typha.yaml -o calico.yaml # 注意,这边使用的官网的地址,可能会导致无法下载下来,还要修改里面的docker镜像要不然国内无法使用
kubectl  apply -f calico.yaml    # 进行加载此配置即可

开始验证是否完成:

相关推荐
Dovis(誓平步青云)3 小时前
《Linux 基础指令实战:新手入门的命令行操作核心教程(第一篇)》
linux·运维·服务器
好名字更能让你们记住我3 小时前
MYSQL数据库初阶 之 MYSQL用户管理
linux·数据库·sql·mysql·adb·数据库开发·数据库架构
能不能别报错3 小时前
K8s学习笔记(二):Pod
笔记·学习·kubernetes
半桔4 小时前
【网络编程】TCP 服务器并发编程:多进程、线程池与守护进程实践
linux·服务器·网络·c++·tcp/ip
维尔切4 小时前
Shell 脚本编程:函数
linux·运维·自动化
穷人小水滴4 小时前
胖喵必快 (pmbs): btrfs 自动快照工具 (每分钟快照)
linux·rust
云泽8085 小时前
从ENIAC到Linux:计算机技术与商业模式的协同演进
linux·运维·服务器
wheeldown5 小时前
【Linux】【实战向】Linux 进程替换避坑指南:从理解 bash 阻塞等待,到亲手实现能执行 ls/cd 的 Shell
linux·运维·bash
zyt05025 小时前
四、计算机网络与分布式系统(中)
linux·计算机网络·程序人生