操作系统
显示主机名
下载国内 repo 镜像源
清理yum缓存,并生成新的缓存。 yum clean all yum makecache
更新yum源检查是否生效 yum update
显示本机网关
安装相关依赖工具包 yum install -y lrzsz device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip ntp libaio-devel vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack telnet nc
同步时间
集群平台规划 三台虚拟机,硬件规划配置大致如下: 角色 IOS CPU Memory Disk IP Master CentOS Linux 7 4 cores 4G 100G 192.168.59.138 Node1 CentOS Linux 7 4 cores 5G 100G 192.168.59.139 Node2 CentOS Linux 7 4 cores 5G 100G 192.168.59.140 上面三台服务器可搭建一套单master集群
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改成静态IP
重新启动网卡设备
查看防火墙状态
停止防火墙,设置关闭状态。
关闭swap:
swapoff -a #临时
设置主机名
在 master 主机添加 hosts,节点机上无需执行。
cat >> /etc/hosts << EOF 192.168.59.138 k8smaster 192.168.59.139 k8snode1 192.168.59.140 k8snode2 EOF
三台机器之间配置互信免密登录
添加DNS解析
cat >> /etc/resolv.conf << EOF nameserver 223.5.5.5 nameserver 119.29.29.29 nameserver 114.114.114.114 EOF
yum install -y docker-ce docker-ce-cli containerd.io
systemctl start docker
systemctl status docker
设置 Docker 加速器 cat > /etc/docker/daemon.json << EOF { "exec-opts": ["native.cgroupdriver=systemd"], "registry-mirrors": ["b9pmyelo.mirror.aliyuncs.com","https://rrnv06ig.m…"] } EOF
systemctl start kubelet
systemctl status kubelet
journalctl -u kubelet --no-pager #查看启动报错日志,--no-pager 参数可以一次性输出日志。 journalctl -xefu kubelet / journalctl -u kubelet -f / journalctl -xe -u kubelet
安装containerd,配置 crictl
执行安装 yum install -y containerd.io
生成配置文件 containerd config default > /etc/containerd/config.toml
修改 cgroups 为 systemd [root@k8snode1 ~]# sed -i 's#SystemdCgroup = false#SystemdCgroup = true#' /etc/containerd/config.toml
修改 pause 镜像地址:sandbox_image= [root@k8snode1 ~]# sed -i 's#registry.k8s.io#registry.aliyuncs.com/google_containers#' /etc/containerd/config.toml
修改版本号,可以先确定pasuse的版本号,containerd默认是3.6;kubeadm需要3.9
sed -i 's#pause:3.6#pause:3.9#' /etc/containerd/config.toml
journalctl -u containerd.service -f
crictl ps -a
yum install -y kubelet-1.26.2
启动服务,查看服务状态,如果报错,修改下面的配置。
vim /usr/lib/systemd/system/kubelet.service
systemctl daemon-reload
systemctl start kubelet
kubeadm init --kubernetes-version v1.26.2 --apiserver-advertise-address="192.168.59.138" --ser vice-cidr="10.96.0.0/12" --pod-network-cidr="10.244.0.0/16" --control-plane-endpoint="192.168.59.138:6443" --image-reposito ry registry.cn-hangzhou.aliyuncs.com/google_containers --cri-socket unix:///run/containerd/containerd.sock
kubeadm config print init-defaults > kubeadm.yml
kubeadm config images list --config ./kubeadm.yml
kubeadm init --config=./kubeadm.yml --upload-certs --v=6
wget raw.githubusercontent.com/coreos/flan…