在第12章,我们在Amazon Web Services中创建并管理了一个Docker Swarm集群,安装了AWS命令行接口(CLI)(https://aws.amazon.com/cli/),帮助我们完成了一些任务。DigitalOcean有一个类似的接口叫doctl。应该安装它吗?我不认为需要一个用于DigitalOcean的CLI。它们的API很简洁而且定义得很好,我们可以使用简单的curl请求完成CLI所做的一切。DigitalOcean证明,一个设计良好的API可以使用很久,并且可以成为系统的唯一入口点,这样就省去了处理像CLI这样的中间人应用程序的麻烦。
在开始使用API之前,应该生成一个用作身份验证方法的访问令牌。
请打开DigitalOcean令牌页面(https://cloud.digitalocean.com/settings/ api/tokens),然后单击“Generate New Token”按钮。你将看到新的个人访问令牌弹出窗口,如图13-1所示。
图13-1 DigitalOcean新的个人访问令牌页面
键入devops21作为令牌名称,然后单击“Generate Token”按钮,你将看到新生成的令牌。我们将把它放入环境变量DIGITALOCEAN_ACCESS_TOKEN中。
本章中的所有命令都可在12-digital-ocean.sh(https://gist.github.com/ vfarcic/81248d2b6551f6a1c2bcfb76026bae5e)Gist中获得。
运行下面的命令之前,先复制令牌:
请使用实际的令牌替换[…]。
现在来决定集群运行的区域。
发送请求给https://api.digitalocean.com/v2/regions,可以看到当前可用的区域:
我们向区域API发送HTTP GET请求。请求包含了访问令牌。响应发送给了jq。
部分输出如下:(www.xing528.com)
在响应的最下面可以看到,DigitalOcean目前支持12个区域。每个区域都包含可用的droplet的大小和支持的特性的信息。
本章将使用旧金山2(sfo2)区域。随意变换成最靠近你所在位置的区域。如果选择想在不同的区域运行示例,那么请确保它支持private_networking特性。
下面将把区域放在环境变量DIGITALOCEAN_REGION中:
现在,我们具备了在DigitalOcean中创建第一个Swarm集群的所有先决条件。因为本书中的大部分时间都在使用Docekr Machine,所以这将是我们的第一选择。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。