1 软件版本
主机配置为16G内存的win11系统,在VMware Workstation 17 PRO上创建两个Ubuntu虚拟机,分别作为主节点master(192.168.159.131)和从节点node(192.168.159.133)。相关的软件版本如下表所示:
节点 | Ubuntu版本 | docker版本 | kubernetes | kubernetes |
---|---|---|---|---|
master | 22.04.3 | 24.0.7 | 1.20.2 | 1.10.3 |
node | 20.04.6 | 24.0.7 | 1.20.2 | 1.10.0 |
ubuntu在虚拟机上的安装可参考相关文档,本文中分配了2核CPU、4G内存和50G硬盘空间。
2 主节点master的软件安装与配置
2.1 准备工作
2.1.1 换国内源
cd /etc/apt/
sudo cp sources.list sources.list.bak
sudo vi sources.list #本文使用阿里云源
sudo apt-get update #换源后要更新列表
sudo apt-get upgrade
阿里云镜像源原码贴图如下:
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
2.1.2 安装必要的工具软件
先安装net-tools、vim等常用的工具软件。
sudo apt-get install -y \
net-tools \
vim \
ca-certificates \
curl \
gnupg \
lsb-release \
apt-transport-https
2.2 安装Docker
2.2.1 准备工作
添加 Docker 官方 GPG 密钥:
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
设置存储库:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update #换源后不要忘记更新列表
sudo apt-cache madison docker-ce #查看可安装的版本,此步可选
2.2.2 安装和配置
安装默认版本(24.0.7)
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
访问国外服务器网速较慢,可做如下配置。
sudo mkdir -p /etc/docker
注意:node节点的驱动为cgroupfs
!!!
而且json文件不允许有注释#等非法字符
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
应用配置并重新启动docker
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo docker run hello-world #检查是否安装成功(即显示"Hello from Docker!...")
2.3 安装Kubernetes
2.3.1 准备工作
关闭防火墙和磁盘交换分区
sudo ufw disable #系统启动时自动禁用防火墙
sudo swapoff -a #关闭交换分区
sudo vim /etc/fstab # 注释掉swap分区那一行,永久禁用swap分区
网络设置
设置2个k8s.conf文件,允许 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 #应用设置
2.3.2 开始安装
下载公开签名秘钥并添加阿里云镜像源。
sudo curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
sudo cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
sudo apt-get update
开始安装kubelet、kubeadm、kubectl。
sudo apt-get install -y kubelet=1.20.2-00 kubeadm=1.20.2-00 kubectl=1.20.2-00
sudo systemctl enable --now kubelet #使服务生效
kubelet:在kubernetes集群中,每个Node节点都会启动kubelet进程,用来处Master节点下发到本节点的任务,管理Pod和其中的容器。
kubeadm:用于初始化 Kubernetes 集群的命令行工具。
kubectl:Kubernetes集群的命令行工具,通过kubectl能够对集群本身进行管理,并能够在集群上进行容器化应用的安装和部署。
2.3.3 初始化主节点master
在/etc/hosts中设置地址映射
sudo vim /etc/hosts
主节点和从节点的地址如下(用ifconfig
查询地址):
192.168.159.131 master
192.168.159.133 node
主节点初始化(留意IP 、endpoint、version
)
sudo kubeadm init \
--apiserver-advertise-address=192.168.159.131 \
--control-plane-endpoint=master \
--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version v1.20.2 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16
等init完成,按照提示信息进行配置,生成的 kubeconfig 被保存到 ~/.kube/config 文件;配置文件描述了集群、用户和上下文。
(需要用普通用户执行以下命令!!!
)
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
安装网络组件
curl https://docs.projectcalico.org/v3.20/manifests/calico.yaml -O
sudo kubectl apply -f calico.yaml
sudo kubectl get pods -A #检查主节点是否完成初始化并准备就绪
2.4. 安装Kubeedge
2.4.1 准备安装文件
为避免网速过慢影响安装,提前从github下载kubeedge相关文件:
网址如下:https://github.com/kubeedge/kubeedge/releases/
kubeedge-v1.10.3-linux-amd64.tar.gz //云端装了1.10.3 边端 1.10.0(同理替换就行)
keadm-v1.10.3-linux-amd64.tar.gz
checksum_kubeedge-v1.10.3-linux-amd64.tar.gz.txt
在/下载目录下,解压这些文件并将其放到指定文件夹:
sudo tar -zxvf keadm-v1.10.3-linux-amd64.tar.gz
sudo tar -zxvf kubeedge-v1.10.3-linux-amd64.tar.gz
sudo cp -r keadm-v1.10.3-linux-amd64 /etc/kubeedge/
sudo cp -r kubeedge-v1.10.3-linux-amd64 /etc/kubeedge/
sudo cp checksum_kubeedge-v1.10.3-linux-amd64.tar.gz.txt /etc/kubeedge/
之后将keadm-v1.10.3-linux-amd64/keadm/ 将其配置进入环境变量,方便使用
sudo cp keadm-v1.10.3-linux-amd64/keadm/keadm /usr/sbin/
2.4.2 启动cloudcore
普通用户下运行(注意IP 、version、/home/用户名/
)
sudo keadm init --advertise-address=192.168.159.131 --kubeedge-version=1.10.3 --kube-config=/home/ubuntu2204/.kube/config
用指令查询cloudcore进程
ps -ef | grep cloudcore #如果查到2个cloudcore进程,表明启动成功
取出token。
Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
sudo keadm gettoken
3 从节点node的软件安装与配置
3.1 准备工作
(见2.1)
3.2 安装Docker
(见2.2)
把docker驱动(/etc/docker/daemon.json)改为cgroupfs
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=cgroupfs"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
3.3 安装Kubeedge
3.3.1 准备安装文件
(见 2.4.1)
3.3.2 启动edgecore并作为从节点加入cloudcore
端口号常用10000、10002
(注意IP 、version
)
sudo keadm join --cloudcore-ipport=192.168.159.131:10000 --edgenode-name=node --kubeedge-version=1.10.0 --token= #自行复制token
检查edgecore服务是否正常启动
sudo systemctl status edgecore
3.3.3 查看两个节点的连接
在云端输入命令
kubectl get nodes
kubectl get nodes -o wide #可查看更详细信息
文章来源:https://www.toymoban.com/news/detail-793660.html
参考资料
kubernetes+KubeEdge云边环境的安装与部署
安装edgecore报错:failed to check the running environment: kube-proxy should not running on edge node…
边缘计算环境搭建之一——kubeedge安装与配置文章来源地址https://www.toymoban.com/news/detail-793660.html
到了这里,关于边缘计算环境部署 docker、kubernetes、Kubeedge的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!