AI摘要
本文介绍了在VM虚拟机环境下部署k8s-master的步骤。首先准备虚拟机环境,设置网络配置。然后创建master虚拟机,安装CentOS7系统。接着安装docker,并配置加速。最后安装kubeadm,部署基础环境,安装kubelet、kubeadm、kubectl三大件,并拉取镜像。最后初始化master主节点。

准备虚拟机环境

VMWare WorkStation Pro下载:链接
CentOS7镜像(阿里云源):镜像链接

VM网络设置

  • master节点IP: 172.16.0.3
  • node01节点IP:172.16.0.4
  • node02节点IP:172.16.0.5
  • 子网掩码:255.255.0.0
  • 网关:172.16.0.2
  • DNS:114.114.114.114

设置虚拟网卡

首先打开顶栏编辑-虚拟网络编辑器改下VMnet8的NAT网卡
图片1.png
子网172.16.0.0,子网掩码255.255.0.0

创建master虚拟机

图片2.png
图片3.png
图片4.png
图片5.png
图片6.png
图片7.png
图片8.png
图片9.png
图片10.png
图片11.png
图片12.png
图片13.png
图片14.png
图片15.png

安装CentOS7

创建完安装系统,这里我选CentOS7镜像
图片16.png
挂载安装盘
图片17.png
图片18.png
保存,开机
过下开机引导
图片19.png
图片20.png
图片21.png
配置静态IP
图片22.png
图片23.png
配网好了就可以开始安装,设置root密码
图片24.png
安装完后关闭虚拟机
进入虚拟机设置里关掉光驱的安装镜像,开机
输入ip addr看看IP对不对
图片25.png

安装docker

移除原来的docker

yum remove docker \
              docker-client \
              docker-client-latest \
              docker-common \
              docker-latest \
              docker-latest-logrotate \
              docker-logrotate \
              docker-engine

设置yum为阿里云源

sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker

yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7  containerd.io-1.4.6
systemctl enable docker --now

20240423111749.png

配置加速

sudo mkdir -p /etc/docker       # 创建文件夹
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],   
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

docker安装完成!

安装kubeadm

部署基础环境

# 将 SELinux 设置为 permissive 模式
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

#swap关闭
swapoff -a  
sed -ri 's/.*swap.*/#&/' /etc/fstab

#允许 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
EOF
sudo sysctl --system

安装kubelet、kubeadm、kubectl 三大件

# 配置k8s下载地址
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
   http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF

sudo yum install -y kubelet-1.20.9 kubeadm-1.20.9 kubectl-1.20.9 --disableexcludes=kubernetes

# 启动kubelet
sudo systemctl enable --now kubelet

拉取镜像

# 下载镜像

sudo tee ./images.sh <<-'EOF'
#!/bin/bash
images=(
kube-apiserver:v1.20.9
kube-proxy:v1.20.9
kube-controller-manager:v1.20.9
kube-scheduler:v1.20.9
coredns:1.7.0
etcd:3.4.13-0
pause:3.2
)
for imageName in ${images[@]} ; do
docker pull registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images/$imageName
done
EOF
   
chmod +x ./images.sh && ./images.sh

20240423151309.png

初始化matser主节点

#所有机器添加master域名映射,以下IP地址需要修改为自己的
echo "172.16.0.3  cluster-endpoint" >> /etc/hosts     # master节点   每个节点都需要执行,让每个节点知道master节点

#初始化主节点(只需在master节点运行)

kubeadm init \
--apiserver-advertise-address=172.16.0.3 \
--control-plane-endpoint=cluster-endpoint \
--image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images \
--kubernetes-version v1.20.9 \
--service-cidr=10.96.0.0/16 \
--pod-network-cidr=192.168.0.0/16


# 以下是各个命令的备注不需要执行
kubeadm init \
--apiserver-advertise-address=172.16.0.4 \   # master 节点ip
--control-plane-endpoint=cluster-endpoint \  # 域名值
--image-repository registry.cn-hangzhou.aliyuncs.com/lfy_k8s_images \   # 镜像仓库
--kubernetes-version v1.20.9 \  # k8s 版本 
--service-cidr=10.96.0.0/16 \     # 网络范围  一般不用改   网络范围不重叠
--pod-network-cidr=192.168.0.0/16   # k8s 给pod分配网络ip的范围   一般不用改

#所有网络范围不重叠

我的运行结果,出现这个就说明master初始化成功了
根据上述运行结果的提示可以进行下一步加入node子节点的操作
2024-04-23T03:38:58.png

最后修改:2024 年 04 月 23 日
喜欢就支持一下吧