国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)

這篇具有很好參考價值的文章主要介紹了KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

準(zhǔn)備工作——K8s集群環(huán)境搭建

官方文檔:
使用Keadm進(jìn)行部署

首先要配置好Kubernetes集群。

K8s需要全程在root用戶下進(jìn)行操作,因此需要先切換到root用戶下:

sudo su

安裝K8s一般使用kubeadm,官方文檔:
kubeadm官方文檔

按照官方文檔進(jìn)行安裝

準(zhǔn)備開始

  • 一臺兼容的 Linux 主機(jī)。Kubernetes 項(xiàng)目為基于 Debian 和 Red Hat 的 Linux 發(fā)行版以及一些不提供包管理器的發(fā)行版提供通用的指令。
  • 每臺機(jī)器 2 GB 或更多的 RAM(如果少于這個數(shù)字將會影響你應(yīng)用的運(yùn)行內(nèi)存)。
    CPU 2 核心及以上。
  • 集群中的所有機(jī)器的網(wǎng)絡(luò)彼此均能相互連接(公網(wǎng)和內(nèi)網(wǎng)都可以)。
  • 節(jié)點(diǎn)之中不可以有重復(fù)的主機(jī)名、MAC 地址或 product_uuid。
  • 開啟機(jī)器上的某些端口。
  • 禁用交換分區(qū)。為了保證 kubelet 正常工作,你必須禁用交換分區(qū)。

禁用交換分區(qū)使用命令

	swapoff -a

但是重啟機(jī)器后會失效,如果需要永久關(guān)閉需要編輯文件

	vi /etc/fstab

在里面注釋掉最后一行(應(yīng)該有swap字樣,大概長這樣/dev/mapper/cl-swap swap swap defaults 0 0),如果不含swap那就還是別亂注釋,每次開機(jī)運(yùn)行上面的命令關(guān)一下吧。

配置國內(nèi)鏡像(僅amd64架構(gòu),如果是arm架構(gòu)的不要更改鏡像)

首先使用以下命令進(jìn)入root用戶。

sudo su

先把原來的軟件源備份一下

cp /etc/apt/sources.list /etc/apt/sources.list.bak

然后輸入以下命令配置清華源鏡像(適用于20.04版本的Ubuntu,其它版本可以去清華源鏡像官網(wǎng)查看)

echo "# 默認(rèn)注釋了源碼鏡像以提高 apt update 速度,如有需要可自行取消注釋
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

# 預(yù)發(fā)布軟件源,不建議啟用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse" > /etc/apt/sources.list

然后執(zhí)行更新

apt update

安裝docker

這一步很簡單,只要輸入docker,就會提示安裝docker的命令。
使用

sudo apt install docker.io

安裝K8s

安裝K8s一般使用kubeadm,官方文檔:
kubeadm官方文檔
官方文檔中給出的安裝命令如下:

#請不要使用這段代碼!
sudo apt-get update && sudo apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl

但是官方文檔在國內(nèi)網(wǎng)絡(luò)環(huán)境下并不適用,請使用以下代碼:

第一步是安裝https

sudo apt-get update && sudo apt-get install -y apt-transport-https

但是,由于國內(nèi)網(wǎng)絡(luò)原因,無法連接Google,很可能第二步會卡死。

這里可以使用阿里云的鏡像,把第二步的命令改為:

curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -

如果這里出錯可能是你沒有安裝curl,先

apt install curl

然后運(yùn)行:

cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF

修改完這個list文件后,更新一下apt-get的配置

apt-get update

下面這句就是安裝kubelet,kubeadm,kubectl三個k8s的核心組件

# 如果需要指定版本,使用下一段的命令,此命令是默認(rèn)安裝最新版
apt-get install kubelet kubeadm kubectl

如果需要指定老版本,可以通過=<版本號>來指定版本,如下:

# 需要指定版本才使用下面的命令
apt install kubelet=1.22.15-00 kubectl=1.22.15-00 kubeadm=1.22.15-00

至此,kubelet,kubeadm和kubectl就安裝成功了。

初始化Master節(jié)點(diǎn)

在準(zhǔn)備工作全部完成后,就可以在主節(jié)點(diǎn)上使用kubeadm init命令,不過這里還要加三個參數(shù),–image-repository指定了阿里云鏡像,–pod-network-cidr指明pod網(wǎng)絡(luò)可以使用的IP地址段。如果設(shè)置了這個參數(shù),控制平面將會為每一個節(jié)點(diǎn)自動分配CIDRs,–kubernetes-version指明k8s的版本:

kubeadm init --image-repository=registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.22.15

我這里出現(xiàn)了等待條件超時的錯誤:
KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)
解決方法是vim創(chuàng)建一個文件/etc/docker/daemon.json,里面輸入

{
    "exec-opts": ["native.cgroupdriver=systemd"]
}

把docker的驅(qū)動配置為systemd,然后重啟docker和kubelet:

sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl restart kubelet

再運(yùn)行kubeadm reset 和剛剛的kubeadm init --image-repository=registry.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.22.15 就成功了

成功之后會提示運(yùn)行這三條命令:

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

在root用戶和普通用戶下都要運(yùn)行一遍,然后就配置成功了。

如果是root用戶還可以執(zhí)行一條

  export KUBECONFIG=/etc/kubernetes/admin.conf

網(wǎng)絡(luò)插件安裝

k8s支持的網(wǎng)絡(luò)插件: https://kubernetes.io/docs/concepts/cluster-administration/addons/
我們使用flannel插件,但是由于kubeedge和網(wǎng)絡(luò)插件不兼容,所以需要親和性配置。
首先下載flannel插件的配置文件:

wget https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

下載下來后,復(fù)制一份kube-flannel-cloud.yaml修改其中:
在93行左右改名為kube-flannel-cloud-ds
KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)

在118行左右添加:

- key: node-role.kubernetes.io/agent
  operator: DoesNotExist

KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)
然后再應(yīng)用該配置文件:

kubectl apply -f kube-flannel-cloud.yml

過段時間后查看node狀態(tài)可以看到master已經(jīng)ready:
KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)

再復(fù)制一份kube-flannel-edge.yaml修改其中:
93行改名為kube-flannel-edge-ds
118行左右添加:

- key: node-role.kubernetes.io/agent
  operator: Exists

并且我的邊緣節(jié)點(diǎn)架構(gòu)是arm64,所以也修改了一下
KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)

在161行左右添加一行參數(shù):

- --kube-api-url=http://127.0.0.1:10550

KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)
然后再應(yīng)用該配置文件:

kubectl apply -f kube-flannel-edge.yml

部署可視化KuBoard

Kuboard官網(wǎng)
提供的命令如下:

kubectl apply -f https://addons.kuboard.cn/kuboard/kuboard-v3.yaml

部署完成后,進(jìn)入30080端口可以看到這個命令,運(yùn)行
KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)

curl -k 'http://192.168.31.209:30080/kuboard-api/cluster/default/kind/KubernetesCluster/default/resource/installAgentToKubernetes?token=mFUwzGqKRFgHrT2rj328UeCZKjs0qrUW' > kuboard-agent.yaml
kubectl apply -f ./kuboard-agent.yaml

然后就可以看到集群信息了
KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)

Cloud節(jié)點(diǎn)配置

進(jìn)入GitHub的release頁面復(fù)制keadm的下載地址,使用wget命令下載:

wget https://github.com/kubeedge/kubeedge/releases/download/v1.12.0/keadm-v1.12.0-linux-amd64.tar.gz

解壓下載好的文件

 tar -zxvf keadm-v1.12.0-linux-amd64.tar.gz

然后進(jìn)入解壓后的目錄

 cd keadm-v1.12.0-linux-amd64/keadm/

然后運(yùn)行下面的會出現(xiàn)問題,先不要運(yùn)行
后面的參數(shù)是啟用cloudCore的dynamicController

# 先不要運(yùn)行,會出現(xiàn)問題,往下看
# ./keadm init --set cloudCore.modules.dynamicController.enable=true

出現(xiàn)問題:

execute keadm command failed:  timed out waiting for the condition

是因?yàn)閏loudcore沒有污點(diǎn)容忍,默認(rèn)master節(jié)點(diǎn)是不部署應(yīng)用的,可以用下面的命令查看污點(diǎn):

kubectl describe nodes master2015 | grep Taints

把master的污點(diǎn)刪掉

 kubectl taint node master2015 node-role.kubernetes.io/master-

然后

./keadm reset
./keadm init --set cloudCore.modules.dynamicController.enable=true

CloudCore成功啟動。

KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)

查看kubeedge命名空間里的pods,可以看到cloudcore成功運(yùn)行。
KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)
使用

./keadm gettoken

獲取token
KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)

Edge節(jié)點(diǎn)配置

下載keadm,與上面Master的下載方法相同,解壓完成后進(jìn)入目錄(我這里是arm,你們的目錄不一定一樣)

 cd keadm-v1.12.0-linux-arm64/keadm/

需要運(yùn)行:(<ip>是master的ip,<token>就是上面獲取的token)

./keadm join --cloudcore-ipport=<ip>:10000 --token=<token>  

我這里是:

./keadm join --cloudcore-ipport=192.168.31.209:10000 --token=d593d53f0d1294c1088e8f3700dedc842fc9d276a0ab472397fdc5634463c921.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2Njc1NDMyNzl9.pdVbe-jpHXKcjiM9iIq-Rj6mS4_m6xyp7v2_fP8nXiA

在Master上驗(yàn)證是否成功,使用

kubectl get nodes -o wide

如果出現(xiàn)版本中帶有kubeedge的node,則說明部署成功。
KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)

如果去主節(jié)點(diǎn)看還是沒有,可以看日志尋找問題,見最后一章問題排查

修改EdgeCore配置

為了讓flannel能夠訪問到 http://127.0.0.1:10550,我們需要配置EdgeCore的metaServer功能,在邊緣節(jié)點(diǎn)上修改:

vim /etc/kubeedge/config/edgecore.yaml

在161行左右配置為true
KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)
然后重啟一下edgecore:

service edgecore restart

問題排查

查看edgecore的日志:

journalctl -u edgecore.service -xe

我第一次失敗的原因是Docker中Cgroup Driver的問題,因?yàn)閗ubeedge的默認(rèn)驅(qū)動為cgroupfs,而我的docker以前把默認(rèn)驅(qū)動改成了systemd,所以無法啟動。
一種解決方法是修改/etc/docker/daemon.json,把 "exec-opts": ["native.cgroupdriver=systemd"]刪掉(不要把大括號刪掉,不然docker無法啟動),重啟docker

systemctl daemon-reload
systemctl restart docker

另一種解決方法是使用命令

./keadm join --help

可以看到幫助中提到:
KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)
可以運(yùn)行join命令時指定該參數(shù)為systemd

如果重新join時,可能會提示要刪除/etc/kubeedge目錄,如果提示mqtt容器已經(jīng)存在之類的問題,可以

1、殺死運(yùn)行的容器:

docker kill $(docker ps -a -q)

2、刪除所有容器:

docker rm $(docker ps -a -q)

最后再執(zhí)行join命令,運(yùn)行成功:
KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)文章來源地址http://www.zghlxwxcb.cn/news/detail-416877.html

到了這里,關(guān)于KubeEdge環(huán)境搭建(支持網(wǎng)絡(luò)插件flannel)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【K8S系列】深入解析k8s網(wǎng)絡(luò)插件—Flannel

    【K8S系列】深入解析k8s網(wǎng)絡(luò)插件—Flannel

    ? 做一件事并不難,難的是在于堅(jiān)持。堅(jiān)持一下也不難,難的是堅(jiān)持到底。 文章標(biāo)記顏色說明: 黃色:重要標(biāo)題 紅色:用來標(biāo)記結(jié)論 綠色:用來標(biāo)記論點(diǎn) 藍(lán)色:用來標(biāo)記論點(diǎn) Kubernetes (k8s) 是一個容器編排平臺,允許在容器中運(yùn)行應(yīng)用程序和服務(wù)。今天學(xué)習(xí)一下k8s網(wǎng)絡(luò)插件

    2024年02月16日
    瀏覽(41)
  • K8s進(jìn)階之網(wǎng)絡(luò):pod內(nèi)不同容器、同節(jié)點(diǎn)不同pod通信、CNI插件、不同節(jié)點(diǎn)pod通信、Flannel容器網(wǎng)絡(luò)、Serivce連接外部網(wǎng)絡(luò)、服務(wù)發(fā)現(xiàn)、Nginx反向代理與域名、Ingress代理

    K8s進(jìn)階之網(wǎng)絡(luò):pod內(nèi)不同容器、同節(jié)點(diǎn)不同pod通信、CNI插件、不同節(jié)點(diǎn)pod通信、Flannel容器網(wǎng)絡(luò)、Serivce連接外部網(wǎng)絡(luò)、服務(wù)發(fā)現(xiàn)、Nginx反向代理與域名、Ingress代理

    Pod是Kubernetes中最小的可部署單元,它是一個或多個緊密關(guān)聯(lián)的容器的組合,這些容器共享同一個網(wǎng)絡(luò)命名空間和存儲卷,因此Pod中的 所有容器都共享相同的網(wǎng)絡(luò)命名空間和IP地址——PodIP ,所以在同一個Pod內(nèi)的容器間通信可以 通過localhost直接通信 。 k8s創(chuàng)建Pod時永遠(yuǎn)都是首先

    2024年02月05日
    瀏覽(24)
  • 邊緣計(jì)算環(huán)境部署 docker、kubernetes、Kubeedge

    邊緣計(jì)算環(huán)境部署 docker、kubernetes、Kubeedge

    主機(jī)配置為16G內(nèi)存的win11系統(tǒng),在VMware Workstation 17 PRO上創(chuàng)建兩個Ubuntu虛擬機(jī),分別作為主節(jié)點(diǎn)master(192.168.159.131)和從節(jié)點(diǎn)node(192.168.159.133)。相關(guān)的軟件版本如下表所示: 節(jié)點(diǎn) 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 ubunt

    2024年01月16日
    瀏覽(26)
  • kubernetes+KubeEdge云邊環(huán)境的安裝與部署

    kubernetes+KubeEdge云邊環(huán)境的安裝與部署

    最近在學(xué)習(xí)云邊協(xié)同,需要搭建一個云邊協(xié)同的實(shí)驗(yàn)環(huán)境,kubernetes+KubeEdge+sedna,安裝過程中遇到了一系列的問題,特此記錄總結(jié)。 云端:Centos7+ kubernetes 1.23.8 + Docker 這里我們的centos使用的是 centos7.9, 不同版本的系統(tǒng)對k8s影響較大,具體看實(shí)際情況而定。 有的還需要更新系統(tǒng)

    2024年02月09日
    瀏覽(16)
  • Kubernetes:(十八)flannel網(wǎng)絡(luò)

    Kubernetes:(十八)flannel網(wǎng)絡(luò)

    目錄 一:什么是Flannel 1.1 Flannel實(shí)現(xiàn)原理 1.2?數(shù)據(jù)轉(zhuǎn)發(fā)流程 二:?Flannel網(wǎng)絡(luò)概述 2.1?Vxlan 模式 2.1.1 通信流程 2.1.2 部署 2.1.3?相關(guān)配置 2.1.4 卸載 2.2 Host-GW 模式 2.2.1 通信流程 2.2.2 部署 2.2.3 相關(guān)配置? 2.2.4 卸載 2.3 Flanneld 作用 2.4?模式對比 三:部署 四:故障分析 4.1?kube-proxy 配

    2024年02月12日
    瀏覽(18)
  • k8s Calico網(wǎng)絡(luò)和flannel網(wǎng)絡(luò)對比

    Calico 和 Flannel 是 Kubernetes(K8s) 中常用的兩種網(wǎng)絡(luò)插件,它們都有各自的優(yōu)點(diǎn)和適用場景。以下是 Calico 網(wǎng)絡(luò)與 Flannel 網(wǎng)絡(luò)的一些主要對比點(diǎn): Calico 1. 技術(shù)基礎(chǔ) :Calico 依賴于 BGP(Border Gateway Protocol)路由協(xié)議來實(shí)現(xiàn)節(jié)點(diǎn)間通信,可以支持大規(guī)模的集群。 2. 性能 :由于使用

    2024年04月27日
    瀏覽(21)
  • k8s kubernetes 1.23.6 + flannel公網(wǎng)環(huán)境安裝

    k8s kubernetes 1.23.6 + flannel公網(wǎng)環(huán)境安裝

    準(zhǔn)備環(huán)境,必須是同一個云服務(wù)廠商,如:華為,阿里、騰訊等,不要存在跨平臺安裝K8S,跨平臺安裝需要處理網(wǎng)絡(luò)隧道才能實(shí)現(xiàn)所有節(jié)點(diǎn)在一個網(wǎng)絡(luò)集群中,這里推薦使用同一家云服務(wù)廠商安裝即可 這里使用centos7進(jìn)行安裝: 必須先開通端口 2380 2379 10250 10257 10259 6443 否則會

    2024年02月07日
    瀏覽(28)
  • 超詳細(xì)的kubeedge與kubernetes(k8s)環(huán)境配置教程

    超詳細(xì)的kubeedge與kubernetes(k8s)環(huán)境配置教程

    注意: 對于kubeedge和k8s的監(jiān)控可以參考這一篇——通過prometheus和grafana來監(jiān)管數(shù)據(jù); 對于虛擬機(jī)環(huán)境的搭建可以參考這一篇。 對于搭建所需文件:阿里云盤 本文最后由錯誤歸納。 文章每周更新,如果喜歡的話可以三聯(lián)?。。?云端只部署一個master節(jié)點(diǎn),邊緣端部署一個edgen

    2024年02月04日
    瀏覽(29)
  • 深入 K8s 網(wǎng)絡(luò)原理(一)- Flannel VXLAN 模式分析

    深入 K8s 網(wǎng)絡(luò)原理(一)- Flannel VXLAN 模式分析

    這周集中聊下 K8s 的集群網(wǎng)絡(luò)原理,我初步考慮分成3個方向: Pod-to-Pod ?通信(同節(jié)點(diǎn) or 跨節(jié)點(diǎn)),以 Flannel VXLAN 模式為例; Pod/External-to-Service ?通信,以 iptables 實(shí)現(xiàn)為例; Ingress ?原理,以 NGINX Ingress Controller 實(shí)現(xiàn)為例; 其他:(到時候看心情)Flannel host-gw 模式,Calico,…

    2024年01月17日
    瀏覽(18)
  • k8s集群環(huán)境搭建以及插件安裝

    k8s集群環(huán)境搭建以及插件安裝

    終端工具M(jìn)obaXterm很好用。 1、虛擬機(jī)三臺(ip按自己的網(wǎng)絡(luò)環(huán)境相應(yīng)配置)(master/node) 節(jié)點(diǎn) ip k8s-master 192.168.200.150 k8s-node1 192.168.200.151 k8s-node2 192.168.200.152 2、關(guān)閉防火墻(master/node) 查看防火墻狀態(tài): systemctl status firewalld 3、關(guān)閉selinux(master/node) 4、關(guān)閉swap(master/node) 5、添加主機(jī)名

    2024年01月22日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包