在 CentOS 上配置 k8s 安装环境

一 环境要求与规划
二 所有节点通用配置
systemctl stop firewalld && systemctl disable firewalldsetenforce 0sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configswapoff -ased -i '/swap/d' /etc/fstabhostnamectl set-hostname k8smaster # 在对应节点执行cat >> /etc/hosts <<EOF172.16.3.181 k8smaster172.16.3.182 k8snode1172.16.3.183 k8snode2EOFmodprobe br_netfiltercat > /etc/sysctl.d/k8s.conf <<EOFnet.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables= 1net.ipv4.ip_forward = 1EOFsysctl -p /etc/sysctl.d/k8s.confyum install -y ntpdate -yntpdate time.windows.com# 或 chrony 同步三 安装容器运行时与 Kubernetes 组件
yum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum install -y docker-ce docker-ce-cli containerd.iosystemctl enable --now docker# 镜像加速(可选)mkdir -p /etc/dockertee /etc/docker/daemon.json <<'EOF'{"registry-mirrors": ["https://docker.m.daocloud.io"]}EOFsystemctl daemon-reload && systemctl restart dockercat > /etc/yum.repos.d/kubernetes.repo <<EOF[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-$basearch/enabled=1gpgcheck=0EOF# 选择一个稳定版本,例如 v1.28.2yum install -y kubelet-1.28.2-0 kubeadm-1.28.2-0 kubectl-1.28.2-0systemctl enable --now kubelet四 初始化 Master 与加入 Node
kubeadm init --apiserver-advertise-address=172.16.3.181 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.28.2 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16mkdir -p $HOME/.kubecp -i /etc/kubernetes/admin.conf $HOME/.kube/configchown $(id -u):$(id -g) $HOME/.kube/configkubeadm join 172.16.3.181:6443 --token <TOKEN> --discovery-token-ca-cert-hash sha256:<HASH>kubeadm token create --print-join-command五 安装 CNI 网络插件与验证
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubectl apply -f https://docs.projectcalico.org/manifests/calico.yamlkubectl get nodes# 状态应为 Readykubectl get pods -A # 核心组件与 CNI Pod Running