summaryrefslogtreecommitdiff
path: root/build
diff options
context:
space:
mode:
authorfisherxu <fisherxu1@gmail.com>2023-12-05 21:26:28 +0800
committerfisherxu <fisherxu1@gmail.com>2023-12-05 21:32:37 +0800
commit0e54a47dae73212dd54081300fe612f2084df82a (patch)
treeba1f6246ce92fd34469cc4946269978d9d1193dc /build
parentMerge pull request #5254 from Shelley-BaoYue/staticpodpath (diff)
downloadkubeedge-0e54a47dae73212dd54081300fe612f2084df82a.tar.gz
deprecate the edgecore containerized deployment solution
Signed-off-by: fisherxu <fisherxu1@gmail.com>
Diffstat (limited to 'build')
-rw-r--r--build/edge/.env8
-rw-r--r--build/edge/README.md66
-rw-r--r--build/edge/README_zh.md65
-rw-r--r--build/edge/docker-compose.yaml52
-rwxr-xr-xbuild/edge/run_daemon.sh197
5 files changed, 7 insertions, 381 deletions
diff --git a/build/edge/.env b/build/edge/.env
deleted file mode 100644
index 5f1092b47..000000000
--- a/build/edge/.env
+++ /dev/null
@@ -1,8 +0,0 @@
-CLOUDHUB=0.0.0.0:10000
-EDGENAME=edge-node
-EDGECOREIMAGE=kubeedge/edgecore:latest
-ARCH=amd64
-QEMU_ARCH=x86_64
-CERTPATH=/etc/kubeedge/certs
-CERTFILE=/etc/kubeedge/certs/edge.crt
-KEYFILE=/etc/kubeedge/certs/edge.key
diff --git a/build/edge/README.md b/build/edge/README.md
index acb708cf8..430eb87eb 100644
--- a/build/edge/README.md
+++ b/build/edge/README.md
@@ -1,65 +1,7 @@
## Deploy kubeedge's edge nodes using containers
-This method will guide you to deploy the edge part running in docker
-container and MQTT Broker, so make sure that docker engine listening on
-`/var/run/docker.sock` which will then mount into the edge container.
+**Note:** The files in this directory have been deprecated. The containerized deployment of edgecore should only be used for
+testing and is not recommended for production use.
-+ Check the container runtime environment
- ```bash
- cd build/edge
- ./run_daemon.sh prepare
- ```
-
-+ Set container parameters
-
- The following parameters do not need to be set if they are not modified.
-
- | name | default | note |
- | --------------- | --------------------------------- | -------------------------- |
- | cloudhub | 0.0.0.0:10000 | |
- | edgename | edge-node | |
- | edgecore_image | kubeedge/edgecore:latest | |
- | arch | amd64 | Optional: amd64 \| arm64v8 \| arm32v7 \| i386 \| s390x |
- | qemu_arch | x86_64 | Optional: x86_64 \| aarch64 \| arm \| i386 \| s390x |
- | certpath | /etc/kubeedge/certs | |
- | certfile | /etc/kubeedge/certs/edge.crt | |
- | keyfile | /etc/kubeedge/certs/edge.key | |
-
- ```shell
- ./run_daemon.sh set \
- cloudhub=0.0.0.0:10000 \
- edgename=edge-node \
- edgecore_image="kubeedge/edgecore:latest" \
- arch=amd64 \
- qemu_arch=x86_64 \
- certpath=/etc/kubeedge/certs \
- certfile=/etc/kubeedge/certs/edge.crt \
- keyfile=/etc/kubeedge/certs/edge.key
- ```
-
-+ Build image
-
- ```
- ./run_daemon.sh build
- ```
-
-+ **(Optional)** If the performance of the edge is not enough, you can cross-compile the image of the edge on the cloud and load the image on the edge.
-
- - Set the CPU type
-
- ```
- ./run_daemon.sh set arch=arm64v8 qemu_arch=aarch64
- ```
- - Build image
- ```
- ./run_daemon.sh build
- ```
- - Save image
- ```
- ./run_daemon.sh save
- ```
-
-+ Start container
- ```
- ./run_daemon.sh up
- ```
+- EdgeCore's containerized deployment solution for performance testing can be found in [EdgeMark](../edgemark)
+- EdgeCore in docker, easily spin up a multi nodes KubeEdge cluster in just one machine, see [Keink sub-project](https://github.com/kubeedge/keink) \ No newline at end of file
diff --git a/build/edge/README_zh.md b/build/edge/README_zh.md
index 19f1723c7..15b26ecc4 100644
--- a/build/edge/README_zh.md
+++ b/build/edge/README_zh.md
@@ -1,65 +1,6 @@
## 使用容器部署kubeedge的边缘节点
-此方式将在容器中运行 edge 端和mqtt broker,所以需要确认 docker engine 监听在
-`/var/run/docker.sock`,这个之后需要挂载到容器中。
+**注意:** 此目录中的文件已被弃用。EdgeCore的容器化部署只建议用于测试,不建议在生产使用。
-+ 检查容器运行环境
- ```
- cd $GOPATH/src/github.com/kubeedge/kubeedge/build/edge
- ./run_daemon.sh prepare
- ```
-
-+ 设置容器参数
-
- 以下参数如果不用修改则无需设置
-
- | 参数名称 | 默认值 | 备注 |
- | ------------------- | ---------------------------- | ------------------------ |
- | cloudhub | 0.0.0.0:10000 | |
- | edgename | edge-node | |
- | edgecore_image | kubeedge/edgecore:latest | |
- | arch | amd64 | 可选值:amd64 \| arm64v8 \| arm32v7 \| i386 \| s390x |
- | qemu_arch | x86_64 | 可选值:x86_64 \| aarch64 \| arm \| i386 \| s390x |
- | certpath | /etc/kubeedge/certs | |
- | certfile | /etc/kubeedge/certs/edge.crt | |
- | keyfile | /etc/kubeedge/certs/edge.key | |
-
- ```shell
- ./run_daemon.sh set \
- cloudhub=0.0.0.0:10000 \
- edgename=edge-node \
- edgecore_image="kubeedge/edgecore:latest" \
- arch=amd64 \
- qemu_arch=x86_64 \
- certpath=/etc/kubeedge/certs \
- certfile=/etc/kubeedge/certs/edge.crt \
- keyfile=/etc/kubeedge/certs/edge.key
- ````
-
-+ 编译容器镜像
-
- ```
- ./run_daemon.sh build
- ```
-
-+ **(可选)** 如果edge的性能不够,可以在cloud上交叉编译edge的镜像,在edge端加载镜像
- - 设置CPU类型
-
- ```
- ./run_daemon.sh set arch=arm64v8 qemu_arch=aarch64
- ```
-
- - 编译镜像
- ```
- ./run_daemon.sh build
- ```
-
- - 保存镜像
- ```
- ./run_daemon.sh save
- ```
-
-+ 启动容器
- ```
- ./run_daemon.sh up
- ```
+- EdgeCore用于性能测试的容器化部署方案见[EdgeMark](../edgemark)
+- EdgeCore用于单机容器化部署测试见[Keink子项目](https://github.com/kubeedge/keink) \ No newline at end of file
diff --git a/build/edge/docker-compose.yaml b/build/edge/docker-compose.yaml
deleted file mode 100644
index 09266f8d0..000000000
--- a/build/edge/docker-compose.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-version: "3"
-
-networks:
- kubeedge-bridge:
- driver: bridge
-
-services:
- dind:
- image: ${ARCH}/docker:dind
- restart: always
- privileged: true
- networks:
- - kubeedge-bridge
- emqx:
- image: emqx/emqx-edge:v3.1.1-${ARCH}
- restart: always
- networks:
- - kubeedge-bridge
-
- edgecore:
- image: ${EDGECOREIMAGE}
- build:
- context: ../..
- dockerfile: ./build/edge/Dockerfile
- args:
- - BUILD_FROM=${ARCH}/golang:1.12-alpine3.10
- - RUN_FROM=${ARCH}/docker:dind
- - QEMU_ARCH=${QEMU_ARCH}
- depends_on:
- - emqx
- - dind
- environment:
- mqtt.server: tcp://emqx:1883
- edgehub.websocket.url: wss://${CLOUDHUB}/e632aba927ea4ac2b575ec1603d56f10/${EDGENAME}/events
- edged.hostname-override: ${EDGENAME}
- edgehub.controller.node-id: ${EDGENAME}
- edgehub.websocket.certfile: ${CERTFILE}
- edgehub.websocket.keyfile: ${KEYFILE}
- edged.docker-address: tcp://dind:2375
- DOCKER_HOST: tcp://dind:2375
- volumes:
- - ${CERTPATH}:/etc/kubeedge/certs:ro
- - /var/lib/edged:/var/lib/edged
- - /var/lib/kubeedge:/var/lib/kubeedge
- privileged: true
- deploy:
- resources:
- limits:
- cpus: '1.00'
- memory: 1g
- networks:
- - kubeedge-bridge
diff --git a/build/edge/run_daemon.sh b/build/edge/run_daemon.sh
deleted file mode 100755
index 14022da54..000000000
--- a/build/edge/run_daemon.sh
+++ /dev/null
@@ -1,197 +0,0 @@
-#!/bin/bash
-set -e
-
-QEMU_VERSION="${QEMU_VERSION:-v3.0.0}"
-
-main(){
- case $1 in
- "prepare")
- docker_prepare
- ;;
- "set")
- docker_set $@
- ;;
- "build")
- docker_build
- ;;
- "save")
- docker_save
- ;;
- "up")
- docker_up
- ;;
- "down")
- docker_down
- ;;
- "only_run_edge")
- docker_only_run_edge $@
- ;;
- *)
- usage
- exit 1
- ;;
- esac
-}
-
-usage() {
- echo "Usage:"
- echo "$0 prepare | set | build | save | up | down "
-}
-
-docker_prepare(){
- if [ ! -d /etc/kubeedge/certs ] || [ ! -e /etc/kubeedge/certs/edge.crt ] || [ ! -e /etc/kubeedge/certs/edge.key ]; then
- mkdir -p /etc/kubeedge/certs
- echo "Certificate does not exist"
- exit -1
- fi
-
- if [ ! -d /var/lib/kubeedge ]; then
- mkdir -p /var/lib/kubeedge
- fi
-
- if [ ! -d /var/lib/edged ]; then
- mkdir -p /var/lib/edged
- fi
-
- if [ ! -S /var/run/docker.sock ]; then
- echo "docker engine not found"
- exit -1
- fi
-
- eval $(sed -n '/CERTPATH/p' .env)
- eval $(sed -n '/CERTFILE/p' .env)
- eval $(sed -n '/KEYFILE/p' .env)
- if [ ! -d ${CERTPATH} ] || [ ! -e ${CERTFILE} ] || [ ! -e ${KEYFILE} ]; then
- mkdir -p ${CERTPATH}
- echo "Certificate does not exist"
- exit -1
- fi
-
- if [[ -z $(which docker-compose) ]]; then
- curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- chmod +x /usr/local/bin/docker-compose
- fi
- echo "Container runtime environment check passed."
-}
-
-docker_set(){
- # This script accepts the following parameters:
- #
- # * cloudhub
- # * edgename
- # * edgecore_image
- # * arch
- # * qemu_arch
- # * certpath
- # * certfile
- # * keyfile
- #
- # Example
- #
- # ./run_daemon.sh set \
- # cloudhub=0.0.0.0:10000 \
- # edgename=edge-node \
- # edgecore_image="kubeedge/edgecore:latest" \
- # arch=amd64 \
- # qemu_arch=x86_64 \
- # certpath=/etc/kubeedge/certs \
- # certfile=/etc/kubeedge/certs/edge.crt \
- # keyfile=/etc/kubeedge/certs/edge.key
-
- ARGS=$@
-
- CONFIG=${ARGS#* }
-
- for line in $CONFIG; do
- eval "$line"
- done
-
- [[ ! -z $cloudhub ]] && sed -i "/CLOUDHUB=/c\CLOUDHUB=${cloudhub}" .env && echo "set cloudhub success"
- [[ ! -z $edgename ]] && sed -i "/EDGENAME=/c\EDGENAME=${edgename}" .env && echo "set edgename success"
- [[ ! -z $edgecore_image ]] && sed -i "/EDGECOREIMAGE=/c\EDGECOREIMAGE=${edgecore_image}" .env && echo "set edgecore_image success"
- [[ ! -z $arch ]] && sed -i "/\<ARCH\>/c\ARCH=${arch}" .env && echo "set arch success"
- [[ ! -z $qemu_arch ]] && sed -i "/QEMU_ARCH=/c\QEMU_ARCH=${qemu_arch}" .env && echo "set qemu_arch success"
- [[ ! -z $certpath ]] && sed -i "/CERTPATH=/c\CERTPATH=${certpath}" .env && echo "set certpath success"
- [[ ! -z $certfile ]] && sed -i "/CERTFILE=/c\CERTFILE=${certfile}" .env && echo "set certfile success"
- [[ ! -z $keyfile ]] && sed -i "/KEYFILE=/c\KEYFILE=${keyfile}" .env && echo "set keyfile success"
-}
-
-docker_build(){
- eval $(sed -n '/QEMU_ARCH/p' .env)
-
- # Prepare qemu to build images other then x86_64 on travis
- prepare_qemu ${QEMU_ARCH}
-
- docker-compose build
-}
-
-docker_save(){
- eval $(sed -n '/EDGECOREIMAGE/p' .env)
- docker save -o edgecore_image.tar $EDGECOREIMAGE
-}
-
-docker_up(){
- docker-compose up -d
-}
-
-docker_down(){
- docker-compose down
-}
-
-docker_only_run_edge(){
- # This script accepts the following parameters:
- #
- # * mqtt
- # * edgename
- # * cloudhub
- # * image
- #
- # Example
- #
- # ./run_daemon.sh only_run_edge mqtt=0.0.0.0:1883 cloudhub=0.0.0.0:10000 edgename=edge-node image="kubeedge/edgecore:latest"
-
- ARGS=$@
-
- CONFIG=${ARGS#* }
-
- for line in $CONFIG; do
- eval "$line"
- done
-
- mqtt=${mqtt:-"0.0.0.0:1883"}
- cloudhub=${cloudhub:-"0.0.0.0:10000"}
- edgename=${edgename:-$(hostname)}
- edgehubWebsocketUrl=wss://${cloudhub}/e632aba927ea4ac2b575ec1603d56f10/${edgename}/events
- image=${image:-"kubeedge/edgecore:latest"}
- containername=${containername:-"edgecore"}
-
- docker run -d --name ${containername} --restart always \
- --cpu-period=50000 --cpu-quota=100000 --memory=1g --privileged \
- -e edgehub.websocket.certfile=/etc/kubeedge/certs/edge.crt \
- -e edgehub.websocket.keyfile=/etc/kubeedge/certs/edge.key \
- -e mqtt.server=${mqtt} \
- -e edgehub.websocket.url=${edgehubWebsocketUrl} \
- -e edged.hostname-override=${edgename} \
- -e edgehub.controller.node-id=${edgename} \
- -v /etc/kubeedge/certs:/etc/kubeedge/certs:ro \
- -v /var/lib/edged:/var/lib/edged \
- -v /var/lib/kubeedge:/var/lib/kubeedge \
- -v /var/run/docker.sock:/var/run/docker.sock \
- ${image}
-}
-
-prepare_qemu(){
- echo "PREPARE: Qemu"
- QEMU_ARCH=${1}
- # Prepare qemu to build non amd64 / x86_64 images
- docker run --rm --privileged multiarch/qemu-user-static:register --reset
-
- rm -rf tmp
- mkdir -p tmp
-
- pushd tmp &&
- curl -L -o qemu-${QEMU_ARCH}-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/$QEMU_VERSION/qemu-${QEMU_ARCH}-static.tar.gz && tar xzf qemu-${QEMU_ARCH}-static.tar.gz &&
- popd
-}
-
-main $@