kubeedge 1 4 本地部署

2021-10-09 18:12:05 字數 4250 閱讀 6158

相比於之前版本,1.4版本有較大變化,部署前盡量將舊版本資料清除。環境如下

角色ip

負載cloud amd64

192.168.2.2

k8s、cloudcore、docker

edge arm64

192.168.2.3

edgecore、docker

# 關閉防火牆

systemctl disable firewalld

# 禁用selinux

sed -i 's/selinux=permissive/selinux=disabled/' /etc/sysconfig/selinux

selinux=disabled

# 關閉交換分割槽

swapoff -a

# 安裝docker,cloud端安裝k8s,edge端安裝mosquitto,此處省略

kubeadm config images list

k8s.gcr.io/kube-apiserver:v1.18.9

k8s.gcr.io/kube-controller-manager:v1.18.9

k8s.gcr.io/kube-scheduler:v1.18.9

k8s.gcr.io/kube-proxy:v1.18.9

k8s.gcr.io/pause:3.2

k8s.gcr.io/etcd:3.4.3-0

k8s.gcr.io/coredns:1.6.7

# 網路不佳或離線狀態,將映象提前拉取或通過docker load匯入,加快速度

部署k8s

kubeadm init \

--apiserver-advertise-address=192.168.2.2 \

--kubernetes-version v1.18.8 \

--service-cidr=10.1.0.0/16 \

--pod-network-cidr=10.244.0.0/16

--ignore-preflight-errors=swap

部署網路外掛程式

# 檢視kube-flannel.yml中的映象名,提前拉取,離線場景通過docker load提前匯入
檢視狀態

kubectl get no

# master結點處於ready狀態

配置kubectl

rm -rf $home/.kube

mkdir -p $home/.kube

cp -i /etc/kubernetes/admin.conf $home/.kube/config

chown

$(id -u):$(

id -g)

$home/.kube/config

wget 

tar -zxvf go1.14.4.linux-amd64.tar.gz -c /usr/local

vim /etc/profile

# 末尾新增

export goroot=/usr/local/go

export gopath=/data/gopath

export path=

$path

:$goroot/bin:$gopath/bin

source /etc/profile

mkdir -p /data/gopath &&

cd /data/gopath

mkdir -p src pkg bin

git clone  $gopath/src/github.com/kubeedge/kubeedge
新增device

# 可通過其它方式拷貝

scp edgecore [email protected]:/usr/local/bin/配置cloudcore

mkdir -p /etc/kubeedge/config &&

cd /etc/kubeedge/config

cloudcore --minconfig >cloudcore.yaml

# 清除已有的金鑰

kubectl delete secret casecret -nkubeedge

kubectl delete secret cloudcoresecret -nkubeedge

vim cloudcore.yaml

# 將tlscertfile和tlsprivatekeyfile注釋,並刪除/etc/kubeedge/ca 和/etc/kubeedge/cert

# 我們採用自動註冊結點的方式,在新增配置modules.edged.registernode=true

# 修改kubeconfig=正確的路徑

# 修改advertiseaddress為對外暴露的ip

# 修改 cloudcore.service

# 將cloudcore的路徑修改為真實路徑

cp cloudcore.service /lib/systemd/system/

systemctl enable cloudcore

systemctl start cloudcore

# 同理修改edgecore.service

scp edgecore.service [email protected]:/lib/systemd/system/

edgecloud部署

# 不要安裝kubelet或將其關閉

edgecore --minconfig > /etc/kubeedge/config/edgecore.yaml

vim /etc/kubeedge/config/edgecore.yaml

# 注釋modules.edgehub.tlscafile,modules.edgehub.tlscertfile,modules.edgehub.tlsprivatekeyfile

# 修改modules.edgehub.websocket.server和modules.edgehub.quic.server

# 修改modules.edgehub.httpserver

# cloud端操作

kubectl get secret tokensecret -n kubeedge -oyaml

# 將data.tokendata複製並進行轉碼

echo

|base64 -d

# 將值填入edgecore.yaml的token處

# 提前匯入映象

# arm64

docker pull kubeedge/pause-arm64:3.1

# x86_64 or amd64

docker pull kubeedge/pause:3.1

# arm

docker pull kubeedge/pause-arm:3.1

systemctl enable edgecore

systemctl start edgecore

部署完成

# 在master結點檢視

kubectl get no -o wide

# 均處於ready狀態

keadm工具在離線狀態和部分地區由於網路原因無法使用,因此採用離線部署方式,1.4版本的kubeedge與之前的版本有較大改動,在金鑰認證上有不相容的情況,此處將/etc/kubeedge/ca和/etc/kubeedge/cert全部刪除,在配置檔案中將對應的配置注釋,可成功部署。

3 本地集群部署與壓力測試

nginx安裝 aspnet示例程式安裝 tengine安裝 kubernetes中部署應用很簡單,開啟dashboard,點選右上角建立即可 壓力測試工具apache ab 測試位址是否可以連通 docker run rm jordi ab v 2每次傳送100個請求,持續30秒 docker r...

CentOS 7本地映象部署NFS服務

systemctl status firewalld 檢視防火牆狀態 systemctl stop firewalld 停止防火牆 systemctl disable firewalld 停止防火牆自啟動 mkdir mnt media 建立掛載點 mount dev cdrom mnt media...

微信開發一 本地環境部署及除錯

一 環境及工具 iis7.0 本機win7 iis7.0 二 環境配置 1.首先在任何盤中建立乙個資料夾 我的叫website 新增乙個index.html檔案,內容隨便輸。2.在iis 未新增iis的,請看這 建立乙個 然後物理路徑選擇我們剛剛建立的資料夾 即website 記的一定不要修改埠一定...