云服务器内容精选
-
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 返回容器镜像服务控制台,在“我的镜像”页面,执行刷新操作后可查看到对应的镜像信息。
-
操作场景 客户端上传镜像,是指在安装了容器引擎客户端的机器上使用docker命令或者ctr命令将镜像上传到容器镜像服务的镜像仓库。如果是docker容器引擎客户端则使用docker push命令上传。如果是containerd容器引擎客户端则使用ctr push命令上传。 如果容器引擎客户端机器为云上的E CS 或CCE节点,根据机器所在区域有两种网络链路可以选择: 若机器与容器镜像仓库在同一区域,则上传镜像走内网链路。 若机器与容器镜像仓库不在同一区域,则上传镜像走公网链路,机器需要绑定弹性公网IP。
-
安装容器引擎 您可以根据自己的操作系统选择对应的安装步骤: 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突发弹性引擎(对接 CCI)作为一种虚拟的kubelet用来连接Kubernetes集群和其他平台的API。Bursting的主要场景是将Kubernetes API扩展到无服务器的容器平台(如CCI)。 基于该插件,支持用户在短时高负载场景下,将部署在云容器引擎CCE上的无状态负载(Deployment)、有状态负载(StatefulSet)、普通任务(Job)、定时任务(CronJob)四种资源类型的容器实例(Pod),弹性创建到云容器实例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)。
-
负载Hostpath配置方式 操作场景 在使用CCE或者其他K8s集群时,用户使用HostPath类型存储。但CCI是共享集群,不开放HostPath能力,因此使用HostPath的Pod通过bursting弹到CCI时,会被拦截。如无法改变Pod spec.volumes中配置的HostPath,可通过配置Annotation的形式,允许让使用HostPath的Pod弹性到CCI上,bursting在校验时需要去掉Pod中的HostPath或者将HostPath替换为localDir、emptyDir或者flexVolume。 约束与限制 LocalDir的sizeLimit只支持1Gi、2Gi。 EmptyDir的sizeLimit需为1Gi的整数倍,且不能大于Pod CPU核数的10倍。 操作步骤 通过在Pod.Annotations中加入注解可以做到hostPath转localdir、emptydir或者flexvolume。 单个hostPath替换为localdir配置方式: "coordinator.cci.io/hostpath-replacement": '[{"name":"source-hostpath-volume","policyType":"replaceByLocalDir","localDir":{"sizeLimit":"1Gi"}}] 单个hostPath替换为flexVolume配置方式: "coordinator.cci.io/hostpath-replacement": '[{"name":"source-hostpath-volume-1","policyType":"remove"},{"name":"source-hostpath-volume-2","policyType":"replaceByLocalDir","localDir":{"sizeLimit":"1Gi"}},{"name":"source-hostpath-volume-3","policyType":"replaceByEmptyDir","emptyDir":{"sizeLimit":"10Gi"}}]' EVS目前支持普通I/O、高I/O、超高I/O三种规格,volumeType根据实际情况填写。 表1 EVS规格 EVS规格 类型 应用场景 应用场景示例 普通I/O sata 后端存储由SATA存储介质提供,适用于大容量,读写速率要求不高,事务性处理较少的应用场景。 开发测试、企业办公应用。 高I/O sas 后端存储由SAS存储介质提供,适用于性能相对较高,读写速率要求高,有实时数据存储需求应用场景。 创建文件系统、分布式文件共享。 超高I/O ssd 后端存储SSD存储介质提供,适用于高性能、高读写速率要求、数据密集型应用场景。 NoSQL、关系型数据库、 数据仓库 (如Oracle RAC、SAP HANA)。 全部HostPath都忽略: "coordinator.cci.io/hostpath-replacement": '[{"name":"*","policyType":"remove"}]' 多个HostPath差异化替换策略: "coordinator.cci.io/hostpath-replacement": '[{"name":"source-hostpath-volume-1","policyType":"remove"},{"name":"source-hostpath-volume-2","policyType":"replaceByLocalDir","localDir":{"sizeLimit":"1Gi"}},{"name":"source-hostpath-volume-3","policyType":"replaceByEmptyDir","emptyDir":{"sizeLimit":"10Gi"}}]' 对于path为/etc/localtime的HostPath存储,会被单个HostPath替换的策略(策略name为具体的volume name)替换,不会被全部HostPath替换的策略(策略name为"*")替换。 参考deployment yaml示例: apiVersion: apps/v1 kind: Deployment metadata: annotations: description: '' labels: virtual-kubelet.io/burst-to-cci: enforce appgroup: '' version: v1 name: test namespace: default spec: replicas: 2 selector: matchLabels: app: test version: v1 template: metadata: labels: app: test version: v1 annotations: coordinator.cci.io/hostpath-replacement: '[{"name": "test-log2", "policyType": "remove"}, {"name": "test-log", "policyType": "replaceByEmptyDir", "emptyDir":{"sizeLimit":"10Gi"}}, {"name": "test-log1", "policyType": "replaceByLocalDir", "localDir":{"sizeLimit":"1Gi"}}]' spec: containers: - name: container-1 image: nginx imagePullPolicy: IfNotPresent env: - name: PAAS_APP_NAME value: test - name: PAAS_NAMESPACE value: default - name: PAAS_PROJECT_ID value: 0b52a6e40b00d3682f36c0005163a82c resources: requests: cpu: 250m memory: 512Mi limits: cpu: 250m memory: 512Mi volumeMounts: - name: test-log mountPath: /tmp/log - name: test-log1 mountPath: /tmp/log1 - name: test-log2 mountPath: /tmp/log2 volumes: - hostPath: path: /var/paas/sys/log/virtual-kubelet type: "" name: test-log - hostPath: path: /var/paas/sys/log type: "" name: test-log1 - hostPath: path: /var/paas/sys/log2 type: "" name: test-log2
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格