云服务器内容精选

  • 操作场景 客户端上传镜像,是指在安装了容器引擎客户端的机器上使用docker命令或者ctr命令将镜像上传到 容器镜像服务 的镜像仓库。如果是docker容器引擎客户端则使用docker push命令上传。如果是containerd容器引擎客户端则使用ctr push命令上传。 如果容器引擎客户端机器为云上的E CS 或CCE节点,根据机器所在区域有两种网络链路可以选择: 若机器与容器镜像仓库在同一区域,则上传镜像走内网链路。 若机器与容器镜像仓库不在同一区域,则上传镜像走公网链路,机器需要绑定弹性公网IP。
  • docker容器引擎客户端 制作容器镜像或导入镜像文件。 连接容器 镜像服务 。 登录容器镜像服务控制台。 选择左侧导航栏的“总览”,单击页面右上角的“登录指令”,在弹出的页面中单击复制登录指令。 图1 登录指令 此处生成的登录指令有效期为6小时,若需要长期有效的登录指令,请参见获取长期有效登录指令。获取了长期有效的登录指令后,在有效期内的临时登录指令仍然可以使用。 登录指令末尾的 域名 为镜像仓库地址,请记录该地址,后面会使用到。 在安装容器引擎的机器中执行上一步复制的登录指令。 登录成功会显示“Login Succeeded”。 在安装容器引擎的机器上执行如下命令,为nginx镜像打标签。 docker tag [镜像名称1:版本名称1] [镜像仓库地址]/[组织名称]/[镜像名称2:版本名称2] 其中, [镜像名称1:版本名称1]:请替换为您所要上传的实际镜像的名称和版本名称。 [镜像仓库地址]:可在SWR控制台上查询,即2.b中登录指令末尾的域名。 [组织名称]:请替换为您创建的组织。 [镜像名称2:版本名称2]:请替换为您期待的镜像名称和镜像版本。 示例: docker tag nginx:v1 swr.cn-east-3.myhuaweicloud.com/cloud-develop/nginx:v1 上传镜像至镜像仓库。 docker push [镜像仓库地址]/[组织名称]/[镜像名称2:版本名称2] 示例: docker push swr.cn-east-3.myhuaweicloud.com/cloud-develop/nginx:v1 终端显示如下信息,表明上传镜像成功。 The push refers to repository [swr.cn-east-3.myhuaweicloud.com/cloud-develop/nginx:v1] fbce26647e70: Pushed fb04ab8effa8: Pushed 8f736d52032f: Pushed 009f1d338b57: Pushed 678bbd796838: Pushed d1279c519351: Pushed f68ef921efae: Pushed v1: digest: sha256:0cdfc7910db531bfa7726de4c19ec556bc9190aad9bd3de93787e8bce3385f8d size: 1780 返回容器镜像服务控制台,在“我的镜像”页面,执行刷新操作后可查看到对应的镜像信息。
  • 安装容器引擎 您可以根据自己的操作系统选择对应的安装步骤: Linux操作系统下安装 EulerOS操作系统下安装 Linux操作系统下安装 在Linux操作系统下,可以使用如下命令快速安装Docker的最新稳定版本。如果您想安装其他特定版本的Docker,可参考安装Docker。 curl -fsSL get.docker.com -o get-docker.sh sh get-docker.sh sudo systemctl daemon-reload sudo systemctl restart docker EulerOS操作系统下安装 在EulerOS操作系统下,安装容器引擎的方法如下: 登录弹性云服务器。 配置yum源。 如果您的机器上还没有配置yum源,可以参照如下方法配置:如何使用自动化工具配置华为云镜像源(x86_64和ARM)?如果已配置,可跳过该步骤。 安装并运行容器引擎。 获取yum源里的docker-engine包。 yum search docker-engine 使用yum install -y命令安装上一步获取的docker-engine包,x86架构示例: yum install docker-engine.x86_64 -y 设置开机启动Docker服务。 systemctl enable docker 启动Docker。 systemctl start docker 检查安装结果。 docker --version 回显如下类似信息,表示容器引擎安装成功。 Docker version 18.09.0, build 384e3e9
  • 操作场景 通过docker pull命令下载Docker Hub的公开镜像时,往往会因为网络原因而需要很长时间,甚至可能因超时而下载失败。为此,容器镜像服务提供了镜像下载加速功能,帮助您获得更快的下载体验。 SWR镜像加速器是面向个人开发者的服务,仅限于支持个人开发场景,不允许有再次封装或商业用途。 面向生产环境使用场景,为避免Docker访问网络问题导致的镜像拉取失败,建议您在生产环境中慎重考虑对Docker Hub容器镜像的依赖,将需要的镜像从Docke Hub同步到SWR私有仓库使用。 根据Docker公司政策,2020年11月01日起将逐步向Docker Hub匿名和免费用户实施速率和拉取请求次数限制。SWR镜像加速器无法保证一定拉取到所有的镜像版本,建议您将需要的镜像从Docke Hub同步到SWR私有仓库使用。关于Docker Hub收费标准、访问限制的详细介绍,请参见Docker官方网站。
  • 操作场景 如果您需要对容器镜像服务进行权限管理,您可以使用 统一身份认证 服务 IAM ,设置权限的方法请参见创建用户并授权使用SWR。当您具有SWR Admin或者Tenant Administrator系统权限时,您就拥有了SWR的管理员权限,可以在SWR中为其他IAM用户进行授权。 拥有SWR管理员权限的用户,默认拥有所有组织下的镜像管理权限,即使该用户不在组织的授权用户列表中。 如果您没有SWR的管理员权限,就需要已拥有SWR管理员权限的用户在SWR中进行授权管理,为您添加对某个镜像的权限或对某个组织中所有镜像的权限。 场景示例: 示例一:我是拥有ServiceStage Developer权限(SWR只读权限)的IAM用户,想要下载SWR管理员所创建的“group”组织下的“nginx”镜像。 策略:SWR管理员在“nginx”镜像详情中为您授予“读取”权限,授权完成后,您将享有下载该镜像的权限。 示例二:我是SWR管理员,需要给公司外部员工授权一个组织的镜像上传权限,但是不允许他登录控制台,只能通过Docker客户端push镜像。 策略:您在组织详情“用户”页签下为该员工授予“编辑”权限,并且在IAM中设置访问方式为“编程访问”。 图1 修改访问方式示例
  • 授权方法 容器镜像服务中给IAM用户添加权限有如下两种方法: 在镜像详情中添加授权,授权完成后,IAM用户享有读取/编辑/管理该镜像的权限。 在组织中添加授权,使IAM用户对组织内所有镜像享有读取/编辑/管理的权限。 图2 用户权限 容器镜像服务中为用户添加的权限有如下三种类型: 读取:只能下载镜像,不能上传。 编辑:下载镜像、上传镜像、编辑镜像属性以及添加触发器。 管理:下载镜像、上传镜像、删除镜像或版本、编辑镜像属性、添加授权、添加触发器以及共享镜像。 页面上传镜像功能要求具备组织的编辑或管理权限,在镜像详情中添加的编辑或管理权限不支持页面上传镜像。
  • 单个镜像同步 登录容器镜像服务控制台。 在左侧导航栏选择“我的镜像”,单击右侧镜像名称。 在镜像详情页面单击右上角“镜像自动同步”。 单击图标,选择目标区域和目标组织,然后单击“确定”完成添加。 图1 添加镜像自动同步 目标区域:选择同步的目标区域,例如“华北-北京一”。 目标组织:选择同步的目标组织。 覆盖: 勾选则表示覆盖,同步相同名称相同版本的镜像时,同步后会替换已有的镜像版本。 不勾选则表示不覆盖,同步相同名称相同版本的镜像时,会取消同步并提示已存在相同版本镜像。 在镜像详情页面的“镜像同步记录”页签下,可查看镜像同步启动时间、镜像版本、状态、同步类型、同步耗时等。
  • 安装插件 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“插件中心”,进入插件中心首页。 选择“CCE 突发弹性引擎 (对接 CCI)”插件,单击“安装”。 配置插件参数。 表1 插件参数说明 插件参数 说明 选择版本 插件的版本。插件版本和CCE集群存在配套关系,更多信息可以参考CCE突发弹性引擎(对接CCI)插件版本记录。 规格配置 用于配置插件负载的实例数及资源配额。 选择“系统预置规格”时,您可选择“单实例”或“高可用”规格。 选择“自定义规格”时,您可根据需求修改插件各个组件的副本数以及CPU/内存配置。 说明: CCE 突发弹性引擎 (对接 CCI) 插件在1.5.2及以上版本,将占用更多节点资源,请在升级CCE突发弹性引擎(对接 CCI)插件前预留空间配额。 单实例:需要预留一个节点,节点下至少需要有7个Pod空间配额。若开启网络互通,则需要有8个Pod空间配额。 高可用:需要预留两个节点,节点下至少需要有7个Pod空间配额,共计14个Pod空间配额。若开启网络互通,则需要有8个Pod空间配额,共计16个Pod空间配额。 弹性到CCI的业务量不同时,插件的资源占用也不相同。业务申请的POD、Secret、Congfigmap、PV、PVC会占用虚机资源。建议用户评估自己的业务使用量,按以下规格申请对应的虚机大小:1000pod+1000CM(300KB)推荐2U4G规格节点,2000pod+2000CM推荐4U8G规格节点,4000pod+4000CM推荐8U16G规格节点。 网络互通 开启后,支持CCE集群中的Pod与CCI集群中的Pod通过Kubernetes Service互通,并在插件安装时部署组件proxy。详细功能介绍请参考网络。
  • 插件卸载 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“插件中心”,进入插件中心首页。 选择“CCE 突发弹性引擎 (对接 CCI)”插件,单击“卸载”。 表2 特殊场景说明 特殊场景描述 场景现象 场景说明 CCE集群无节点,卸载插件。 插件卸载失败。 bursting插件卸载时会在集群中启动Job用于清理资源,卸载插件时请保证集群中至少有一个可以调度的节点。 用户直接删除集群,未卸载插件。 用户在CCI侧的命名空间中有资源残留,如果命名空间有计费资源,会造成额外计费。 由于直接删除集群,没有执行插件的资源清理Job,造成资源残留。用户可以手动清除残留命名空间及其下的计费资源来避免额外计费。 关于CCE突发弹性引擎(对接CCI)更多内容详情请参见:CCE突发弹性引擎(对接CCI)。
  • 工作负载下发 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“工作负载”,进入工作负载首页。 单击“创建工作负载”,具体操作步骤详情请参见创建工作负载。 填写基本信息。“CCI弹性承载”选择“强制调度策略”。关于调度策略更多信息,请参考调度负载到CCI。 CCE集群创建工作负载时,需要弹性到CCI,健康检查不支持配置TCP启动探针。 进行容器配置。 配置完成后,单击“创建工作负载”。 在工作负载页面,选择工作负载名称,单击进入工作负载管理界面。 工作负载所在节点为CCI集群,说明负载成功已调度到CCI。
  • 安装插件 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“插件中心”,进入插件中心首页。 选择“CCE 突发弹性引擎 (对接 CCI)”插件,单击“安装”。 配置插件参数。 表1 插件参数说明 插件参数 说明 选择版本 插件的版本。插件版本和CCE集群存在配套关系,更多信息可以参考CCE突发弹性引擎(对接CCI)插件版本记录。 规格配置 用于配置插件负载的实例数及资源配额。 选择“系统预置规格”时,您可选择“单实例”或“高可用”规格。 选择“自定义规格”时,您可根据需求修改插件各个组件的副本数以及CPU/内存配置。 说明: CCE 突发弹性引擎 (对接 CCI) 插件在1.5.2及以上版本,将占用更多节点资源,请在升级CCE突发弹性引擎(对接 CCI)插件前预留空间配额。 单实例:需要预留一个节点,节点下至少需要有7个Pod空间配额。若开启网络互通,则需要有8个Pod空间配额。 高可用:需要预留两个节点,节点下至少需要有7个Pod空间配额,共计14个Pod空间配额。若开启网络互通,则需要有8个Pod空间配额,共计16个Pod空间配额。 弹性到CCI的业务量不同时,插件的资源占用也不相同。业务申请的POD、Secret、Congfigmap、PV、PVC会占用虚机资源。建议用户评估自己的业务使用量,按以下规格申请对应的虚机大小:1000pod+1000CM(300KB)推荐2U4G规格节点,2000pod+2000CM推荐4U8G规格节点,4000pod+4000CM推荐8U16G规格节点。 网络互通 开启后,支持CCE集群中的Pod与CCI集群中的Pod通过Kubernetes Service互通,并在插件安装时部署组件proxy。详细功能介绍请参考网络。
  • 工作负载下发 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“工作负载”,进入工作负载首页。 单击“创建工作负载”,具体操作步骤详情请参见创建工作负载。 填写基本信息。“CCI弹性承载”选择“强制调度策略”。关于调度策略更多信息,请参考调度负载到CCI。 CCE集群创建工作负载时,需要弹性到CCI,健康检查不支持配置TCP启动探针。 进行容器配置。 配置完成后,单击“创建工作负载”。 在工作负载页面,选择工作负载名称,单击进入工作负载管理界面。 工作负载所在节点为CCI集群,说明负载成功已调度到CCI。
  • 插件卸载 登录CCE控制台。 选择CCE集群,单击进入CCE集群总览页面。 在导航栏左侧单击“插件中心”,进入插件中心首页。 选择“CCE 突发弹性引擎 (对接 CCI)”插件,单击“卸载”。 表2 特殊场景说明 特殊场景描述 场景现象 场景说明 CCE集群无节点,卸载插件。 插件卸载失败。 bursting插件卸载时会在集群中启动Job用于清理资源,卸载插件时请保证集群中至少有一个可以调度的节点。 用户直接删除集群,未卸载插件。 用户在CCI侧的命名空间中有资源残留,如果命名空间有计费资源,会造成额外计费。 由于直接删除集群,没有执行插件的资源清理Job,造成资源残留。用户可以手动清除残留命名空间及其下的计费资源来避免额外计费。 关于CCE突发弹性引擎(对接CCI)更多内容详情请参见:CCE突发弹性引擎(对接CCI)。
  • 简介 CCE突发弹性引擎(对接 CCI)作为一种虚拟的kubelet用来连接Kubernetes集群和其他平台的API。Bursting的主要场景是将Kubernetes API扩展到无服务器的容器平台(如CCI)。 基于该插件,支持用户在短时高负载场景下,将部署在云容器引擎CCE上的无状态负载(Deployment)、有状态负载(StatefulSet)、普通任务(Job)、定时任务(CronJob)四种资源类型的容器实例(Pod),弹性创建到云容器实例CCI服务上,以减少集群扩容带来的消耗。
  • 支持的存储类型 用户在配置负载存储类型时,CCE的console有如下选项。 弹性CCI的负载对存储类型的支持情况如下: volume类型 是否支持 特殊场景说明 HostPath 否 CCI是共享集群,不直接开放HostPath能力。 1.5.9及以上版本可支持配置path为/etc/localtime的HostPath存储,配置后CCI侧容器中挂载的时区将会与CCE节点的时区一致。 ConfigMap 是 - Secret 是 - EmptyDir 是 挂载EmptyDir不支持子路径。 EmptyDir的sizeLimit需为1Gi的整数倍,且不能大于Pod CPU核数的10倍。 DownwardAPI 是 - Projected 是 如配置了serviceAccountToken类型的source,弹性到CCI后会挂载对应service-account-token secret中的token,该token为长期有效,且token没有预期受众,即expirationSeconds和audience两项配置不会生效。 PersistentVolumeClaims 是 只支持SFS、SFS Turbo 云存储 类型,且只支持使用CSI类型的StorageClass。