0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

databricksruntime/gpu-pytorchを用いたDockerクラスターへのssh接続

Posted at

こちらのDockerイメージを用いることで、GPUのクラスターを構成できます。

しかし、sshで接続しようとすると、なぜかユーザーubuntuへのパスワードを聞かれることに。公開キーも秘密キーも指定しているんですけどね。

takaaki.yayoi@xxxxxx ~ % ssh ubuntu@4.241.85.216 -p 2200 -i /Users/takaaki.yayoi/.ssh/id_rsa
The authenticity of host '[4.241.85.216]:2200 ([4.241.85.216]:2200)' can't be established.
ED25519 key fingerprint is xxx
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[4.241.85.216]:2200' (ED25519) to the list of known hosts.
ubuntu@4.241.85.216's password: 

こちらの設定は完了していますので、standardのイメージだと問題なく接続できます。

色々確認してたら、そもそもssh接続に使っているユーザーubuntuが作成されているのか? と思い当たりました。

クラスター起動後にノートブックで以下を実行。

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
systemd-network:x:101:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:102:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:104::/nonexistent:/usr/sbin/nologin
systemd-timesync:x:104:105:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
libraries:x:1000:1000::/home/libraries:/bin/sh

ubuntuがいない...。

こちらにもユーザー追加しろとあります。standardの場合はDockerfileでユーザー追加処理が記載されていましたが、GPU系は(確認した限り)無い様子。

Adding the ssh user. In this example, we use ubuntu, but you can customize this

なので、まずはノートブックで動作確認します。ユーザーubuntuを追加します。

%sh
useradd --create-home --shell /bin/bash --groups sudo ubuntu
%sh
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
_apt:x:100:65534::/nonexistent:/usr/sbin/nologin
systemd-network:x:101:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:102:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:104::/nonexistent:/usr/sbin/nologin
systemd-timesync:x:104:105:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
libraries:x:1000:1000::/home/libraries:/bin/sh
ubuntu:x:1001:1001::/home/ubuntu:/bin/bash

ubuntuが作成されています。

手動で、sshサーバーをインストール・起動します。

%sh
apt-get install --yes openssh-server
service ssh restart

これでssh接続して見ます。

takaaki.yayoi@xxxxx ~ % ssh ubuntu@172.207.163.54 -p 2200 -i /Users/takaaki.yayoi/.ssh/id_rsa
The authenticity of host '[172.207.163.54]:2200 ([172.207.163.54]:2200)' can't be established.
ED25519 key fingerprint is xxxx
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[172.207.163.54]:2200' (ED25519) to the list of known hosts.
Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-1067-azure x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
:
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ubuntu@0910-083250-wgwjxjw7-10-0-0-132:~$

いけました。

以前作成したDockerfileにユーザー作成を追加します。ベースイメージもGPUのものに変更しています。

FROM databricksruntime/gpu-pytorch:cuda11.8
RUN apt-get update \
  && apt-get install --yes openssh-server \
  && apt-get clean \
  && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN useradd --create-home --shell /bin/bash --groups sudo ubuntu

ENTRYPOINT service ssh restart && bash

コンテナレジストリにプッシュします。

docker build -t <レジストリ名>/gpu-pytorch-ssh:cuda11.8 .
docker push <レジストリ名>/gpu-pytorch-ssh:cuda11.8

SSHの公開鍵を指定し、このイメージを使うようにします。
Screenshot 2024-09-17 at 15.23.30.png
Screenshot 2024-09-17 at 15.24.08.png

こちらも動作確認できました。
Screenshot 2024-09-17 at 15.34.15.png

はじめてのDatabricks

はじめてのDatabricks

Databricks無料トライアル

Databricks無料トライアル

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?