Getting started
Prerequisites
KubeOrbit CLI needs a KUBECONFIG
env setup in your local, Otherwise it will use the default directory $HOME/.kube/config
:
export KUBECONFIG=/path/to/your/config
Install KubeOrbit CLI
Download CLI from our github release page, Choose different binary to match your operating system.
MacOS:
mv ./orbitctl /usr/local/bin/orbitctl
orbitctl -h
Orbitctl can forward traffic intended for a service in-cluster to your local workload.
Usage:
orbitctl [command]
Examples:
orbitctl forward --deployment depolyment-a --namespace ns-a --containerPort 8080 --localPort 8080
Available Commands:
forward
help Help about any command
uninstall
Flags:
-h, --help help for orbitctl
-v, --version version for orbitctl
Use "orbitctl [command] --help" for more information about a command.
Forward remote workload to local
Launch your local service, below as a example application with Eureka registry:
java -Deureka.client.register-with-eureka=false -jar user-service.jar
2022-02-18 15:43:38.546 INFO 22996 --- [ main] Tomcat started on port(s): 9000 (http) with context path ''
2022-02-18 15:43:38.555 INFO 22996 --- [ main] Started PortalServiceApplication in 15.137 seconds (JVM running for 16.205)
Then use orbitctl forward
command to forward remote user-service to local:
orbitctl forward --deployment user-service-deployment -n namespace-a --containerPort 9000 --localPort 9000
workload user-service-deployment recreated
ssh forwarded localPort 2662 to remotePort 2222
channel connected, you can start testing your service
Once you see the outputs above, your target workload in the remote kubernetes cluster has the KubeOrbit proxy agent installed, and all traffic that calls the remote target workload will be forwarded to your local workstation.
Stop workload forward
When you are done debugging&testing, the easiest way to exit CLI is type command + c
in MacOS or ctrl + c
in Windows, your channel will be uninstalled and the remote workload will rollback to its original state:
uninstall forward workload user-service-deployment
workload uninstallation successful