Azure DC/OS は、SSHトンネルを作って、GUIとかAPIとかで操作するのが基本ぽい。
SSHで中に入るのは非推奨って書いてる。
SSH セッションは、クラスター管理システムとの間で作成することができます。 ただし、これは推奨されません。 管理システムで直接作業すると、構成を意図せず変更してしまうおそれがあります。
確かにそうだなー。でも、勉強中の今は、つなぎたいときもある。「どんな感じで動いてるのか知りたいなー?」ってときとか。なので、忘れないうちにメモしとく。
すなば
今回の記事用にsandboxっていう名前でDC/OSを立ち上げといた。
$ MASTER_FQDN=sandboxmgmt.japanwest.cloudapp.azure.com
DC/OS CLI from local
トンネルつないだ状態でローカルからDC/OS CLIを叩くと、叩ける。便利。
$ sudo ssh -L 80:localhost:80 -f -N azureuser@${MASTER_FQDN} -p 2200 $ dcos auth login Login successful! $ dcos marathon app list ID MEM CPUS TASKS HEALTH DEPLOYMENT CONTAINER CMD /first-app 128 1 0/1 --- scale DOCKER None
"dcos node ssh" from local
「ちょっと中がどんな感じなのか入って見てみたいなー」と思ったので、ここを読みながら、ふむふむ。
こうか
$ dcos node ssh --master-proxy --leader
つながらない。。。(´;ω;`)ブワッ
Connect to Master
直接つないでみるとつながる。
$ sudo ssh azureuser@${MASTER_FQDN} -p 2200 Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-28-generic x86_64) * Documentation: https://help.ubuntu.com/ Get cloud support with Ubuntu Advantage Cloud Guest: http://www.ubuntu.com/business/services/cloud 78 packages can be updated. 0 updates are security updates. *** System restart required *** Last login: Thu Dec 15 23:11:17 2016 from azureuser@dcos-master:~$
Connect to Agent
マスターノードにはつながったから、次はエージェントノードにつなぎたいな。マスターからエージェントに入ればいいのかな。じゃ、一回マスターから出て、こんな感じで繋げばいけるかな。
$ sudo ssh -A azureuser@${MASTER_FQDN} -p 2200 azureuser@dcos-master:~$ ssh azureuser@10.32.0.5 azureuser@dcos-agent-private:~$
あぁ、つながった。(∩´∀`)∩ワーイ
Install DC/OS CLI into Master Node
ところで Azure DC/OSの場合、ローカルからだと使える機能と使えない機能があるみたい?だから、マスターノードにDC/OS CLI入れてみよっかな。
azureuser@dcos-master:~$ curl -O https://downloads.dcos.io/binaries/cli/linux/x86-64/dcos-1.8/dcos azureuser@dcos-master:~$ chmod +x dcos azureuser@dcos-master:~$ ./dcos config set core.dcos_url http://localhost [core.dcos_url]: set to 'http://localhost' azureuser@dcos-master:~$ ./dcos auth login Login successful!
で、AgentにつなぐときはMesos IDをとってきて
こうかな
azureuser@dcos-master:~$ ./dcos node ssh --user=azureuser --mesos-id=18a6d7ad-d8a9-4832-a2ed-51ca8e0c3946-S0 azureuser@dcos-agent-public:~$
つながった。dockerコマンドでも叩いてみるか。
azureuser@dcos-agent-public:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3f85c267f8a4 nginx "nginx -g 'daemon off" 32 minutes ago Up 32 minutes mesos-18a6d7ad-d8a9-4832-a2ed-51ca8e0c3946-S0.169cb095-d115-4519-a51a-a01313e2fb2a
見れた。良かった。
てことで
ノードに入ることができて良かった。んで、CLIをマスターノードに入れとくのもついでにやってみたけど、悪くないかもなぁ。