基于CLI的访问

预计阅读时间: 5分钟

有了Universal Control Plane,您可以继续使用您熟悉和喜爱的工具,例如Docker CLI客户端和kubectl。您只需要下载并使用UCP客户端软件包。

客户端捆绑包包含一个私钥和公钥对,用于授权您在UCP中的请求。它还包含实用程序脚本,可用于配置Docker和kubectl客户端工具以与UCP部署进行通信。

获取Docker CLI客户端

使用UCP Web UI下载Docker CLI客户端。 Web UI确保针对当前版本的UCP使用正确版本的CLI工具。

  1. 在仪表板中,单击页面底部的Docker CLI卡中的“ 了解更多信息”。

  2. 使用CLI创建和管理服务页面上,点击下载Linux客户端二进制文件下载MacOS客户端二进制文件

  3. 解压docker档案。

下载客户端证书

要将Docker CLI与UCP一起使用,请使用UCP Web UI下载客户端证书捆绑包。

  1. 导航到“ 我的个人资料”页面。
  2. 在左窗格中,单击“ 客户端捆绑包”,然后选择“ 新客户端捆绑包”以下载证书捆绑包。

使用客户证书

将客户端证书捆绑包下载到本地计算机后,就可以使用它来认证您的请求。

导航到下载用户捆绑包的目录,然后将zip文件解压缩到目录中。然后使用适合您系统的实用程序脚本:

cd client-bundle && eval "$(<env.sh)"

REM Run this from an elevated prompt session
cd client-bundle && env.cmd

# Run this from an elevated PowerShell session
cd client-bundle; Import-Module .\env.ps1

客户端软件包实用程序脚本更新环境变量DOCKER_HOST以使您的客户端工具与UCP部署进行通信,并DOCKER_CERT_PATH环境变量以使用所下载的客户端软件包中包含的客户端证书。该实用程序脚本还运行kubectl config命令来配置kubectl。

要确认您的客户端工具现在正在与UCP通信,请运行:


docker version --format '{{.Server.Version}}'



kubectl config current-context

预期的Docker服务器版本以ucp/开头,预期的kubectl上下文名称以ucp_

现在,您可以使用Docker和kubectl客户端在UCP中创建资源。

在Docker上下文中使用客户端证书

在Docker Enterprise 3.0中,新文件包含在UCP捆绑包中。这些更改支持将.zip文件与docker context import配合使用,并允许您使用捆绑包.zip文件直接更改上下文。导航到您下载用户捆绑包的目录,然后使用docker context import添加新上下文:

cd client-bundle && docker context import myucp ucp-bundle-$USER.zip"

:请参阅与上下文工作的详细信息,使用泊坞上下文。

管理员的客户端证书

UCP根据用户颁发不同类型的证书:

  • 用户证书捆绑包:仅允许通过UCP管理器节点运行docker命令。
  • 管理员用户证书捆绑包:允许在任何节点的Docker引擎上运行docker命令。

使用REST API下载客户端证书

您还可以使用UCP REST API下载客户端捆绑软件。在此示例中,我们使用curl来向API发出Web请求,使用jq来解析响应,并unzip以解压缩zip存档。

要将这些工具安装在Ubuntu发行版上,可以运行:

sudo apt-get update && sudo apt-get install curl jq unzip

然后,您从UCP获得身份验证令牌,并使用它来下载客户端证书。

# Create an environment variable with the user security token
AUTHTOKEN=$(curl -sk -d '{"username":"<username>","password":"<password>"}' https://<ucp-ip>/auth/login | jq -r .auth_token)

# Download the client certificate bundle
curl -k -H "Authorization: Bearer $AUTHTOKEN" https://<ucp-ip>/api/clientbundle -o bundle.zip

# Unzip the bundle.
unzip bundle.zip

# Run the utility script.
eval "$(<env.sh)"

在Windows Server 2016上,打开提升的PowerShell提示并运行:

$AUTHTOKEN=((Invoke-WebRequest -Body '{"username":"<username>", "password":"<password>"}' -Uri https://`<ucp-ip`>/auth/login -Method POST).Content)|ConvertFrom-Json|select auth_token -ExpandProperty auth_token

[io.file]::WriteAllBytes("ucp-bundle.zip", ((Invoke-WebRequest -Uri https://`<ucp-ip`>/api/clientbundle -Headers @{"Authorization"="Bearer $AUTHTOKEN"}).Content))

Docker构建和UCP

使用UCP客户端捆绑包和buildkit时,请遵循将服务限制到工作节点中提供的说明,以确保不会在管理者节点上意外安排构建。

有关'docker build'和buildkit的更多信息,请参阅build命令文档buildkit文档

接下来去哪里

ucpcli管理