当前位置: 首页 > news >正文

云原生边缘计算KubeEdge安装配置

1. K8S集群部署,可以参考如下博客

请安装k8s集群,centos安装k8s集群
请安装k8s集群,ubuntu安装k8s集群

2.安装kubEedge

2.1 编辑kube-proxy使用ipvs代理

kubectl edit configmaps kube-proxy -n kube-system #修改kube-proxy
#大约在40多行37     ipvs:38       excludeCIDRs: null39       minSyncPeriod: 0s40       scheduler: ""41       strictARP: true  #这里由原来的false修改为true42       syncPeriod: 0s43       tcpFinTimeout: 0s44       tcpTimeout: 0s45       udpTimeout: 0s46     kind: KubeProxyConfiguration47     metricsBindAddress: ""48     mode: "ipvs"  #这里原来是空的修改为ipvs49     nodePortAddresses: null50     oomScoreAdj: null51     portRange: ""52     showHiddenMetricsForVersion: ""53     winkernel:54       enableDSR: false55       forwardHealthCheckVip: false56       networkName: ""57       rootHnsEndpointName: ""58       sourceVip: ""
kubectl rollout restart daemonset kube-proxy -n kube-system
kubectl get pods -n kube-system

2.2 基础服务提供,负载均衡器metallb

#无网络情况下,先上传kubeedge.tar 和 metallb-native.yaml文件
docker load -i kubeedge.tar  #导入镜像#有网络可以直接拉去镜像
docker pull quay.io/metallb/controller:v0.13.5
docker pull quay.io/metallb/speaker:v0.13.5
wget https://raw.githubusercontent.com/metallb/metallb/v0.13.5/config/manifests/metallb-native.yaml
kubectl apply -f metallb-native.yaml
kubectl get pods -n metallb-system
[root@k8s-master01 ~]# kubectl get pods -n metallb-system
NAME                         READY   STATUS    RESTARTS   AGE
controller-8d9cf599f-m4x27   1/1     Running   0          23s
speaker-zm7w4                1/1     Running   0          23s
speaker-zww5l                1/1     Running   0          23s
[root@k8s-master01 ~]# 

#具体参考官网地址:https://metallb.universe.tf/configuration/#layer-2-configuration

#创建IP地址资源池,原则是跟主机在同一个网段,没有使用的地址,根据自己项目的规模我合理预留了21个IP
cat > first-ippool.yaml << EOF
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:name: first-poolnamespace: metallb-system
spec:addresses:- 192.168.186.200-192.168.186.220
EOF
kubectl apply -f first-ippool.yaml
kubectl get ipaddresspools -n metallb-system
[root@k8s-master01 ~]# kubectl get ipaddresspools -n metallb-system
NAME         AGE
first-pool   2m1s
[root@k8s-master01 ~]# 
#开启二层转发,实现k8s集群节点外访问
cat > l2forward.yaml << EOF
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:name: examplenamespace: metallb-system
EOFkubectl apply -f l2forward.yaml
#二层转发案例测试
cat > nginx.yaml << EOF
apiVersion: apps/v1
kind: Deployment
metadata:name: nginx
spec:replicas: 1selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- image: nginxname: nginximagePullPolicy: IfNotPresent
---
apiVersion: v1
kind: Service
metadata:name: nginx-svc
spec:type: LoadBalancerports:- port: 80targetPort: 80selector:app: nginx
EOFkubectl apply -f nginx.yaml
[root@k8s-master01 ~]# kubectl get pods,svc #svc的ip从地址池中分配的
NAME                         READY   STATUS    RESTARTS   AGE
pod/nginx-5f5c64f949-bhpvf   1/1     Running   0          50sNAME                 TYPE           CLUSTER-IP     EXTERNAL-IP       PORT(S)        AGE
service/kubernetes   ClusterIP      10.96.0.1      <none>            443/TCP        5h43m
service/nginx-svc    LoadBalancer   10.99.41.146   192.168.186.200   80:30293/TCP   50s
[root@k8s-master01 ~]# 

测试通过

kubectl delete -f nginx.yaml  #删除无用的pod和svc

3. 对于kubeEdge概述

KubeEdge由云和边缘组成。它建立在Kubernetes之上,为联网应用部署和云与边缘之间的元数据同步提供核心基础设施支持。所以如果我们想要设置KubeEdge,我们需要设置Kubernetes集群(可以使用现有的集群),云端和边缘端在cloud side, 我们需要安装

Docker
Kubernetes cluster
cloudcore

在 edge side, 我们需要安装

Docker
MQTT (配置可以选用,不是一定需要)
edgecore

在这里插入图片描述

3.部署kubeedge cloudcore

3.1 获取keadm工具

#wget https://github.com/kubeedge/kubeedge/releases/download/v1.10.1/keadm-v1.10.1-linux-amd64.tar.gz
wget https://github.com/kubeedge/kubeedge/releases/download/v1.14.2/keadm-v1.14.2-linux-amd64.tar.gztar -zxvf keadm-v1.14.2-linux-amd64.tar.gz
cp keadm-v1.14.2-linux-amd64/keadm/keadm  /usr/local/bin/
keadm version

3.2 部署cloudcore

#在master上部署
#设置云端  使用keadm初始化,安装cloudcore
docker pull kubeedge/cloudcore:v1.14.2  
docker pull  kubeedge/iptables-manager:v1.14.2keadm init --advertise-address=192.168.110.100 --kubeedge-version=1.14.2   #这是master的ipkeadm init --advertise-address=192.168.186.200 --set iptablesManager.mode="external" --profile version=v1.14.2 #这里的IP是负载均衡器metallb分配的IP#以上参数分别为master节点地址和要安装的KubeEdge版本。#keadm reset  #安装错误可以重置
keadm gettoken  #获取token
[root@master ~]# keadm init --advertise-address=192.168.186.200 --set iptablesManager.mode="external" --profile version=v1.14.2  # 这里的IP是负载均衡器metallb分配的IP
Kubernetes version verification passed, KubeEdge installation will start...
CLOUDCORE started
=========CHART DETAILS=======
NAME: cloudcore
LAST DEPLOYED: Thu Oct  5 14:22:00 2023
NAMESPACE: kubeedge
STATUS: deployed
REVISION: 1
[root@master ~]# 
http://www.lryc.cn/news/182709.html

相关文章:

  • 【LeetCode热题100】--35.搜索插入位置
  • mysql面试题13:MySQL中什么是异步复制?底层实现?
  • SpringBoot-Shiro安全权限框架
  • PostgreSQL基础语法
  • 编程前置:处理Excel表格,定位单元格位置,输入文字前,让AI机器人知道我说什么
  • Linux基本指令介绍系列第四篇
  • 读取vivo手机截图尺寸移动.jpg等文件
  • Web前端-Vue2+Vue3基础入门到实战项目-Day2(指令补充, computed计算属性, watch侦听器, 水果购物车)
  • ffmpeg之去除视频水印
  • 第二章 线性表
  • Java 超高频常见字符操作【建议收藏】
  • MongoDB数据库网站网页实例-编程语言Python+Django
  • 开箱报告,Simulink Toolbox库模块使用指南(七)——S-Fuction Builter模块
  • spring-boot 操作 mongodb 数据库
  • JVM篇---第三篇
  • 建筑施工行业招投标资源众包分包系统站点开发
  • 【Linux基础】Linux发展史
  • openGauss学习笔记-90 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用重试中止事务
  • 【Docker】搭建 Docker 镜像仓库
  • Python数据攻略-Pandas的数据计算、拼接与可视化
  • 【计算机网络】HTTPS协议详解
  • Septentrio接收机二进制的BDS b2b改正数解码
  • nvm 管理 node版本
  • LeetCode 15.三数之和
  • Linux实用操作(固定IP、进程控制、监控、文件解压缩)
  • Redis高可用之哨兵模式、集群
  • Python数据攻略-DataFrame的创建与基础特性
  • 【word】从正文开始设置页码
  • 计算机网络 快速了解网络层次、常用协议、常见物理设备。 掌握程序员必备网络基础知识!!!
  • CUDA 安装