在IDC或其他云厂商集群中安装P2P加速套件

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

您可以在IDC或其他云厂商集群中使用P2P加速功能提升镜像拉取速度,减少应用部署时间。本文介绍如何在IDC或其他云厂商集群中安装P2P加速套件。

前提条件

  • 创建容器镜像服务ACR企业版实例,且创建的企业版实例需为标准版或高级版。具体操作,请参见创建企业版实例

  • 确认在容器镜像服务企业版实例中配置专有网络。具体操作,请参见配置专有网络的访问控制

  • IDC或其他云厂商集群已通过专线打通容器镜像服务ACR企业版实例的专有网络。

  • 在执行命令的环境中安装如下工具。

    • 安装Helm包管理工具。具体操作,请参见Helm

    • 安装Kubectl客户端,且能够使用Kubectl访问集群。具体操作,请参见Kubectl

步骤一:获取容器镜像服务ACR企业版实例ID升级P2P模块

  1. 登录容器镜像服务控制台
  2. 在顶部菜单栏,选择所需地域。
  3. 在左侧导航栏,选择实例列表
  4. 实例列表页面单击目标企业版实例。
  5. 概览页面,单击顶部菜单栏的CloudShell.jpg图标,在下方CloudShell模块执行如下命令升级P2P模块。

    警告

    版本升级后将不再支持旧版客户端使用,升级前需要停止使用P2P功能,并从所有安装使用P2P组件的集群中卸载P2P组件。

    aliyun cr UpdateInstanceModule --region <region ID> --InstanceId <实例ID> --ModuleName ACCELERATION_P2P --Enable false --force
    aliyun cr UpdateInstanceModule --region <region ID> --InstanceId <实例ID> --ModuleName ACCELERATION_P2P --Enable true --force

步骤二:安装P2P组件(包含授予P2P组件相应的权限)

  1. 创建RAM用户。具体操作,请参见创建RAM用户

  2. 为RAM用户添加如下权限,并查看访问密钥。具体操作,请参见查看RAM用户的AccessKey信息

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "cr:GetInstanceVpcEndpoint",
                    "cr:ListInstanceEndpoint"
                ],
                "Resource": "*"
            }
        ]
    }
  3. 执行如下命令,通过Helm方式安装P2P组件。

    export ACR_INSTANCE_REGION="<region of acr instance >"
    export ACR_INSTANCE_ID="<id of acr instance >"
    export ALIYUN_AK="<aliyun access key>" # 步骤2查看的AccessKeyID
    export ALIYUN_SK="<aliyun access key secret >" # 步骤2查看的AccessKeySecret
    export P2P_CHART="https://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/app/charts-incubator/ack-acr-acceleration-p2p-0.3.5.tgz"
    
    helm install ack-acr-acceleration-p2p $P2P_CHART -n aliyun-acr-acceleration --create-namespace \
      --set region=$ACR_INSTANCE_REGION \
      --set accessKey=$ALIYUN_AK \
      --set accessKeySecret=$ALIYUN_SK \
      --set p2p.registryInstances=$ACR_INSTANCE_ID \
      --set pullImageInternet=true \
      --set p2p.plusMode.enable=true