Kubernetes default client, kubectl, introduced on 1.8+ release the ability to create plugins which extend kubectl capabilities as described here https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/.
Would be nice to have kubectl orleans XXX where XXX is a command to do something with the cluster. That way, we would abstract some of the Kubernetes complicated management operations from Orleans users.
To create that, a new Orleans.Clustering.Kubernetes.Extensions self-contained .Net Core console app would be added which could be deployed in multiple ways (Chocolatey, Docker container, apt-get, you name it) and installed as a kubectl plugin.
The suggested initial available commands would be:
--scale-silo=X: Scale the silos to a particular X number of replicas.
--info=counter: Get some information based on an exposed Orleans counter, for example, Activation Count, etc.
--cluster-info: Get the current membership records
Invoke grains would be possible, but would require having the interface assemblies...
Would like to hear from others if that is useful, which other commands should be added etc...
Thanks
Kubernetes default client,
kubectl, introduced on 1.8+ release the ability to create plugins which extendkubectlcapabilities as described here https://kubernetes.io/docs/tasks/extend-kubectl/kubectl-plugins/.Would be nice to have
kubectl orleans XXXwhereXXXis a command to do something with the cluster. That way, we would abstract some of the Kubernetes complicated management operations from Orleans users.To create that, a new
Orleans.Clustering.Kubernetes.Extensionsself-contained .Net Core console app would be added which could be deployed in multiple ways (Chocolatey, Docker container, apt-get, you name it) and installed as akubectlplugin.The suggested initial available commands would be:
--scale-silo=X: Scale the silos to a particularXnumber of replicas.--info=counter: Get some information based on an exposed Orleans counter, for example, Activation Count, etc.--cluster-info: Get the current membership recordsInvoke grains would be possible, but would require having the interface assemblies...
Would like to hear from others if that is useful, which other commands should be added etc...
Thanks