{"id":13509467,"url":"https://github.com/superedge/superedge","last_synced_at":"2025-04-08T10:21:49.953Z","repository":{"id":37049019,"uuid":"322759957","full_name":"superedge/superedge","owner":"superedge","description":"An edge-native container management system for edge computing","archived":false,"fork":false,"pushed_at":"2024-02-20T10:02:19.000Z","size":11412,"stargazers_count":1046,"open_issues_count":39,"forks_count":198,"subscribers_count":32,"default_branch":"main","last_synced_at":"2025-04-01T08:39:52.030Z","etag":null,"topics":["container","edge-computing","kubernetes"],"latest_commit_sha":null,"homepage":"https://superedge.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/superedge.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":"GOVERNANCE.md","roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-19T03:42:55.000Z","updated_at":"2025-03-25T14:50:48.000Z","dependencies_parsed_at":"2023-02-15T22:31:19.523Z","dependency_job_id":"fc2a8d54-3834-4447-9888-6e616f11e944","html_url":"https://github.com/superedge/superedge","commit_stats":{"total_commits":345,"total_committers":60,"mean_commits":5.75,"dds":0.8202898550724638,"last_synced_commit":"72ab0dfce89165b6bd86e197cc76f73a7340b42c"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superedge%2Fsuperedge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superedge%2Fsuperedge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superedge%2Fsuperedge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superedge%2Fsuperedge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/superedge","download_url":"https://codeload.github.com/superedge/superedge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247819943,"owners_count":21001394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["container","edge-computing","kubernetes"],"created_at":"2024-08-01T02:01:08.221Z","updated_at":"2025-04-08T10:21:49.933Z","avatar_url":"https://github.com/superedge.png","language":"Go","funding_links":[],"categories":["Go","kubernetes","Edge \u0026 IoT","其他相关","Engine","年度文章盘点"],"sub_categories":["2021年度文章盘点"],"readme":"English | [简体中文](./README_CN.md)\n\n# SuperEdge\n\n[![Version](https://img.shields.io/badge/SuperEdge-0.9.0-blue)](https://github.com/superedge/superedge/releases)\n[![Go Report Card](https://goreportcard.com/badge/github.com/superedge/superedge)](https://goreportcard.com/report/github.com/superedge/superedge)\n[![License](https://img.shields.io/badge/License-Apache--2.0-orange)](https://www.apache.org/licenses/LICENSE-2.0.html)\n\n\u003cdiv align=\"left\"\u003e\n  \u003cimg src=\"docs/img/SuperEdge-icon-color.png\" width=30% title=\"SuperEdge Architecture\"\u003e\n\u003c/div\u003e\n\n---\n\n\u003e 👋 Now SuperEdge v0.9.0 has supported Kins [[English](docs/components/kins.md), [中文](docs/components/kins_CN.md)] feature, which will provision lightweighted K3s cluster on edge NodeUnit and you can play it totally offline. Welcome to checkout and try [edgeadm](https://github.com/superedge/edgeadm/releases/tag/v0.9.0)\n\n----\n\n## What is SuperEdge?\n\nSuperEdge is an open source **container management system for edge computing** to manage compute resources and container applications in multiple edge regions. These resources and applications, in the current approach, are managed as one single **Kubernetes** cluster. A native Kubernetes cluster can be easily converted to a SuperEdge cluster.\n\nSuperEdge has the following characteristics:\n\n* **Kubernetes-native**: SuperEdge extends the powerful container orchestration and scheduling capabilities of Kubernetes to the edge. It makes nonintrusive enhancements to Kubernetes and is fully compatible with all Kubernetes APIs and resources. Kubernetes users can leverage SuperEdge easily for edge environments with minimal learning.\n\n* **Edge autonomy**: Now SuperEdge provides L4/L5 edge autonomy. \n  \n  L3: When the network connection between the edge and the cloud is unstable, or the edge node is offline, the node can still work independently. But at this time, edge node can't do anything associated with writing operation, such as create/delete/update.\n  \n  L4/L5: Now SuperEdge has released v0.9.0 which support Kins [[English](docs/components/kins.md), [中文](docs/components/kins_CN.md)] Feature. Kins will provision a lightweight K3s cluster based on SuperEdge, which can be operated totally offline. L4 level will leverage the single master edge K3s cluster, and L5 level will provision 3 master edge K3s cluster.\n\n* **Distributed node health monitoring**: SuperEdge provides edge-side health monitoring capabilities. SuperEdge can continue to monitor the processes on the edge side and collect health information for faster and more accurate problem discovery and reporting. In addition, its distributed design can provide multi-region monitoring and management.\n\n* **Built-in edge orchestration capability**: SuperEdge supports automatic deployment of multi-regional microservices.\n  Edge-side services are closed-looped, and it effectively reduces the operational overhead and improves the fault\n  tolerance and availability of the system.\n\n* **Network tunneling**: SuperEdge ensures that Kubernetes nodes can operate under different network situations. It\n  supports network tunnelling using TCP, HTTP, HTTPS and SSH.\n\nSuperEdge was initiated by the following companies: Tencent, Intel, VMware, Huya, Cambricon, Captialonline and Meituan.\n\n## Architecture\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"docs/img/superedge_arch.png\" width=80% title=\"SuperEdge Architecture\"\u003e\n\u003c/div\u003e\n\n### Cloud components:\n\n* [**tunnel-cloud**](docs/components/tunnel_CN.md): Maintains a persistent network connection to `tunnel-edge` services. Supports TCP/HTTP/HTTPS network proxies.\n* [**application-grid controller**](docs/components/serviceGroup.md): A Kubernetes CRD controller as part of ServiceGroup. It manages DeploymentGrids, StatefulSetGrids and ServiceGrids CRDs and control applications and network traffic on edge worker nodes.\n* [**edge-health admission**](docs/components/edge-health.md): Assists Kubernetes controllers by providing real-time health check status from `edge-health` services distributed on all edge worker nodes.\n* [**site-manager**](docs/components/kins_CN.md): A Kubernetes CRD controller which will manipulate `NodeUnit`and `NodeGroup`. And this controller is also responsible for **Kins** feature.\n\n### Edge components:\n\n* [**lite-apiserver**](docs/components/lite-apiserver.md): Lightweight kube-apiserver for edge autonomy. It caches and proxies edge components' requests and critical events to cloud kube-apiserver.\n* [**edge-health**](docs/components/edge-health.md): Monitors the health status of edge nodes in the same edge region.\n* [**tunnel-edge**](docs/components/tunnel.md): Maintains persistent connection to `tunnel-cloud` to retrieve API requests to the controllers on the edge.\n* [**application-grid wrapper**](docs/components/serviceGroup.md): Managed by `application-grid controller` to provide independent internal network space for services within the same ServiceGrid.\n\n## Quickstart Guide\n\nPlease refer to the sub-project [**edgeadm**](https://github.com/superedge/edgeadm). If you want to bring up a SuperEdge cluster from scrath, check this manual [One-click install of edge Kubernetes cluster](https://github.com/superedge/edgeadm/blob/main/docs/installation/install_edge_kubernetes.md).\n\n- Download the installation package\n  \n  \u003e The supported version:\n  \u003e \n  \u003e - CPU arch [amd64, arm64], kubernetes version [1.22.6], version: v0.9.0\n  \u003e \n  \u003e - CPU arch [amd64, arm64], kubernetes version [1.22.6, 1.20.6], version: v0.8.2\n  \n  ```shell\n  arch=amd64 version=v0.9.0 kubernetesVersion=1.22.6 \u0026\u0026 rm -rf edgeadm-linux-* \u0026\u0026 wget https://superedge-1253687700.cos.ap-guangzhou.myqcloud.com/$version/$arch/edgeadm-linux-$arch-$version-k8s-$kubernetesVersion.tgz \u0026\u0026 tar -xzvf edgeadm-linux-* \u0026\u0026 cd edgeadm-linux-$arch-$version-k8s-$kubernetesVersion \u0026\u0026 ./edgeadm\n  ```\n\n- Install edge Kubernetes master node\n  \n  ```shell\n  ./edgeadm init --kubernetes-version=1.22.6 --image-repository superedge.tencentcloudcr.com/superedge --service-cidr=10.96.0.0/12 --pod-network-cidr=192.168.0.0/16 --install-pkg-path ./kube-linux-*.tar.gz --apiserver-cert-extra-sans=\u003cMaster Public IP\u003e --apiserver-advertise-address=\u003cMaster Intranet IP\u003e --enable-edge=true --edge-version=0.9.0\n  ```\n\n- Join edge node\n  \n  ```shell\n  ./edgeadm join \u003cMaster Public/Intranet IP Or Domain\u003e:Port --token xxxx --discovery-token-ca-cert-hash sha256:xxxxxxxxxx --install-pkg-path \u003cedgeadm kube-* install package address path\u003e --enable-edge=true\n  ```\n\nOther installation, deployment, and administration, see our [**Tutorial**](https://github.com/superedge/edgeadm/blob/main/docs/tutorial.md).\n\n## More details\n\n- [tutorial_CN](./docs/tutorial_CN.md)\n\n## Contact\n\nFor any question or support, feel free to contact us via:\n\n- Join [#SuperEdge Slack channel](https://cloud-native.slack.com/archives/C02M1G0MWQ2) (Need to join [CNCF Slack](https://slack.cncf.io/) first)\n- Join [SuperEdge Discussion Forum](https://groups.google.com/g/superedge)\n- [Meeting agenda and notes](https://docs.qq.com/doc/DSFVJbHVFUnVKdFlE)\n- Join WeChat Group Discussion\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"docs/img/wechat-group.png\" width=20% title=\"SuperEdge WeChat group\"\u003e\n\u003c/div\u003e\n\n## Contributing\n\nWelcome to [contribute](./CONTRIBUTING.md) and improve SuperEdge\n\n## Troubleshooting and Feedback\n\nIf you encounter any failure in the process of using SuperEdge, you can use [Contact](./README.md#:~:text=Slack,Group) Contact us, or give us feedback via [Troubleshooting and Feedback](./SECURITY.md).\n\n## License\n\n[**Apache License 2.0**](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperedge%2Fsuperedge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuperedge%2Fsuperedge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperedge%2Fsuperedge/lists"}