QuickStart - 快速尝试mydan服务

1.启动服务

[root@mydan tools]# docker pull mydan/mydan;
[root@mydan tools]# docker run -it -p 5555:5555 -p 8080:8080 -e SMTP_ADDR=127.0.0.1 sh /entrypoint.sh

注:
-p 5555:5555 5555端口为dashboard端口
-p 8080:8080 8080端口为sso端口
-e SMTP_ADDR=127.0.0.1 环境变量SMTP_ADDR,要配置一个可用的smtp地址,否则sso注册时无法发送邮件(如果只为测试可以不写,下文会提及)
可以添加 -v /my/auth:/home/work/mydan/etc/agent/auth 保存固定的公私钥

2.安装agent

在所有agent机器上运行该命令来完成agent的安装:

[root@mydan tools]# curl -fsSL http://dockerip:5555/install/script/agent.sh | bash -x

注:
mydan的bootstrap服务由操作系统的crond来启动的,文件路径 /etc/cron.d/mydan.bootstrap.cron
bootstrap服务来守护mydan的所有服务
运行安装命令后,正常情况下1分钟内服务能正常启动, 用ps -ef|grep mydan 查看是否有相应进程

3.试一试

从第1步安装的mydan容器中拷贝/home/work/mydan/etc/agent/auth/mydan.key这个私钥文件放到任何一台已经安装了agent的机器上,该机器便有了所有agent机器的调用权限,可以试一下tools下面的功能,点击查看tools手册。其它功能得详细查看使用手册

注:
所有从dashboard中安装的agent,该dashboard中的/home/work/mydan/etc/agent/auth/mydan.pub会被带入到agent中,所以dashboard中的/home/work/mydan/etc/agent/auth/mydan.key将有其控制权限。
如果在使用过程中不用细分每个人的权限,可以不继续下面的步骤

4.绑定域名

如果docker运行的机器不是本地电脑,需要绑定hosts文件, sso.mydan.org 和dashboard.mydan.org指向docker机器

5.sso中注册账号

正常情况下,会往注册邮箱里发一个修改密码的链接。如果docker启动时SMTP是错误的收不到邮件,可以在docker的输出日志中看到该链接,通过该链接来完成注册即可。日志格式: CHPASSWD: lijinfeng2011@gmail.com => http://sso.mydan.org:8080/chpasswd?key=key...

6.安装client

[root@mydan tools]# curl -fsSL http://dockerip:5555/install/script/client.sh | bash -x

注:
client和agent的区别是client不会启动远程调用服务,在client端运行的命令才会去dashboard中请求权限

6.配置个人私钥

请在client机器上配置个人私钥:

i.生成公私钥:

[root@mydan tools]# ssh-keygen -t rsa -P "" -f ~/.ssh/mydan
ii.修改私钥名:
[root@mydan tools]# mv ~/.ssh/mydan ~/.ssh/mydan.key
iii.登陆dashboard保存公钥:
sso中的用户名和服务器上的用户名要一致,dashboard才可以正确加密,如果sso的用户名和服务器上的名不一致,请查看Q&A进行配置

7.分配权限

请在mydan容器中完成该操作:

[root@mydan tools]# /home/work/mydan/dashboard/tools/access --user lijinfeng2011 --add '*' -access 'node1.mydanagent.org'
[root@mydan tools]# /home/work/mydan/dashboard/tools/access --user lijinfeng2011 --add 'root' -access 'node2.mydanagent.org'

在dashboard中查看是否权限已经添加:

8.试一试

与第3步类似,只是不需要/home/work/mydan/etc/agent/auth/mydan.key文件,公私钥已经存在 ~/.ssh中,通过dashboard来转换。

注:
这个必须要在client端操作,agent端中操作是不会调用dashboard请求权限