github.com/jingruilea/kubeedge@v1.2.0-beta.0.0.20200410162146-4bb8902b3879/README.md (about)

     1  # KubeEdge
     2  [![Build Status](https://travis-ci.org/kubeedge/kubeedge.svg?branch=master)](https://travis-ci.org/kubeedge/kubeedge)
     3  [![Go Report Card](https://goreportcard.com/badge/github.com/kubeedge/kubeedge)](https://goreportcard.com/report/github.com/kubeedge/kubeedge)
     4  [![LICENSE](https://img.shields.io/github/license/kubeedge/kubeedge.svg?style=flat-square)](https://github.com/kubeedge/kubeedge/blob/master/LICENSE)
     5  [![Releases](https://img.shields.io/github/release/kubeedge/kubeedge/all.svg?style=flat-square)](https://github.com/kubeedge/kubeedge/releases)
     6  [![Documentation Status](https://readthedocs.org/projects/kubeedge/badge/?version=latest)](https://kubeedge.readthedocs.io/en/latest/?badge=latest)
     7  
     8  <img src="./docs/images/kubeedge-logo-only.png">
     9  
    10  KubeEdge is built upon Kubernetes and extends native containerized application orchestration and device management to hosts at the Edge.
    11  It consists of cloud part and edge part, provides core infrastructure support for networking, application deployment and metadata synchronization 
    12  between cloud and edge. It also supports **MQTT** which enables edge devices to access through edge nodes.
    13  
    14  With KubeEdge it is easy to get and deploy existing complicated machine learning, image recognition, event processing and other high level applications to the Edge. 
    15  With business logic running at the Edge, much larger volumes of data can be secured & processed locally where the data is produced.
    16  With data processed at the Edge, the responsiveness is increased dramatically and data privacy is protected.
    17  
    18  ## Advantages
    19  
    20  - **Kubernetes-native support**: Managing edge applications and edge devices in the cloud with fully compatible Kubernetes APIs.
    21  - **Cloud-Edge Reliable Collaboration**: Ensure reliable messages delivery without loss over unstable cloud-edge network.
    22  - **Edge Autonomy**: Ensure edge nodes run autonomously and the applications in edge run normally, when the cloud-edge network is unstable or edge is offline and restarted.
    23  - **Edge Devices Management**: Managing edge devices through Kubernetes native APIs implemented by CRD.
    24  - **Extremely Lightweight Edge Agent**: Extremely lightweight Edge Agent(EdgeCore) to run on resource constrained edge.
    25  
    26  
    27  ## How It Works
    28  
    29  KubeEdge consists of cloud part and edge part.
    30  
    31  ### Architecture
    32  
    33  <div  align="center">
    34  <img src="./docs/images/kubeedge_arch.png" width = "85%" align="center">
    35  </div>
    36  
    37  ### Cloud Part
    38  - [CloudHub](https://github.com/kubeedge/kubeedge/blob/master/docs/modules/cloud/cloudhub.md): a web socket server responsible for watching changes at the cloud side, caching and sending messages to EdgeHub.
    39  - [EdgeController](https://github.com/kubeedge/kubeedge/blob/master/docs/modules/cloud/controller.md): an extended kubernetes controller which manages edge nodes and pods metadata so that the data can be targeted to a specific edge node.
    40  - [DeviceController](https://github.com/kubeedge/kubeedge/blob/master/docs/modules/cloud/device_controller.md): an extended kubernetes controller which manages devices so that the device metadata/status data can be synced between edge and cloud.
    41  
    42  
    43  ### Edge Part
    44  - [EdgeHub](https://github.com/kubeedge/kubeedge/blob/master/docs/modules/edge/edgehub.md): a web socket client responsible for interacting with Cloud Service for the edge computing (like Edge Controller as in the KubeEdge Architecture). This includes syncing cloud-side resource updates to the edge, and reporting edge-side host and device status changes to the cloud.
    45  - [Edged](https://github.com/kubeedge/kubeedge/blob/master/docs/modules/edge/edged.md): an agent that runs on edge nodes and manages containerized applications.
    46  - [EventBus](https://github.com/kubeedge/kubeedge/blob/master/docs/modules/edge/eventbus.md): a MQTT client to interact with MQTT servers (mosquitto), offering publish and subscribe capabilities to other components.
    47  - ServiceBus: a HTTP client to interact with HTTP servers (REST), offering HTTP client capabilities to components of cloud to reach HTTP servers running at edge.
    48  - [DeviceTwin](https://github.com/kubeedge/kubeedge/blob/master/docs/modules/edge/devicetwin.md): responsible for storing device status and syncing device status to the cloud. It also provides query interfaces for applications.
    49  - [MetaManager](https://github.com/kubeedge/kubeedge/blob/master/docs/modules/edge/metamanager.md): the message processor between edged and edgehub. It is also responsible for storing/retrieving metadata to/from a lightweight database (SQLite).
    50  
    51  ## Kubernetes compatibility
    52  
    53  |                        | Kubernetes 1.11 | Kubernetes 1.12 | Kubernetes 1.13 | Kubernetes 1.14 | Kubernetes 1.15 | Kubernetes 1.16 | Kubernetes 1.17 |
    54  |------------------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------|-----------------|
    55  | KubeEdge 1.0           | ✓               | ✓               | ✓               | ✓              | ✓               | -               | -               |
    56  | KubeEdge 1.1           | ✓               | ✓               | ✓               | ✓               | ✓             | ✓               | ✓               |
    57  | KubeEdge 1.2           | ✓               | ✓               | ✓               | ✓               | ✓             | ✓               | ✓               |
    58  | KubeEdge HEAD (master) | ✓               | ✓               | ✓               | ✓               | ✓             | ✓               | ✓               |
    59  
    60  Key:
    61  * `✓` KubeEdge and the Kubernetes version are exactly compatible.
    62  * `+` KubeEdge has features or API objects that may not be present in the Kubernetes version.
    63  * `-` The Kubernetes version has features or API objects that KubeEdge can't use.
    64  
    65  ## Guides
    66  
    67  ### User Guide
    68  
    69  See our documentation on [kubeedge.io](https://kubeedge.io).
    70  
    71  **Quick Start** - Install KubeEdge with [keadm](./docs/setup/kubeedge_install_keadm.md).
    72  
    73  Try some examples of KubeEdge on [examples](https://github.com/kubeedge/examples).
    74  
    75  ### Developer Guide
    76  
    77  Take a look at our [development guide], If you are interested in building and contributing KubeEdge.
    78  
    79  ## Roadmap
    80  
    81  * [2020 Q1 Roadmap](./docs/getting-started/roadmap.md#2020-q1-roadmap)
    82  
    83  ## Meeting
    84  
    85  Regular Community Meeting:
    86  - Europe Time: **Wednesdays at 16:30-17:30 Beijing Time** (biweekly, starting from Feb. 19th 2020).
    87  ([Convert to your timezone.](https://www.thetimezoneconverter.com/?t=16%3A30&tz=GMT%2B8&))
    88  - Pacific Time: **Wednesdays at 10:00-11:00 Beijing Time** (biweekly, starting from Feb. 26th 2020).
    89  ([Convert to your timezone.](https://www.thetimezoneconverter.com/?t=10%3A00&tz=GMT%2B8&))
    90  
    91  Resources:
    92  - [Meeting notes and agenda](https://docs.google.com/document/d/1Sr5QS_Z04uPfRbA7PrXr3aPwCRpx7EtsyHq7mp6CnHs/edit)
    93  - [Meeting recordings](https://www.youtube.com/playlist?list=PLQtlO1kVWGXkRGkjSrLGEPJODoPb8s5FM)
    94  - [Meeting link](https://zoom.us/j/4167237304)
    95  - [Meeting Calendar](https://calendar.google.com/calendar/embed?src=8rjk8o516vfte21qibvlae3lj4%40group.calendar.google.com) | [Subscribe](https://calendar.google.com/calendar?cid=OHJqazhvNTE2dmZ0ZTIxcWlidmxhZTNsajRAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ)
    96  
    97  ## Contact
    98  
    99  <!--
   100  We don't have a troubleshooting guide yet.  When we do, uncomment the following and add the link.
   101  If you need support, start with the [troubleshooting guide], and work your way through the process that we've outlined.
   102  
   103  -->
   104  If you have questions, feel free to reach out to us in the following ways:
   105  
   106  - [mailing list](https://groups.google.com/forum/#!forum/kubeedge)
   107  - [slack](https://join.slack.com/t/kubeedge/shared_invite/enQtNjc0MTg2NTg2MTk0LWJmOTBmOGRkZWNhMTVkNGU1ZjkwNDY4MTY4YTAwNDAyMjRkMjdlMjIzYmMxODY1NGZjYzc4MWM5YmIxZjU1ZDI)
   108  - [twitter](https://twitter.com/kubeedge)
   109  
   110  ## Contributing
   111  
   112  If you're interested in being a contributor and want to get involved in
   113  developing the KubeEdge code, please see [CONTRIBUTING](CONTRIBUTING.md) for
   114  details on submitting patches and the contribution workflow.
   115  
   116  ## License
   117  
   118  KubeEdge is under the Apache 2.0 license. See the [LICENSE](LICENSE) file for details.
   119  
   120  
   121  [development guide]: ./docs/setup/develop_kubeedge.md