基于CLI的访问
预计阅读时间: 5分钟有了Universal Control Plane,您可以继续使用您熟悉和喜爱的工具,例如Docker CLI客户端和kubectl。您只需要下载并使用UCP客户端软件包。
客户端捆绑包包含一个私钥和公钥对,用于授权您在UCP中的请求。它还包含实用程序脚本,可用于配置Docker和kubectl客户端工具以与UCP部署进行通信。
获取Docker CLI客户端
使用UCP Web UI下载Docker CLI客户端。 Web UI确保针对当前版本的UCP使用正确版本的CLI工具。
-
在仪表板中,单击页面底部的Docker CLI卡中的“ 了解更多信息”。
-
在使用CLI创建和管理服务页面上,点击下载Linux客户端二进制文件或下载MacOS客户端二进制文件 。
-
解压
docker
档案。
下载客户端证书
要将Docker CLI与UCP一起使用,请使用UCP Web UI下载客户端证书捆绑包。
- 导航到“ 我的个人资料”页面。
-
在左窗格中,单击“ 客户端捆绑包”,然后选择“ 新客户端捆绑包”以下载证书捆绑包。
使用客户证书
将客户端证书捆绑包下载到本地计算机后,就可以使用它来认证您的请求。
导航到下载用户捆绑包的目录,然后将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文档 。