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

     1  # Start Developing KubeEdge
     2  
     3  In this section, we would cover the below topics
     4  
     5  1. [Abstract](#Abstract)
     6  2. [Pre-Requisite](#pre-requisite)
     7  3. [Setup KubeEdge](#setup-kubeEdge)
     8  4. [Configure KubeEdge](#configure-kubeEdge)
     9  5. [Run KubeEdge](#run-kubeedge)
    10  6. [KubeEdge Pre-Check](#kubeedge-pre-check)
    11  
    12  ## Abstract
    13  
    14  KubeEdge is composed of cloud and edge sides. It is built upon Kubernetes and provides core infrastructure support for networking, application deployment and metadata synchronization between cloud and edge. So if we want to setup KubeEdge, we need to setup Kubernetes cluster (exisiting cluster can be used), cloud side and edge side.
    15  
    16  + on `cloud side`, we need to install Docker, Kubernetes cluster and cloudcore.
    17  + on `edge side`, we need to install Docker, MQTT (We can also use internal MQTT broker) and edgecore.
    18  
    19  ## Pre-Requisite
    20  
    21  + Please refer [Kubernetes-compatibility](https://github.com/kubeedge/kubeedge#kubernetes-compatibility) to understand **Kubernetes compatibility** and determine what version of Docker, Kubernetes can be installed.
    22  + Please refer Golang dependency below to understand what version of Golang can be installed.
    23  
    24  ### Golang dependency
    25  
    26  |                         | Golang 1.10    | Golang 1.11     | Golang 1.12     | Golang 1.13     |
    27  |-------------------------|----------------|-----------------|-----------------|-----------------|
    28  | KubeEdge 1.0            | ✓              | ✓               | ✓               | ✗               |
    29  | KubeEdge 1.1            | ✗              | ✗               | ✓               | ✗               |
    30  | KubeEdge 1.2            | ✗              | ✗               | ✓               | ✓               |
    31  | KubeEdge HEAD (master)  | ✗              | ✗               | ✓               | ✓               |
    32  
    33  ### Cloud side (KubeEdge Master)
    34  
    35  + [Install golang](https://golang.org/dl/) (If you want to compile KubeEdge)
    36  
    37  + [Install Docker](https://docs.docker.com/install/), or other runtime, such as [containerd](https://github.com/containerd/containerd)
    38  
    39  + [Install kubeadm/ kubectl](https://kubernetes.io/docs/setup/independent/install-kubeadm/)
    40  
    41  + [Creating Kubernetes cluster with kubeadm](<https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/>)
    42  
    43  If you are creating Kubernetes cluster for just testing KubeEdge, you can start with Flannel.
    44  
    45  Check Kubernetes Master Status: It should be `ready`.
    46  
    47  ```shell
    48  kubectl get nodes
    49  
    50  NAME               STATUS   ROLES    AGE    VERSION
    51  kubeedge-master   Ready    master   4d3h   v1.17.1
    52  ```
    53  
    54  ### Edge side (KubeEdge Worker Node)
    55  
    56  + [Install golang](https://golang.org/dl/) (If you want to compile KubeEdge)
    57  
    58  + [Install Docker](https://docs.docker.com/install/), or other runtime, such as [containerd](https://github.com/containerd/containerd)
    59  
    60  + [Install mosquitto](https://mosquitto.org/download/) : If you are just trying KubeEdge, this step can be skipped.
    61  
    62  **Note:** Do not install **kubelet** and **kube-proxy** on edge side
    63  
    64  ## Setup KubeEdge
    65  
    66  Setup From [Source](kubeedge_install_source.md).
    67  
    68  ## Configure KubeEdge
    69  
    70  At this point, we assume that you have completed the installation of KubeEdge and want to configure either Cloudcore or Edgecore
    71  
    72  Refer [KubeEdge Configuration](kubeedge_configure.md)
    73  
    74  ## Run KubeEdge
    75  
    76  Refer [KubeEdge Run](kubeedge_run.md)
    77  
    78  ## KubeEdge Pre-Check
    79  
    80  Refer [KubeEdge Pre-Check](kubeedge_precheck.md)