手把手教你Kubernets环境搭建

我的环境:CentOS7

准备至少3台虚拟机:一台Master Node,两台worker Node

这里说明一下,如果只有两台机器,一台master,一台work node,虽然应用也能部署起来,但是如果Work node故障了之后,Work Node上的应用并不能迁移到Master Node上,因为Master Node不允许这样做。

1 关闭selinux和防火墙

#sed -ri 's#(SELINUX=).*#\1disabled#' /etc/selinux/config
#setenforce 0
#systemctl disable firewalld
#systemctl stop firewalld

2 关闭swap

swapoff -a

3为每台服务器添加host解析记录

cat >>/etc/hosts<<EOF
<Master Node IP> master1
<Work Node1 IP> node1
<Work Node2 IP> node2
EOF

4  配置内核参数

cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.ip_forward = 1
vm.swappiness=0
EOF

sysctl --system

5 添加yum源

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
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
yum clean all
yum makecache
yum -y update

 
wget http://mirrors.aliyun.com/repo/Centos-7.repo -O /etc/yum.repos.d/CentOS-Base.repo
wget http://mirrors.aliyun.com/repo/epel-7.repo -O /etc/yum.repos.d/epel.repo 
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

6 安装K8s

这里我用的是1.15.3版

说明一下,这边我直接用加载包的方式来安装相关的1.15.3版的镜像。

yum install -y kubelet-1.15.3 kubeadm-1.15.3 kubectl-1.15.3 kubernetes-cni
systemctl enable kubelet
yum install -y docker-ce-cli-18.09.3-3.el7
yum install -y docker-ce-18.09.3-3.el7
systemctl enable docker && systemctl start docke

#下面的操作是为docker配置代理,视情况而定要不要做
mkdir /etc/systemd/system/docker.service.d
vi /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://10.167.129.21:8080" "HTTPS_PROXY=http://10.167.129.21:8080" "NO_PROXY=localhost,127.0.0.1"
systemctl daemon-reload
systemctl restart docker
docker info

docker load -i k8s-v1.15.3.images.tar.gz

 

7 在master节点上执行初始化命令

下面的参数可以根据需要修改

kubeadm init --kubernetes-version=v1.15.3 --pod-network-cidr=10.244.0.0/16 --service-cidr=10.96.0.0/12 --apiserver-advertise-address=<Master Node IP>

  为kubectl准备Kubeconfig文件

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

8 部署Work Node节点

Master节点在初始化命令执行后,会在输出的时候显示部署Worker Node节点的命令。在两个Worker Node节点上分别执行下面的命令

kubeadm join 193.160.20.20:8443 --token abcdef.0123456789abcdef \
    --discovery-token-ca-cert-hash sha256:e59c689770827558b569aa428442c92a9c937c0b489d474ac9f9dff06df89b1d

如果上述命令忘记了,在Master上执行下面的命令即可

kubeadm token create --print-join-command

部署完node节点之后可以通过以下命令查看个节点状态。

不过一般会发现master和node的状态都是NotReady,coredns的pod是pending状态

kubectl get nodes
kubectl get pods -o wide -n kube-system
journalctl -f -u kubelet.service

那么就需要在node节点上安装flannel(flannel只需要在Node节点安装,Master节点无需安装)

先看flannel像有没有成功拉取

docker images|grep flannel

如果没有,那么就需要通过docker pull去拉取flannel镜像

安装flannel

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml

再查询,此时应该ready状态

kubectl get nodes

可能出现的问题:

1 证书过期

date -s "2020-05-11 22:30:00"(将时间修改为没过期的时间)
kubeadm alpha certs check-expiration
chmod -R +r /etc/cni/net.d/

2 如果上述过程中出现问题,可以通过以下命令重置,重置之后可以重新执行kubectl命令

kubeadm reset -f

 

10 将master节点中的【/etc/kubernetes/admin.conf】文件拷到从节点相同目录下,然后配置环境变量

在Master节点上执行:
scp /etc/kubernetes/admin.conf root@node1:/etc/kubernetes/

在Worker Node节点上执行
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
  1. 下一篇教大家部署应用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以!以下是手把手你搭建 YOLOv5 的步骤: 1. 准备工作: - 确保你的电脑已经安装了 Python 3.8 或更高版本。 - 安装 PyTorch:可以根据你的操作系统和 CUDA 版本选择合适的安装命令,例如: ```shell pip install torch torchvision torchaudio ``` - 安装其他依赖库: ```shell pip install opencv-python matplotlib numpy ``` 2. 下载 YOLOv5 源代码: - 在终端中运行以下命令来克隆 YOLOv5 仓库: ```shell git clone https://github.com/ultralytics/yolov5.git ``` 3. 安装依赖库: - 进入 yolov5 目录: ```shell cd yolov5 ``` - 安装依赖库: ```shell pip install -r requirements.txt ``` 4. 准备数据集: - 准备好你的训练数据集,并将图像和对应的标签文件放入一个文件夹中。 5. 配置模型和数据: - 编辑 `yolov5/models/yolov5s.yaml` 文件,根据你的需求进行配置,例如设置 `nc` 参数为你的类别数量。 - 编辑 `data.yaml` 文件,设置 `train` 和 `val` 的路径,并配置类别数量和类别名称。 6. 训练模型: - 在终端中运行以下命令来开始训练模型: ```shell python train.py --img 640 --batch 16 --epochs 100 --data data.yaml --cfg models/yolov5s.yaml --weights '' ``` - 这个命令将使用默认参数来训练 YOLOv5 模型,你可以根据需要进行调整。 7. 测试模型: - 在终端中运行以下命令来测试模型效果: ```shell python detect.py --source your_image.jpg --weights runs/train/exp/weights/best.pt --conf 0.4 ``` - 这个命令将使用训练好的模型对指定图像进行目标检测,你可以调整 `--conf` 参数来控制检测结果的置信度阈值。 以上就是搭建 YOLOv5 的基本步骤,希望对你有帮助!如果有任何问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值