k8s--使用 kubeadm 搭建 k8s 1.25.3 版本
环境准备
# 节点ip 172.25.131.227 k8s-master-01 # 设置主机名 ~]# hostnamectl set-hostname k8s-master-01 # 设置hosts解析 echo "172.25.131.227 k8s-master-01" >>/etc/hosts
Kubernetes 环境初始化
禁用交换分区。为了保证 kubelet 正常工作,你必须禁用交换分区。详情见 安装 kubeadm
~]# swapoff -a ~]# sed -i 's/.*swap.*/#&/' /etc/fstab
关闭selinux与防火墙
~]# setenforce 0 ~]# sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config ~]# systemctl disable firewalld ~]# systemctl stop firewalld
配置kubernetes
~]# cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf overlay br_netfilter EOF ~]# modprobe overlay ~]# 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 # 配置生效 sysctl --system
containerd 安装
# 配置yum源 ~]# yum install -y yum-utils ~]# yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo # 安装 ~]# yum install containerd.io -y # 启动 ~]# systemctl enable containerd ~]# systemctl start containerd # 生成默认配置 ~]# containerd config default > /etc/containerd/config.toml # 修改默认配置 ~]# vim /etc/containerd/config.toml sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.8" # 修改为阿里云镜像地址 SystemdCgroup = true # 使用systemd cgroup # 重启 ~]# systemctl daemon-reload ~]# systemctl enable --now containerd ~]# systemctl restart containerd
安装 Kubernetes 组件
# 配置aliyun 的源 ~]# cat <<EOF > /etc/yum.repos.d/kubernetes.repo [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 # 安装kubelet kubeadm kubectl ~]# yum install kubelet kubeadm kubectl --nogpgcheck -y # 设置kubelet自启动 ~]# systemctl enable kubelet # 设置crictl ~]# crictl config --set runtime-endpoint=unix:///run/containerd/containerd.sock
初始化集群
~]# kubeadm init --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers \
--apiserver-advertise-address=172.25.131.227 \
--kubernetes-version=v1.25.3 \
--service-cidr=192.16.0.0/16 \
--pod-network-cidr=10.0.0.0/16 # 参数说明 --image-repository 指定镜像源 --apiserver-advertise-address apiserver地址 --service-cidr service ip网段 --pod-network-cidr pod网段 --kubernetes-version 指定版本
# 执行成功结果
配置网络插件 calico
~]# kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
查看节点状态
~]# kubectl get node
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2018-10-29 Docker网络访问和数据管理(三)