kr8s.portforward
#
Module Contents#
Classes#
Start a tcp server and forward all connections to a Pod port. |
- class kr8s.portforward.PortForward(resource: kr8s.objects.APIObject, remote_port: int, local_port: int = None)#
Bases:
kr8s._portforward.PortForward
Start a tcp server and forward all connections to a Pod port.
You can either pass a
kr8s.objects.Pod
or any resource with aready_pods
method such as akr8s.objects.Service
.Note
The
ready_pods
method should return a list of Pods that are ready to accept connections.- Args:
resource
(Pod or Resource): The Pod or Resource to forward to.remote_port
(int): The port on the Pod to forward to.local_port
(int, optional): The local port to listen on. Defaults to 0, which will choose a random port.- Example:
This class can be used as a an async context manager or with explicit start/stop methods.
Context manager:
>>> async with PortForward(pod, 8888) as port: ... print(f"Forwarding to port {port}") ... # Do something with port 8888 on the Pod
Explict start/stop:
>>> pf = PortForward(pod, 8888) >>> await pf.start() >>> print(f"Forwarding to port {pf.local_port}") >>> # Do something with port 8888 on the Pod >>> await pf.stop()
- start()#
Start a background thread with the port forward running.
- stop()#
Stop the background thread.