基于kubeadm部署k8s-v1.26 All-in-One

测试环境

AnolisOS-8.6-x86_64-minimal.iso
Virtual Box,4 vCPU, 8G RAM, 40 vDisk

系统配置

关闭selinux,默认已关闭
sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g’ /etc/selinux/config
关闭防火墙
systemctl disable --now firewalld
允许iptables检查桥接流量
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system
配置主机名解析
cat >> /etc/hosts << EOF
192.168.1.155 master
EOF
关闭swap
vi /etc/fstab,注释掉
#/dev/mapper/ao-swap
重启系统

Docker软件仓库

cat > /etc/yum.repos.d/docker-ce.repo << EOF
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
EOF

Kubernetes 软件仓库

cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

清除,更新缓存
yum clean all && yum makecache

安装依赖包

yum -y install ipvsadm iproute-tc socat conntrack-tools

安装containerd

yum -y install containerd.io
containerd config default > /etc/containerd/config.toml
修改/etc/containerd/config.toml
SystemdCgroup = true
sandbox_image = “registry.aliyuncs.com/google_containers/pause:3.9”

cat /etc/containerd/config.toml | grep System
cat /etc/containerd/config.toml | grep sandbox_image

systemctl enable --now containerd
systemctl restart containerd
systemctl status containerd

安装kubeadm

yum list kubectl kubeadm kubelet --showduplicates|sort -r | grep 1.26
yum -y install kubectl-1.26.9-0 kubelet-1.26.9-0 kubeadm-1.26.9-0 --disableexcludes=kubernetes
systemctl enable --now kubelet
设置 crictl 连接 containerd
crictl config --set runtime-endpoint=unix:///run/containerd/containerd.sock
使用kubeadm config生成配置
kubeadm config print init-defaults > init.default.yaml
编辑init.default.yaml
advertiseAddress: 192.168.50.109
name: node
imageRepository: registry.aliyuncs.com/google_containers
kubernetesVersion: 1.26.9
podSubnet: 172.16.0.0/16
#列出kubeadm 所需的镜像
kubeadm config images list --config=init.default.yaml
下载镜像
kubeadm config images pull --config=init.default.yaml
初始化集群
kubeadm init --config=init.default.yaml
设置root用户加载k8s环境变量
export KUBECONFIG=/etc/kubernetes/admin.conf
删除控制平面上的污点,以便您可以在其上调度 Pod
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
获取 k8s 节点信息
kubectl get node
**注意:**此时STATUS is NotReady
kubectl get pod -A

安装calico

Containerd导入离线镜像
获取命名空间
ctr namespace list
ctr -n k8s.io image import cni-v3.23.1.tar
ctr -n k8s.io image import kube-controllers-v3.23.1.tar
ctr -n k8s.io image import node-v3.23.1.tar
查看镜像
crictl image
curl -O https://raw.githubusercontent.com/projectcalico/calico/v3.25.2/manifests/calico.yaml
编辑calico.yaml
name: CALICO_IPV4POOL_CIDR
value: “172.16.0.0/16” #和 --pod-network=172.16.0.0/16 保持一致
同时,修改image,改为本地镜像
kubectl create -f calico.yaml
kubectl get node
**注意:**此时STATUS is Ready
kubectl get pod -A

  • 25
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值