You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

prepare-environment.md 2.7 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. This document helps you prepare environment for developing code for Sedna.
  2. If you follow this guide and find some problem, please fill an issue to update this file.
  3. ## 1. Install Tools
  4. ### Install Git
  5. Sedna is managed with [git], and to develop locally you
  6. will need to install `git`.
  7. You can check if `git` is already on your system and properly installed with
  8. the following command:
  9. ```
  10. git --version
  11. ```
  12. ### Install Go(optional)
  13. All Sedna's control components(i.e. [GM/LC][framework]) are written in the [Go][golang].
  14. If you are planning to change them, you need to set up Go.
  15. Sedna currently builds with Go 1.16, install or upgrade [Go using the instructions for your operating system][golang].
  16. You can check if Go is in your system with the following command:
  17. ```
  18. go version
  19. ```
  20. ## 2. Clone the code
  21. Clone the `Sedna` repo:
  22. ```shell
  23. git clone http://github.com/kubeedge/sedna.git
  24. ```
  25. **Note**: If you want to add or change API in [pkg/apis](/pkg/apis), you need to checkout the code to `$GOPATH/src/github.com/kubeedge/sedna`.
  26. ## 3. Set up Kubernetes/KubeEdge(optional)
  27. If you are planning to run or debug Sedna, you need to set up Kubernetes and KubeEdge.
  28. Sedna requires Kubernetes version 1.16 or higher with CRD support.
  29. Sedna requires KubeEdge version 1.5 or higher with edge support.
  30. > **Note**: You need to check [the Kubernetes compatibility of KubeEdge][kubeedge-k8s-compatibility].
  31. ### Install Kubernetes
  32. Follow [Kubernetes setup guides][k8s-setup] to set up and run Kubernetes, like:
  33. > If you're learning Kubernetes, use the [tools][k8s-tools] to set up a Kubernetes cluster on a local machine, e.g.:
  34. > * [Installing Kubernetes with Kind][kind]
  35. > * [Installing Kubernetes with Minikube][minikube]
  36. ### Install KubeEdge
  37. Please follow [the kubeedge instructions][kubeedge] to install KubeEdge.
  38. ## 4. What's Next?
  39. Once you've set up the prerequisites, continue with:
  40. - See [control plane development guide]
  41. for more details about how to build & test Sedna.
  42. - See [lib development guide] for more details about how to develop AI algorithms and worker images based on [sedna lib code](/lib).
  43. [git]: https://git-scm.com/
  44. [framework]: /docs/proposals/architecture.md#architecture
  45. [github]: https://github.com/
  46. [golang]: https://golang.org/doc/install
  47. [k8s-setup]: https://kubernetes.io/docs/setup/
  48. [k8s-tools]: https://kubernetes.io/docs/tasks/tools
  49. [minikube]: https://minikube.sigs.k8s.io/docs/start/
  50. [kind]: https://kind.sigs.k8s.io
  51. [kubeedge]: https://kubeedge.io/en/docs/
  52. [kubeedge-k8s-compatibility]: https://github.com/kubeedge/kubeedge#kubernetes-compatibility
  53. [lib development guide]: ./lib/development.md
  54. [control plane development guide]: ./control-plane/development.md