CNCF KubeEdge: Support latest version in keink and run demo on keink

keink (KubeEdge IN kind) is a project for running local KubeEdge clusters using Docker container "nodes", so developers can install a multi-node edge cluster in one node. Now we need to support the latest version installation in keink. - Expected Outcome: keink can install the latest version of KubeEdge and developers can quickly use keink to run kubeedge, and then develop applications on KubeEdge

I've drafted an 8 Step Roadmap to Follow before I completely achieve the expected results. This is just a draft, I'm yet in the process of preparing a detailed 3-month proposal that outlines my roadmap, goals, and committed time slots. I believe this will provide my mentor a clear picture of my intentions and facilitate a more holistic understanding of my planned contributions.

Steps in the Roadmap that I have already completed:

  1. Understand KubeEdge and "keink":

    • Familiarized myself with KubeEdge and its core concepts. Learned about edge computing, cloud-native technologies, and how KubeEdge facilitates edge deployments.

    • Studied the existing "keink" project thoroughly. Understood its purpose, how it utilizes Docker containers for creating local KubeEdge clusters, and how it simplifies multi-node edge cluster installation.

  2. Setup Development Environment:

    • Setted up a development environment on my local machine. Installed required tools like Docker, Kubernetes, Istio and Go (already).
  3. Study KubeEdge Releases and Changes:

    • Explored the latest version of KubeEdge and understood its new features, changes, and improvements compared to the previous version.

    • Reviewed release notes, documentation, and community discussions related to the latest KubeEdge release.

Steps from the Roadmap yet To be Completed:

  1. Review "keink" Codebase:

    • Dive deep into the "keink" project's codebase. Understand its architecture, components, and how it interacts with KubeEdge and Docker.

    • Identify the parts of the codebase that need to be updated to support the latest KubeEdge version.

  2. Update "keink" for Latest KubeEdge:

    • Modify the relevant parts of the "keink" codebase to align with the changes introduced in the latest KubeEdge version. (Rigorous research and sched required)

    • Update dependencies, configuration files, and any other necessary elements to ensure compatibility.

  3. Testing and Validation:

    • Create test cases and scenarios to validate the updated "keink" with the latest KubeEdge version.

    • Set up local test environments and use "keink" to create KubeEdge clusters. Verify that the installation and cluster creation process works seamlessly.

  4. Documentation and User Guide (Extra) :

    • Update the documentation for "keink" to reflect the changes made for supporting the latest KubeEdge version.

    • Provide clear instructions for users on how to use the updated "keink" to install and run KubeEdge clusters.

  5. Testing Demo Scenarios:

    • Create demo scenarios that showcase "keink" installing the latest version of KubeEdge and setting up a functional edge cluster.

    • Document the steps and outcomes of these demo scenarios for reference.

I feel through these steps, I can gradually learn about KubeEdge, understand the intricacies of the "keink" project, update it for the latest KubeEdge version, and ultimately contribute to CNCF - KubeEdge by ensuring "keink" can install and run the latest version effectively.