Linux Ubuntu apt包管理器安装K8s1.30.1+Ingress-Nginx

发布于:2025-07-18 ⋅ 阅读:(21) ⋅ 点赞:(0)

Linux Ubuntu apt包管理器安装K8s1.30.1+Ingress-Nginx

一、基础配置

1、关闭swap
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
2、关闭防火墙(可选)
sudo systemctl disable --now ufw
3、加载必要模块 & 配置内核参数
# 加载模块
sudo modprobe overlay
sudo modprobe br_netfilter

# 配置内核参数
cat <<EOF | sudo tee /etc/sysctl.d/kubernetes.conf
net.bridge.bridge-nf-call-iptables  = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward                 = 1
EOF

sudo sysctl --system

# 开机自动加载 br_netfilter 内核模块
echo "overlay" >> /etc/modules-load.d/k8s.conf
echo "br_netfilter" | sudo tee /etc/modules-load.d/k8s.conf

二、安装contained容器运行时

# 安装依赖
sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release

# 安装 containerd
sudo apt install -y containerd

# 配置默认文件
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml

# 配置镜像加速器
sed -i '/\[plugins."io.containerd.grpc.v1.cri".registry.mirrors\]/a\
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]\n\
        endpoint = ["https://docker.1ms.run"]
' /etc/containerd/config.toml


# 修改containerd的镜像源
sudo sed -i 's|sandbox_image = .*|sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"|' /etc/containerd/config.toml


# 修改 Cgroup Driver 为 systemd
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml

# 重启服务
sudo systemctl restart containerd && sudo systemctl enable containerd

三、安装 Kubernetes 组件

1、添加apt源
# 创建 keyrings 目录,用于存放源的签名文件(Ubuntu 22.04 推荐做法)
sudo mkdir -p /etc/apt/keyrings

# 下载阿里云 Kubernetes 1.30 的 GPG 签名文件,并转为 APT 可识别的格式(.gpg)
curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/Release.key | \
  gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

# 添加 Kubernetes 1.30 的 APT 软件源到系统源列表
# signed-by= 指定只信任这个源对应的 GPG 密钥,避免信任全局
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] \
https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.30/deb/ /" | \
sudo tee /etc/apt/sources.list.d/kubernetes.list

apt update
2、安装k8s 1.30.1
# 安装 kubelet、kubeadm、kubectl 的 1.30.1 版本
sudo apt install -y kubelet=1.30.1-1.1 kubeadm=1.30.1-1.1 kubectl=1.30.1-1.1

# 锁定版本,防止未来 apt upgrade 时被升级
sudo apt-mark hold kubelet kubeadm kubectl

四、初始化集群

1、拉取镜像
#拉取所需镜像

sudo kubeadm config images pull \
  --image-repository=registry.aliyuncs.com/google_containers \
  --kubernetes-version=v1.30.1
2、初始化集群
# 使用默认的 containerd 和 flannel 的 pod 网段 10.244.0.0/16
# 初始化 kubeadm(将 IP 替换为你 master 节点的实际 IP)
sudo kubeadm init \
  --apiserver-advertise-address=IP \
  --image-repository=registry.aliyuncs.com/google_containers \
  --kubernetes-version=1.30.1 \
  --pod-network-cidr=10.244.0.0/16
3、配置kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
4、其他节点加入集群
kubeadm join 10.15.224.12:6443 --token ttwtjc.r7ef5vy8ispwe427 \
	--discovery-token-ca-cert-hash sha256:785fe1b9b8fe28e09b7387c7fb391b3f7f40963dc2333d251321ec9b934863a3

五、安装网络插件(大集群用calico,中、小集群用Flannel)

kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

六、安装ingress-nginx v1.13

已经更换镜像地址
kubectl apply -f https://gitee.com/zhangjq1231/helloops/raw/master/yaml/ingress-nginx/ingress-nginx.yaml

网站公告

今日签到

点亮在社区的每一天
去签到