Use Pycharm with a Run:AI Job¶
Once you launch a workload using Run:AI, you will want to connect to it. You can do so via command-line or via other tools such as a Jupyter Notebook
This document is about accessing the remote container created by Run:AI, from JetBrain's PyCharm.
Submit a Workload¶
You will need your image to run an SSH server (e.g OpenSSH). For the purposes of this document, we have created an image named
gcr.io/run-ai-demo/pycharm-demo. The image runs both python and ssh. Details on how to create the image are here. The image is configured to use the
root user and password for SSH.
Run the following command to connect to the container as if it were running locally:
runai submit build-remote -i gcr.io/run-ai-demo/pycharm-demo --interactive \ --service-type=portforward --port 2222:22
The terminal will show the connection:
The job 'build-remote' has been submitted successfully You can run `runai get build-remote -p team-a` to check the job status INFO Waiting for job to start Waiting for job to start Waiting for job to start Waiting for job to start INFO Job started Open access point(s) to service from localhost:2222 Forwarding from [::1]:2222 -> 22
- The Job starts an sshd server on port 22.
- The connection is redirected to the local machine (127.0.0.1) on port 2222
It is possible to connect to the container using a remote IP address. However, this would be less convinient as you will need to maintain port numbers manually and change them when remote accessing using the development tool. As an example, run:
runai submit build-remote -i gcr.io/run-ai-demo/pycharm-demo -g 1 --interactive --service-type=nodeport --port 30022:22
- The job starts an sshd server on port 22.
- The job redirects the external port 30022 to port 22 and uses a Node Port service type.
Next to the job, under the "Service URL" column you will find the IP address and port. The port is 30222
- Under PyCharm | Preferences go to: Project | Python Interpreter
- Add a new SSH Interpreter.
- As Host, use the IP address above. Change the port to the above and use the Username
- You will be prompted for a password. Enter
- Apply settings and run the code via this interpreter. You will see your project uploaded to the container and running remotely.