• Shipyard远程API


    1、鉴权模块

    1.1 Login,获取token

    POST  http://192.168.31.149:8080/auth/login

    Headers

    Content-Type: application/json

    Body:

    {

      "username": "admin",

      "password": "shipyard"

    }

    response

    {

        "auth_token": "$2a$10$kwlWJbgjkEWnN.JhHJINZOp6grcuio1.USA.io28tTLkKzuCnLl.m",

        "user_agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0"

    }

    2、容器管理

    2.1 获取容器列表

    GET  http://192.168.31.149:8080/api/containers

    Headers

    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0

    X-Access-Token: admin:$ $2a$10$kwlWJbgjkEWnN.JhHJINZOp6grcuio1.USA.io28tTLkKzuCnLl.m

    response

    [

    {

            "id": "5c12b9ad2961cba3a57947ef5a927dd01545bfe8a73785f7c3b13cb7d0704e38",

            "name": "/shipyard",

            "image": {

                "name": "shipyard/shipyard:latest",

                "entrypoint": [

                    "/controller"

                ],

                "hostname": "5c12b9ad2961",

                "bind_ports": [

                    {

                        "proto": "tcp",

                        "host_ip": "0.0.0.0",

                        "port": 8080,

                        "container_port": 8080

                    }

                ],

                "restart_policy": {},

                "network_mode": "bridge"

            },

            "engine": {

                "id": "compute2",

                "addr": "http://192.168.31.149:4243",

                "cpus": 4,

                "memory": 4096,

                "labels": [

                    "dd"

                ]

            },

            "state": "running",

            "ports": [

                {

                    "proto": "tcp",

                    "host_ip": "0.0.0.0",

                    "port": 8080,

                    "container_port": 8080

                }

            ]

        },

       {

            "id": "4a5f16641c2a5ecca0b05b399bfdaf3c62abf3681289189ee5336feeeb96b4a9",

            "name": "/gloomy_darwin",

            "image": {

                "name": "mysql_test:latest",

                "environment": {

                    "CLOUD_URL": "http://192.168.31.147:8080/starott_cloud_client/cloud/commomconfig/"

                },

                "hostname": "mysqls",

                "restart_policy": {},

                "network_mode": "bridge"

            },

            "engine": {

                "id": "compute2",

                "addr": "http://192.168.31.149:4243",

                "cpus": 4,

                "memory": 4096,

                "labels": [

                    "dd"

                ]

            },

            "state": "stopped"

        },

       

     

    2.2 创建容器

    POST  /api/containers

    Headers

    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0

    X-Access-Token: admin:$2a$10$P8jnLva2KnYP0xWOLCmYruD0B11z0JIpH3cOnDHplxFdbBIZv.iOW

    Request body

    {

      "name": "ehazlett/go-demo",

      "container_name": "demo",

      "cpus": 0.1,

      "memory": 32,

      "type": "service",

      "hostname": "",

      "domain": "",

      "labels": ["local"],

      "args": [],

      "environment": {

        "FOO": "bar"

      },

      "restart_policy": {

        "name": "always"

      },

      "bind_ports": [

        {

          "host_ip": "10.1.2.3",

          "proto": "tcp",

          "container_port": 8080

        },

        {

          "proto": "tcp",

          "port": 80,

          "container_port": 8080

        }

      ],

      "links": {

        "redis": "db"

      }

    }

    Reponse

           [
      {
        "state": {
          "started_at": "2014-09-12T00:48:23.824260519Z",
          "pid": 5890,
          "running": true
        }, 
        "ports": [
          {
            "container_port": 8080,
            "host_ip": "10.1.2.3",
            "port": 49172,
            "proto": "tcp"
          }
        ],
        "engine": {
          "labels": [
            "local",
            "dev"
          ],
          "memory": 4096,
          "cpus": 4,
          "addr": "http://172.16.1.50:2375",
          "id": "local"
        },
        "image": {
          "restart_policy": {
            "name": "always"  
          },
          "labels": [
            "local"
          ],
          "bind_ports": [
            {
              "proto": "tcp",
              "port": 49153,
              "container_port": 8080
            },
            {
              "proto": "tcp",
              "port": 80,
              "container_port": 8080
            }
          ],
          "links": {
            "redis": "db"
          },
          "type": "service",
          "memory": 32,
          "cpus": 0.1,
          "name": "ehazlett/go-demo"
        },
        "id": "4a5da04b8428e7241a9d9993699513d11b89948399dedfa12"
      }
    ]

     

    2.3 重启容器

    GET /api/containers/<id>/restart
    Restart a container
    Request
    GET /api/containers/3e532/restart HTTP/1.1
    Response
    HTTP/1.1 204 No Content

    2.4 停止容器

    GET /api/containers/<id>/stop
    Stop a container
    Request
    GET /api/containers/3e532/stop HTTP/1.1
    Response
    HTTP/1.1 204 No Content

    2.5 销毁容器

    DELETE /api/containers/<id>
    Destroy a container
    Request
    DELETE /api/containers/3e532 HTTP/1.1
    Response
    HTTP/1.1 204 No Content

     

    3、计算节点管理

    3.1 获取计算节点列表

    GET  http://192.168.31.149:8080/api/engines

    Headers

    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0

    X-Access-Token: admin:$2a$10$P8jnLva2KnYP0xWOLCmYruD0B11z0JIpH3cOnDHplxFdbBIZv.iOW

    response

    [

        {

            "id": "c589bf34-513e-4a15-8164-146511c5e177",

            "engine": {

                "id": "compute2",

                "addr": "http://192.168.31.149:4243",

                "cpus": 4,

                "memory": 4096,

                "labels": [

                    "dd"

                ]

            },

            "health": {

                "status": "up",

                "response_time": 1375306

            },

            "docker_version": "1.5.0-dev"

        }

    ]

    3.2 添加计算节点

    POST /api/engines

    Add an engine to the cluster

    Request

    POST /api/engines HTTP/1.1
    Content-Type application/json
     
    {
      "id": "local",
      "ssl_cert": "",
      "ssl_key": "",
      "ca_cert": "",
      "engine": {
        "id": "local",
        "addr": "http://10.1.2.3:2375",
        "cpus": 4.0,
        "memory": 8192,
        "labels": [
          "local",
          "dev"
        ]
      }
    }
    Response
    HTTP/1.1 201 Created

    3.3 删除计算节点

    DELETE /api/engines/<id>

    Remove an engine from the cluster

    Request

    DELETE /api/engines/99095f5f-7579-4a70-9369-04ad73c21312 HTTP/1.1

    Response

    HTTP/1.1 204 No Content

  • 相关阅读:
    .net core 负载均衡取客户端真实IP
    淘宝api接口,淘宝开放平台api接口
    c# RSA加密解密,与java代码互通问题
    剑指Offer算法题
    Mybatis
    JVM调优
    tp6使用cli(cmd)命令行模式调用访问控制器
    php实现可逆加密函数
    HRBP
    工作其实很像一场游戏
  • 原文地址:https://www.cnblogs.com/zhenyuyaodidiao/p/4809162.html
Copyright © 2020-2023  润新知