kmesh-net / kmesh

High Performance ServiceMesh Data Plane Based on eBPF and Programmable Kernel
https://kmesh.net
Apache License 2.0
470 stars 71 forks source link

Make it easy to install a specific version of Kmesh #552

Open YaoZengzeng opened 4 months ago

YaoZengzeng commented 4 months ago

What would you like to be added:

In the future, we may need a command line tool to install specific version of Kmesh with one click.

But since the project is still in its early stage, we may need some simpler methods quickly to implement this.

Why is this needed:

Until now, three versions of Kmesh has been released.

But I find there is no easy way to install specific version of Kmesh except directly modifying the image tag in the yaml.

thebigbone commented 4 months ago

I can work on making a cli which will parse the specified version yaml files (from https://github.com/kmesh-net/kmesh/tree/main/deploy/yaml. replacing main with the specified version) and deploy it. Something like this:

kmesh init -v 1.0
YaoZengzeng commented 4 months ago

Great!

I wonder a standalone binary may be better? Similar to istioctl, which could add more peripheral functions besides installation in the future. WDYT? @hzxuzhonghu @nlgwcy

nlgwcy commented 4 months ago

agree with you, I think we need kmeshctl, which used to query the enabling status of the kmesh feature, traffic manage rules...

thebigbone commented 4 months ago

agree with you, I think we need kmeshctl, which used to query the enabling status of the kmesh feature, traffic manage rules...

Understood. Can you list out all the necessary CLI flags? I can start with the init command if you guys give it a green light.

LiZhenCheng9527 commented 4 months ago

maybe need kmeshctl dashbord prometheus to start prometheus dashboard. Refer https://github.com/istio/istio/blob/0a1dadde9dd9d7480574b0f43824e16120d86750/istioctl/pkg/dashboard/dashboard.go#L68-L95

hzxuzhonghu commented 4 months ago

Just sum up: some corse incents

  1. kmeshctl install to install kmesh
  2. kmeshctl config-dump to dump and bpf map
  3. kmeshctl xxx to setup waypoint for namespace/service/pods

Welcome to supplement more cases

LiZhenCheng9527 commented 4 months ago

kmeshctl update/upgrade

hzxuzhonghu commented 3 months ago

ping @thebigbone would you like to take it

thebigbone commented 2 months ago

ping @thebigbone would you like to take it

Yes. I can start working on it.

YaoZengzeng commented 2 months ago

ping @thebigbone , kmeshctl framework has been merged into master (https://github.com/kmesh-net/kmesh/tree/main/ctl) . You could implement your install subcomamnd based on it.

thebigbone commented 1 month ago

@YaoZengzeng should I include the installation of istioctl in the kmeshctl install command? The same procedure which is mentioned on istio documentation: https://istio.io/latest/docs/ambient/getting-started/

YaoZengzeng commented 1 month ago

I don't think it's necessary. Just install Kmesh related components is enough :)

thebigbone commented 1 month ago

I don't think it's necessary. Just install Kmesh related components is enough :)

Great. I will open a PR in a few hours.