1 軟件版本
主機配置為16G內(nèi)存的win11系統(tǒng),在VMware Workstation 17 PRO上創(chuàng)建兩個Ubuntu虛擬機,分別作為主節(jié)點master(192.168.159.131)和從節(jié)點node(192.168.159.133)。相關(guān)的軟件版本如下表所示:
節(jié)點 | 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在虛擬機上的安裝可參考相關(guān)文檔,本文中分配了2核CPU、4G內(nèi)存和50G硬盤空間。
2 主節(jié)點master的軟件安裝與配置
2.1 準備工作
2.1.1 換國內(nèi)源
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
設(shè)置存儲庫:
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
訪問國外服務(wù)器網(wǎng)速較慢,可做如下配置。
sudo mkdir -p /etc/docker
注意:node節(jié)點的驅(qū)動為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
應(yīng)用配置并重新啟動docker
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo docker run hello-world #檢查是否安裝成功(即顯示"Hello from Docker!...")
2.3 安裝Kubernetes
2.3.1 準備工作
關(guān)閉防火墻和磁盤交換分區(qū)
sudo ufw disable #系統(tǒng)啟動時自動禁用防火墻
sudo swapoff -a #關(guān)閉交換分區(qū)
sudo vim /etc/fstab # 注釋掉swap分區(qū)那一行,永久禁用swap分區(qū)
網(wǎng)絡(luò)設(shè)置
設(shè)置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 #應(yīng)用設(shè)置
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 #使服務(wù)生效
kubelet:在kubernetes集群中,每個Node節(jié)點都會啟動kubelet進程,用來處Master節(jié)點下發(fā)到本節(jié)點的任務(wù),管理Pod和其中的容器。
kubeadm:用于初始化 Kubernetes 集群的命令行工具。
kubectl:Kubernetes集群的命令行工具,通過kubectl能夠?qū)罕旧磉M行管理,并能夠在集群上進行容器化應(yīng)用的安裝和部署。
2.3.3 初始化主節(jié)點master
在/etc/hosts中設(shè)置地址映射
sudo vim /etc/hosts
主節(jié)點和從節(jié)點的地址如下(用ifconfig
查詢地址):
192.168.159.131 master
192.168.159.133 node
主節(jié)點初始化(留意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 文件;配置文件描述了集群、用戶和上下文。
(需要用普通用戶執(zhí)行以下命令!!!
)
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
安裝網(wǎng)絡(luò)組件
curl https://docs.projectcalico.org/v3.20/manifests/calico.yaml -O
sudo kubectl apply -f calico.yaml
sudo kubectl get pods -A #檢查主節(jié)點是否完成初始化并準備就緒
2.4. 安裝Kubeedge
2.4.1 準備安裝文件
為避免網(wǎng)速過慢影響安裝,提前從github下載kubeedge相關(guān)文件:
網(wǎng)址如下: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/ 將其配置進入環(huán)境變量,方便使用
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是服務(wù)端生成的一串字符串,以作客戶端進行請求的一個令牌,當?shù)谝淮蔚卿浐螅?wù)器生成一個Token便將此Token返回給客戶端,以后客戶端只需帶上這個Token前來請求數(shù)據(jù)即可,無需再次帶上用戶名和密碼。
sudo keadm gettoken
3 從節(jié)點node的軟件安裝與配置
3.1 準備工作
(見2.1)
3.2 安裝Docker
(見2.2)
把docker驅(qū)動(/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并作為從節(jié)點加入cloudcore
端口號常用10000、10002
(注意IP 、version
)
sudo keadm join --cloudcore-ipport=192.168.159.131:10000 --edgenode-name=node --kubeedge-version=1.10.0 --token= #自行復(fù)制token
檢查edgecore服務(wù)是否正常啟動
sudo systemctl status edgecore
3.3.3 查看兩個節(jié)點的連接
在云端輸入命令
kubectl get nodes
kubectl get nodes -o wide #可查看更詳細信息
文章來源:http://www.zghlxwxcb.cn/news/detail-793660.html
參考資料
kubernetes+KubeEdge云邊環(huán)境的安裝與部署
安裝edgecore報錯:failed to check the running environment: kube-proxy should not running on edge node…
邊緣計算環(huán)境搭建之一——kubeedge安裝與配置文章來源地址http://www.zghlxwxcb.cn/news/detail-793660.html
到了這里,關(guān)于邊緣計算環(huán)境部署 docker、kubernetes、Kubeedge的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!