Skip to content

✨ Kubernetes integration #318

@Meshiest

Description

@Meshiest

✨ Feature

Extensions to snops-cli to build Kubernetes deployments automatically from environment specs, and run the controlplane within k8s

Motivation

Reduces friction for getting a snops environment setup, allows automated cloud native deployment of isonets.

Use cases

Simple isonet creation with ZERO YAML (no config files)

Deploy containerized agents for a generic size network

  • snops-cli k8s generate network --validators 4 --clients 4 | kubectl apply -f -

(example command, needs more info to determine if these are real mainnet/testnet/canary nodes or isonet nodes)

  1. Generates a spec file with 4 validators and 4 clients
  2. Creates a deployment for running a controlplane and 8 agents connecting to the controlplane
  3. Starts/updates the environment and delegates all the agents

Simple environment setup

Deploy containerized agents for any existing environment

  • snops-cli k8s generate -f my-env.yaml | kubectl apply -f -
  1. Determines the number of agents needed for a spec
  2. Generates a deployment for running a controlplane and that many agents
  3. Starts/updates the environment and delegates all the agents

Example setup with monitoring

Some mechanism to inject Prometheus/Grafana into the k8s cluster

Implementation

  • Using the image from ✅ Docker image for running an agent #277, and a new image for the controlplane, create an example kubernetes yaml for deploying snops
  • Upgrade snops-cli to generate kubernetes yaml definitions
  • Allow the controlplane to deploy/update an environment on startup (from env or a file)
  • Allow the controlplane to wait for agents to come online before preparing, or have some way of delegating agents on the fly

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureAn item containing Multiple Tasks

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions