Velvet Star Monitor

Standout celebrity highlights with iconic style.

updates

Need to do ssh to Kubernetes pod

Writer Andrew Mclaughlin

Is it possible to take ssh to pod. eg: ssh pod_ip

I know we can do this with kubectl command. But I need to do ssh from my local linux machine where I doesn't have kubectl

Thanks

1

4 Answers

Firstly, you have to ensure that the openssh-server has been installed and running in the pod. If not, you can use kubectl exec -it <pod-name> -n <namespace> -- bash to access the pod. If your pod are running Ubuntu, do apt-get install -y openssh-server.

Secondly, pods are running in a virtual IP subnet assigned by network service. They are accessible to any Master nodes and Worker nodes in the cluster. You can do ssh from any of the Host OS.

If you would like to login inside a particular container in the POD

kubectl exec -it <Pod_Name> -c <Container_Name> -- /bin/bash

If you would like to login to default container (or if there is only one container in POD) then just use

kubectl exec -it <Pod_Name> -- /bin/bash


PS:- If /bin/bash is not working try /bin/sh

4

for anyone looking for a one liner, this should do it.

Given:

  • namespace: cars
  • app: hud

Running, gets you bash in the first pod:

kubectl exec -i -t $(kubectl get pod --namespace cars --selector='app=hud' --output jsonpath='{.items[0].metadata.name}') -n cars -- /bin/bash

Where this extracts the 1st pod when listing pods:

$(kubectl get pod --namespace cars --selector='app=hud' --output jsonpath='{.items[0].metadata.name}')

I use:

kubectl exec -it bash -n namespace-example

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy