• 关于 如何配置阿里云镜像仓库 的搜索结果

回答

容器服务Kubernetes集群支持通过Web界面使用镜像密钥,包括新建镜像密钥和使用已有镜像密钥。 前提条件 您已成功创建一个Kubernetes集群,参见创建 Kubernetes 集群。 您已构建一个私有镜像仓库,并将镜像上传到该仓库中。本例中使用阿里云容器镜像服务作为示例,参见使用私有镜像仓库创建应用。 背景信息 您在使用私有镜像创建应用时,为了保障镜像安全,通常需要为镜像设置密钥。通过容器服务控制台,您可方便地将私有镜像库的身份认证信息通过docker-registry类型的secret传入到kubernetes中。 操作步骤 登录容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏中的应用 > 有状态,然后单击页面右上角的使用镜像创建。 在应用基本信息页面进行设置,然后单击下一步 进入应用配置页面。 应用名称:设置应用的名称。 部署集群:设置应用部署的集群。 命名空间:设置应用部署所处的命名空间,默认使用 default 命名空间。 副本数量:即应用包含的 Pod 数量。 类型:可选择无状态(Deployment)和有状态(StatefulSet)两种类型。 说明 本例中选择无状态类型,即Deployment类型。 标签:为该应用添加一个标签,标识该应用。 注解:为该应用添加一个注解(annotation)。 设置容器配置。 说明 本例仅对容器镜像密钥的配置进行说明,详细的容器配置说明请参见镜像创建无状态 Deployment 应用。 在容器配置页面,首先配置镜像名称,在镜像名称栏中输入私有镜像地址,填写格式是domainname/namespace/imagename。 说明 公共镜像无须配置镜像密钥。 在镜像版本栏中,输入私有镜像地址版本。 容器配置 单击设置镜像密钥,在弹出的对话框中进行设置。 选择新建密钥,您需要配置以下参数。 密钥名称(regsecret): 指定密钥的键名称,可自行定义。 仓库域名(docker-server):指定 Docker 仓库地址。若输入阿里云容器服务镜像仓库,会默认补齐。 用户名(docker-username): 指定 Docker 仓库用户名。若使用阿里云容器镜像服务,则为阿里云登录账号(包括阿里云主账号和子账号)。 密码(docker-password):指定 Docker 仓库登录密码。若使用阿里云容器镜像服务,即容器registry独立登录密码。 邮箱(docker-email):指定邮件地址。非必选。 新建密钥 单击确定,您可看到密钥已经成功创建。 设置密钥 您也可单击已有密钥。您可通过命令行或Yaml文件等方式预先创建好容器镜像密钥,参见如何支持私有镜像和使用私有镜像仓库创建应用。 已有密钥 完成配置后,单击下一步。 根据页面引导,完成其他配置,最后单击创建。 单击左侧导航栏应用 > 无状态,选择集群和命名空间,查看Tomcat应用运行情况。 说明 您可看到,Tomcat应用正常运行,成功通过密钥使用Tomcat私有镜像。 创建结果

1934890530796658 2020-03-31 15:21:54 0 浏览量 回答数 0

回答

准备工作 您需要开通弹性容器实例 ECI 服务、访问控制 (RAM) 服务。并完成对弹性容器实例 ECI 服务的 RAM 角色授权,授权包含对您私有镜像仓库访问的授权, ECI 会自动对您部署在阿里云镜像仓库的私有镜像进行免密拉取。 特别的:您可以使用阿里云镜像仓库的 VPC 专有网络地址进行镜像拉取。 在控制台创建 ECI 时,会自动选择专有网络地址进行镜像的拉取,无须特别处理。 操作步骤 进入 ECI 售卖页 进入 弹性容器实例 ECI 售卖页。 步骤一:选择地域及可用区 选择实例需要部署的地域及可用区信息,目前支持的地域及可用区信息参考 地域及可用区。 在满足业务要求的情况下,推荐优先选择更新的可用区,会有更充足的资源库存。 portal-01 选择地域 步骤二:选择 VPC 网络及交换机 选择对应地域和可用区的 VPC 网络及交换机后,页面会显示对应网络的具体信息,包括网段IP。如果对应地域和可用区没有 VPC 或者交换机,可以跳转到对应创建页面进行 VPC 和交换机的创建。 如何创建专有网络 VPC,可以参考这里。 如何创建交换机,可以参考这里。 portal-02 选择网络 步骤三:选择安全组 选择关联的安全组,安全组是一种虚拟防火墙,具备状态检测和数据包过滤功能,用于在云端划分安全域。您可以通过配置安全组规则,允许或禁止安全组内的 IP 实例对公网或私网的访问,以及 IP 间的访问。 如果您需要从外网访问 VPC 内的 ECI 实例,需要在安全组中配置对应的端口开放,例如:如果部署 Nginx 服务,需要在对应安全组规则中开放外网的 80 端口访问。 安全组的详细说明,可以参考这里。 portal-04 安全组 步骤四:选择镜像 定义好容器组名称及容器名称,并在 常用镜像 仓库中选择镜像及版本。 portal-05 选择阿里云镜像 portal-05 阿里云镜像版本 步骤五:选择容器组 CPU 和内存规格 选择合适的容器组 CPU 和内存规格,最小支持 0.25c 0.5 GB 规格。 portal-06 阿里云镜像规格 步骤六:配置确认 点击售卖页的 配置确认 按钮,跳转到配置确认页,确认无误后,点击 创建实例 提交订单进行 ECI 实例的创建。 portal-07 创建配置阿里云镜像 上一篇:使用流程

1934890530796658 2020-03-20 15:19:30 0 浏览量 回答数 0

问题

CodePipeline快速入门:Java项目示例:构建并部署到容器服务

行者武松 2019-12-01 21:55:10 1265 浏览量 回答数 0

海外云虚拟主机包年25元/月起

海外独享虚拟主机全面上线,助力构建海外网站,提升公司国际形象;全球有效覆盖,超高性价比;建站入门首选,助力出口,适合跨境贸易企业。

问题

Swarm 集群  构建管理  常用 Docker 相关软件下载加速

青蛙跳 2019-12-01 21:36:58 478 浏览量 回答数 0

回答

Java应用迁移到 k8s集群,主要涉及应用容器化、k8s容器编排以及java应用访问并不是一个简单宽泛的问题。 在迁移之前需要考虑如下问题: 之前java应用是否有容器化,没有的话需要先将之容器化,将应用制作为docker镜像,存储到镜像仓库镜像仓库选择,因为业务镜像都是私有镜像,而且dockerhub与国内还有网络延迟问题,如果应用k8s集群在阿里云,推荐使用阿里云镜像仓库,可以直接使用VPC内网地址拉取镜像;或者自己搭建harbor镜像仓库k8s集群的选择,是阿里云容器服务,还是在ECS上自己搭建K8S集群,这里推荐阿里云容器服务托管版,master节点是免费提供的使用的java框架,是使用的Spring Cloud 还是 dubbo ,还是其他的,这步很重要,涉及到容器环境下的网络调用模式及服务访问方式服务的资源分配、Java应用很吃内存,需要确定JVM配置,根据JVM配置来手动配置K8S资源,或者设置JVM自动获取,但是要升级java版本,使其可以正确获取容器内的资源服务的访问方式,是http访问还是RPC调用,K8S自动服务发现,但是像dubbo这样的框架也都带有服务发现,这里就要确定是使用K8S自带的还是使用框架的,这里推荐使用原来的,这样代码修改量想,更好迁移如何访问集群,这里推荐使用nginx-ingress来统一接受k8s集群外的访问,nginx-ingress使用的很广泛并且配置简单,易于使用 上面介绍的都只是迁移之前需要考虑的问题,具体迁移的问题有很多,并不是一个问答能解决的,同时也需要开发和运维人员去适应K8S下的开发模式,淌坑也是必须的。

郭旭东x 2019-12-02 02:10:35 0 浏览量 回答数 0

问题

Swarm 集群构建管理常用 Docker 相关软件下载加速

反向一觉 2019-12-01 21:19:55 1253 浏览量 回答数 0

问题

CodePipeline流水线实现自动发布Serverless Kubernetes

福利达人 2019-12-01 22:04:26 1835 浏览量 回答数 0

回答

Windows 相关帖子 Windows Server 2012 配置指南 之 MariaDB安装篇小全面的 Windows Server 安装 Upupw 组建包教程,小白必看,详细教程Upupw 组建包教程,添加虚拟主机Windows .NET 各主要版本下载地址收集Windows Server 也能用 Nginx+Redis Cache 实现内存级缓存. Windows Server 2016 一、系统设置 Windows Server 2016 配置指南 之 设置虚拟内存 二、 IIS Windows Server 2016 配置指南 之 IIS10 环境安装篇Windows Server 2016 配置指南 之 IIS升级和系统漏洞修补Windows Server 2016 配置指南 之 IIS10 下创建虚拟机 三、PHP PHP 虽好选择 nts 版本,相对 ts,效率更高,支持的拓展也更多。 Windows Server 2016 配置指南 之 PHP7 环境搭建篇Windows Server 2016 配置指南 之 升级 PHPWindows Server 2016 配置指南 之 开启 Zend OPcache 加速篇Windows Server 2016 配置指南 之 安装 PHP redis 拓展Windows Server 2016 配置指南 之 安装 APCu 拓展Windows Server 2016 配置指南 之 安装 Wincache 拓展 四、数据库 推荐使用 MariaDB 能完美兼容 Mysql 的开源社区维护的版本。 安装数据库一定要设置虚拟内存!! Windows Server 2016 配置指南 之 MariaDB 环境搭建篇Windows Server 2016 配置指南 之 升级 MariaDBWindows Server 2016 配置指南 之 MySQL 环境搭建篇Windows Server 2016 配置指南 之 安装 phpMyAdminWindows Server 2016 配置指南 之 使用 HeidiSQl 管理数据库 五、其他 Windows Server 2016 配置指南 之 最后要说的话Windows Server 2016 配置指南 之 FTP环境搭建篇Windows Server 2016 配置指南 之 安装 Redis3.0 Windows Server 2016 Windows Server 下安装 SQL Server 2016 — 介绍Windows Server 下安装 SQL Server 2016 — 安装Windows Server 下安装 SQL Server 2016 —SMSS ------------------------- 网站运营相关帖子 让谷歌收入不再支持海外的DNS解析备案如何免邮寄文件阿里测 – 帮你分析网站优化的不足让WordPress 评论支持MarkdownGravatar 镜像、解决方法大全网站安全配置(Nginx)防止网站被攻击阿里云购买域名教程阿里云实例暂停或者卸载云盾教程教你如何给 Discuz! X3.1/3.2 开启httpsFlarum 赋予论坛新的生命(1)大图片网站的优化技巧收集 ------------------------- 干货分享 阿里测 – 帮你分析网站优化的不足最好用的MarkDown在线简历工具常见 SMTP 汇集tinyhttpd的详细注释版[译]NGINX缓存使用官方指南FlatIcon – 最大的免费矢量图标库GenerateWP – 方便、傻瓜的 WordPress管理工具浅谈如何尽可能的避免cms网站被黑初探 MySQL 的 Binlog开启多因素认证保护您的云账号为天津加油,网站变暗代码Justfreethemes – 免费高品质 WP 主题分享国内外一键包|虚拟主机面板汇总ECS 入门教程推荐 8月16日更新移植 spider 到 MySQL 5.6云市场 plesk 面板福利,42元一年PHP7 可用的雅黑PHP探针 你需要知道 Premium domain 溢价域名StartSSL – 免费高兼容的 SSL 证书Let’s Encrypt – 免费时新的 SSL 证书.Percona Configuration Wizard – 傻瓜式量身定制 Mysql 及衍生版 ------------------------- ACE 相关 阿里云 ACE 教程 – 入门篇 阿里云 ACE 教程 – 安装Ghost 阿里云 ACE 教程 – Ghost 上使用 OSS ACE 使用 app.yaml 开启 redis、调整内 .. 在阿里云 ACE 上使用 php 缓存加速 .. ------------------------- Docker 相关 Daocloud 自有主机安装体验教程(一)  Daocloud 自有主机安装体验教程(二)  Daocloud 自有主机安装体验教程(三)  用 Docker 命令安装 Wordpress   ------------------------- 评测&介绍&体验 阿里云 SSD 评测,让你震惊Nginx 1.9 尝鲜 HTTP/2,经验分享PHP 应该怎么选择缓存器加速吧 - 数据中心的选择 加速吧 - 服务器的配置选择 云栖见闻 - 阿里云云安全阿里弹性Web托管 评测 阿里弹性Web托管 安装教程 阿里云系列二机器测评CDE – 从此 ECS 管理不再生涩 阿里云 香港 B 区,全程 CN2,全球 ..阿里云 云盾证书服务 申请教程数据管理DMS -只要你有浏览器,你就能管理你的服务器 .给你的阿里云邮箱用上数字签名和数字加密.[薅阿里云羊毛]免费申请阿里云 - 赛门企业级铁克 SSL 证书! ------------------------- 个人福利踢楼送 ECS 备案服务号。 ------------------------- 待整理 ------------------------- 系列教程 全球化加速访问 – 使用 Cloudflare 的 CDN 全球化加速访问 – 优化网卡降低延时和丢包 全球化加速访问 – DNS 与 CDN 的均衡负载,加速国内访问 全球化加速访问 – 使用中转加速实现非 HTTP 通信加速 全球化加速访问 – Debian/Ubuntu/CentOS 上安装 net-speeder 并优化 Flarum 赋予论坛新的生命(1)在服务器上安装 Flarum (2)Flarum 的设置和本土化(3) Appnode – 安装面板并更新软件仓库Appnode – 轻松搭建 LNMP 并安装 WordPress.通过 RPM 包安装的 PHP 编译 PECL 拓展 ------------------------- 详细整理 加速吧 - 数据中心的选择 加速吧 - 服务器的配置选择 加速吧 - Nginx 的优化收集 Ghost 的高可用安装 准备篇 Ghost 的高可用安装 安装篇 ------------------------- 备用 ------------------------- 2016年 12 月 2 日,整理 16 年产生的教程。

妙正灰 2019-12-02 02:18:27 0 浏览量 回答数 0

回答

Linux下如何进行FTP设置  ECSLinux服务器如何配置网站以及绑定域名  Ubuntu安装vncserver实现图形化访问  阿里云Docker镜像库  ECSlinux中添加ftp用户,并设置相应的权限  CentOS6.5安装vncserver实现图形化访问  LinuxSCP命令复制传输文件的用法  Mysql,phpmyadmin密码忘了怎么  Linux下l2tp客户端xl2tpd的安装配置  使用SFTP方式传输文件  ECSLinux系统盘网站数据更换至数据盘  WDCP的报错处理  Linux中PHP如何安装curl扩展方法  修改Linux服务器的ssh端口  ECSLinux配置vnc文档  运维分享--阿里云linux系统mysql密码修改脚本  20步打造最安全的NginxWeb服务器  SSH配置存在问题,导致登录和传输数据很慢  ECSLinux下如何查看定位当前正在运行的Nginx的配置文件  ECS服务器CentOS系统如何开放端口  查看Linux下默认的DNS  FTP主动被动模式配置混乱导致无法登录  linux环境配置phpmyadmin  ECSLinux系统下VSFTP配置的FTP上传文件报错“553Couldnotcreatefile”  ECSLinuxMysql启动提示Toomanyarguments(firstextrais'start')  运维分享--阿里云linux系统ssh远程连接检查脚本  ECSLinux系统授权mysql外网访问  ECSLinux服务器nginx禁止空主机头配置  ECSLinux服务器通过FTP无法查看到.htaccess文件  ECSLinux服务器下Mysql自动备份脚本的使用方法  ECS-linux授权mysql外网访问  用date命令修改Linux系统的时间为什么无效  运维分享--阿里云linux系统web日志分析脚本  ECSLinux服务器messagebus默认关闭导致安装桌面环境后无法正常使用  ECSNginx+php中php-fpm参数配置  运维分享--阿里云linux系统mysql连接检查脚本  iptables的conntrack表满了导致访问网站很慢  运维分享--阿里云linux系统带宽监测脚本  如何调整目录文件的拥有者和拥有组  yum操作报错处理  ECSLinux配置vsftpd限制FTP账户访问其它目录  vsftp报错:500OOPS:vsftpd:cannotlocateuserspecifiedin'ftp_username':ftp  Linux主机系统目录误操作权限修改为777修复方法  ECSNginx中https的配置说明  运维分享--阿里云linux系统负载状态检查脚本  ECSLinux服务器AMH云主机面板启动、关闭操作  ECSLinux服务器关闭磁盘自检  ECSLinux配置key认证登录后因为相关文件权限错误导致连接失败-Connectionclosedbyforeignhost  ECSLinux系统服务器解决ssh反向代理监听ip错误问题  ECSLinux设置定时任务crontab  ECSGentoo系统中mirrorselect获取内容失败提示Nameorservicenotknown  ECSLinux系统服务器ping域名返回Unknownhost报错  IIS、Nginx或Apache访问日志存在182.92.12.0/24段访问记录  Nginx日志的解释  ECSLinux系统wget下载文件  ECSLinux服务器内部无法解析域名  ECS路由表错误导致无法ping通  ECSLinux主机修改主机名  wordpress插件oss4wpurl无法访问  ECSLinux查看隐藏文件  Linux系统服务器解决vsftp服务使用root登录失败  ECSLinuxPPTP客户端登陆后获取地址错误  Linux系统服务器解决内外双网卡均显示内网IP地址问题  ECSLinux系统NetworkManager导致网络异常  外部PingECSLinux丢包严重  ECSLinux检查Nginx配置文件  ECSLinux系统判断当前运行的Apache所使用的配置文件  Apache访问日志的说明  ECSLinux.htacess文件上传无法显示  linux服务器内无法访问其他站点的检查处理方法  ECSmysql无法启动报错Can'tcreate/writetofile'/tmp/ibfguTtC  ECSLiunx系统服务器执行ls查询命令提示bash:ls:commandnotfound  Linux为何执行命令会执行历史命令  ECSLinux系统如何检查系统上一次重启的时间  ECSLinux下MySQL排查基本步骤  Linux系统如何查看mysql版本号  MySQL中查看慢SQL的日志文件方法  phpMyAdmin修改配置可以上传大文件  openSUSE下开机自动运行脚本命令的方法  给Linux系统添加一个回收站  ECSLinux分区异常无法挂载  ECSLinux上安装Cloudfs启动失败提示找不到库文件libunwind.so.8  ECSLinux清理/tmp目录下的文件原理  Liunx系统服务器通过prefork模块限制apache进程数量  ECSCentOS6.5系统下Apache配置https服务  Noinputfilespecified的解决方法  Apache、Nginx支持跨域访问  Apache环境下配置404错误页方法  ECSLinux通过修改Apache配置301重定向的方法  ECSLinux主机无法互访处理  ECSlinux服务器启用了TRACEMethod.怎么关闭  Apache运行参考的调整优化  ECSApache如何关闭目录访问  ECS服务器隐藏apache版本信息  ECSLinux判断HTTP端口监听状态的方法  ECSLinuxApache限制客户端访问网站的速度  负载均衡+ECS站点虚拟子目录的设置案例  ECS网站访问504错误分析  为何Ubuntu开启UFW后,VPC下的SNAT转发就失效了  ECSDebian自定义镜像启动无法SSH  ECSLinux云服务器如何确认文件系统只读?  ECSLinux创建文件报错Read-onlyfilesystem  恢复ext4文件系统中使用rm命令误删除的文件  ECSLinux删除乱码文件的方法  net.ipv4.tcp_fin_timeout修改导致的TCP链接异常排查  ECSLinux执行sh脚本提示Nosuchfileordirectory  /var/log/message日志报错  通过sshtunnel连接内网ECS和RDS  CentOS7中MySQL服务启动失败的解决思路  ECSLinux系统启动提示“Giverootpasswordformaintenance”  结束云盾客户端进程后如何启用  Ubuntu服务器中配置AWStats  CentOS6非root用户使用sftp服务  ssh避免客户端长久未操作导致连接中断  删除binglog导致mysql无法启动  ECSLinux服务器修改SSH端口号不生效的检查方法  ftp传输失败问题解决方法  ECSLinux下使用extundelete恢复被误删的文件  ECSLinux基于nginx环境通过.htaccess配置rewrite伪静态示例  ECSLinux系统利用openssl生成强密码  ECSCentOS6配置PPTPVPN  Last命令关于reboot记录的含义  Ubuntu修改运行级别的总结  ECSCentOS6系统PPTPVPN脚本  ECSLinux系统如何配置gentoo的源  ECSCentOS系统配置VPN客户端  多域名跳转——不同域名指向不同子目录  Centos配置PPTPVPN后无法打开网页  mysql不能远程连接  ECSLinux系统修改文件或目录权限方法  ECSWDCP破解mysql以及wdcp后台管理密码  ECSLinux系统如何设置SSH白名单  EcsLinux系统一键安装web环境下tomcat添加站点方法  Centos7安装vnc  Setuptools软件包版本太老导致ECSLinux安装AliyunCLI出错  Apache配置二级域名  ECSlinux重启丢失分区表  Linux系统服务器安装使用sar工具获取系统运行状态方式  ECSUbuntu开启sftp连接  linux系统mysql跳过密码登陆操作登陆设置  mysql报错LostconnectiontoMySQLserverat'readinginitialcommunicationpacket'  Ubuntuapt-get安装提errorprocessingpackageinstall-info(--configure)  Nodejs的版本升级和使用  Nodejs连接RDSMySQL数据库  ECS公共镜像Ubuntu,Centos的内核版本查看方法  ECSLinux服务器修改时区  Apache禁止未经许可的域名访问ECS上的网站  ECSLinux如何隐藏文件和文件夹  ECSmysql.sock丢失问题解决方法  ECSLinux云服务器centos将系统时区从UTC时间改为CST  ECSLinux云服务器权限问题说明  ECSLinux系统盘数据转移方法  Linux下忘记mysql的root密码  ECSMySQL编译安装支持innodb引擎  ECSLinuxNAT哈希表满导致服务器丢包  ECSLinux服务器重启后mount出错的解决方法  Centos6.5添加IPv6支持  ECSubuntu系统修改DNS/etc/resolv.conf无法保存  ECSLinux如何增加虚拟内存swap  ECSLinuxtraceroute使用方法  ECSLinux系统磁盘再次挂载报错没有有效的分区表  如何删除yum的缓存信息  ECSLinux服务器yum的查询功能  centos6怎么使用RPMForge软件源仓库  ECSLinux服务器Nginxrewrite示例  ECSLinuxCentOS6ssh连上就断掉并报错“fatal:mm_request_send:write:Brokenpipe”  mysql上传报错#1064-YouhaveanerrorinyourSQLsyntax  EcsLinux中rpm安装文件命令常用选项  ECSLinux系统kjournald进程占用io资源高的解决方法  ECSLinux如果通过i节点删除无法删除的文件  ECSLinux基于zabbix搭建企业级监控平台  ECSLinux系统yum卸载重装  ECSCentOS6.5OpenVPN配置  ECSLinux使用SFTP登陆时报错:Receivedunexpectedend-of-filefromSFTPserver  ECSLinux如何增加数据盘iNode数量  ECSLinux查看目录没有颜色  ECSLinux系统tmp目录的安全设置  ECSLinux下shm设备的安全设定  ECSCentOS多线程下载工具Axel使用说明  ECSLinuxcurl使用证书访问HTTPS站点  Linux系统中vsftp用户无法登陆的相关说明  Nginx配置文件中rewrite指令标志位的说明与使用  ECSLinux中ss命令显示连接状态的使用说明  ECSLinux系统没有程序运行通过top观察发现cpu很空闲  Linux下的文件权限检查和修改  ECSLinux云服务器利用chatter命令锁定系统重要文件  ECSCentos7安装OpenVPN  ECS上搭建反向代理通过内网访问OSS服务  ECSLinux下的script命令记录用户操作行为  Ubuntu下使用slay命令结束某个用户的所有进程  Nginx配置文件中root与alias指令的区别  Nginx配置文件中rewrite指令的使用  ECSLinux如何修改PATH变量  Centos安装桌面后在远程终端管理里面无法使用键盘和鼠标  ECSLinux下Apache忽略网站URL的大小写的方法  ECSLinux服务器利用Nethogs监控每个进程的网络使用情况  ECSapt-get安装软件或更新时提示apt-get的Segmentationfaultsts  ubuntu开机出现memtest86,重启也无法取消的原因  Linux下History命令显示操作时间,用户和登录IP  ECSLinux服务器使用htop监控负载 “答案来源于网络,供您参考” 希望以上信息可以帮到您!

牧明 2019-12-02 02:16:20 0 浏览量 回答数 0

回答

本文介绍如何免密拉取阿里云容器镜像仓库中的私有镜像。 前提条件 您已经成功创建一个Kubernetes 集群,参见创建 Kubernetes 集群。 背景信息 免密拉取功能: 仅支持拉取当前用户阿里云容器镜像仓库中的私有镜像,无法拉取其余用户的私有镜像。 支持跨地域拉取阿里云容器镜像仓库中的私有镜像。 支持多命名空间免密拉取。 支持配置免密拉取阿里云容器镜像服务企业版中的私有镜像。 支持的集群: 专有版Kubernetes集群 托管版Kubernetes集群 Serverless Kubernetes集群 支持的版本: 专有版Kubernetes集群:高于或等于1.11.2的版本默认支持免密拉取镜像。版本低于1.11.2的版本请参考操作步骤。 托管版Kubernetes集群:所有版本。 Serverless Kubernetes集群:所有版本。 操作步骤 登录容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏的集群 > 集群,进入集群列表页面。 单击目标集群的名称,查看集群的详细信息。 单击集群资源区域的Worker RAM角色,跳转到RAM访问控制台的RAM角色管理页面。 集群资源 说明 本文以新版RAM访问控制台为例进行介绍。 若您使用的是旧版的RAM访问控制台: 方法一 单击左侧导航栏角色管理,在角色名中输入Worker RAM角色的名称进行搜索。单击角色名称。角色管理 在基本信息区域,单击页面右上角的编辑基本信息。基本信息 方法二 单击页面右下角体验新版,切换到新版RAM访问控制台。在容器服务管理控制台单击Worker RAM 角色重新登录RAM访问控制台。RAM概览 在RAM角色管理页面,单击权限管理区域的权限策略名称,查看具体的权限策略。 在权限策略管理页面,单击策略内容区域的修改策略内容。 修改策略内容 在策略内容区域增加以下字段后,单击确定。 { "Action": [ "cr:Get*", "cr:List*", "cr:PullRepository" ], "Resource": "*", "Effect": "Allow" } 添加策略 创建aliyun-acr-credential-helper服务,定时刷新容器镜像服务的临时token密码。 apiVersion: v1 kind: ConfigMap metadata: name: acr-configuration namespace: kube-system data: #具体配置说明参考下文 acr-api-version: "2018-12-01" #acr-registry: "xxx-registry.*.cr.aliyuncs.com,xxx-registry-vpc.*.cr.aliyuncs.com" #watch-namespace: "all" #expiring-threshold: "15m" --- apiVersion: v1 kind: ServiceAccount metadata: name: aliyun-acr-credential-helper namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: name: aliyun-acr-credential-helper rules: - apiGroups: - "" resources: - namespaces - configmaps verbs: - get - list - watch - apiGroups: - "" resources: - serviceaccounts - secrets verbs: - create - update - patch - get - list - watch --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: aliyun-acr-credential-helper roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: aliyun-acr-credential-helper subjects: - kind: ServiceAccount name: aliyun-acr-credential-helper namespace: kube-system --- apiVersion: apps/v1beta2 kind: Deployment metadata: name: aliyun-acr-credential-helper namespace: kube-system annotations: component.version: "v19.05.22" component.revision: "v1" labels: app: aliyun-acr-credential-helper spec: replicas: 1 selector: matchLabels: app: aliyun-acr-credential-helper template: metadata: labels: app: aliyun-acr-credential-helper spec: serviceAccountName: aliyun-acr-credential-helper containers: - name: aliyun-acr-credential-helper image: registry.cn-hangzhou.aliyuncs.com/acs/aliyun-acr-credential-helper:v19.05.22.0-e324a5a-aliyun imagePullPolicy: Always env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace volumeMounts: - name: localtime mountPath: /etc/localtime readOnly: true volumes: - name: localtime hostPath: path: /etc/localtime type: File nodeSelector: beta.kubernetes.io/os: linux ACR Credential Helper组件配置项可通过 ConfigMap 的方式来进行配置,并会自动实时生效。 表 1. 配置说明 配置项 配置项说明 默认值 acr-api-version 期望使用的CR OpenAPI Version 2018-12-01 (支持企业版Registy API) acr-registry 期望能免密拉取镜像的Registry registry.*.aliyuncs.com,registry-vpc.*.aliyuncs.com,xxx-registry.*.cr.aliyuncs.com,xxx-registry-vpc.*.cr.aliyuncs.com 说明 如果需要配置多个Registry时,以逗号分隔。 watch-namespace 期望能免密拉取镜像的Namespace default 说明 当取值为all时,表示期望所有Namespace都能免密拉取。 如果需要配置多个Namespace时,以逗号分隔。 expiring-threshold 本地Cache Token快过期阈值 15m

1934890530796658 2020-03-25 14:21:56 0 浏览量 回答数 0

问题

【精品问答】Docker与JVM常见bug解决方案50问(附源码)

游客pklijor6gytpx 2019-12-01 21:57:35 53 浏览量 回答数 0

回答

阿里云权限管理机制包括访问控制(简称 RAM)和安全凭证管理(简称 STS),灵活使用 RAM 和 STS,可以极大地提高管理的灵活性和安全性。本文介绍如何在不同的场景下配置仓库的访问控制。 背景信息 默认情况下,主帐号对自己的资源拥有完整的操作权限。借助 RAM 和 STS,可以使不同的子账号拥有访问镜像资源的不同权限,同时也支持为用户提供临时的访问授权。在了解如何配置授权策略前,请先详细阅读 RAM 产品文档。 系统策略配置 AliyunContainerRegistryFullAccess 子用户拥有该授权后,对于镜像资源的权限等同于主账号,可以做任意操作。 { "Statement": [ { "Action": "cr:*", "Effect": "Allow", "Resource": "*" } ], "Version": "1" } AliyunContainerRegistryReadOnlyAccess 子用户拥有该授权后,对于所有镜像资源有只读权限,例如:可以查看仓库列表,Pull 镜像等。 { "Statement": [ { "Action": [ "cr:Get*", "cr:List*", "cr:PullRepository" ], "Effect": "Allow", "Resource": "*" } ], "Version": "1" } 典型场景策略配置 场景 1 场景描述:授权子账号某个命名空间(例如:juzhong)的读权限。子账号登录 Registry 后 pull 所有该命名空间下的镜像,可以通过OpenAPI 查看到该命名空间的信息及该命名空间下所有镜像仓库的相关信息。 { "Statement": [ { "Action": [ "cr:Get*", "cr:List*", "cr:PullRepository" ], "Effect": "Allow", "Resource": [ "acs:cr:*:*:repository/juzhong/*" ] } ], "Version": "1" } 注意 如果同时需要子账号在控制台查看命名空间,需要进行如下授权。子账号可以看到全量的命名空间及仓库列表,但仅能 Pull 其中juzhong 这个命名空间下的仓库。 { "Statement": [ { "Action": [ "cr:Get*", "cr:List*", "cr:PullRepository" ], "Effect": "Allow", "Resource": [ "acs:cr:*:*:repository/juzhong/*" ] }, { "Action": [ "cr:ListNamespace", "cr:ListRepository" ], "Effect": "Allow", "Resource": [ "*" ] } ], "Version": "1" } 场景 2 场景描述:授权子账号某个镜像仓库(例如:镜像仓库名为 nginx,所属命名空间名为 juzhong,所属地域为华东 1)的所有权限。 注意 如需通过子账号在控制台上管理镜像仓库,依然需要参考场景 1 配置。 { "Statement": [ { "Action": [ "cr:*" ], "Effect": "Allow", "Resource": [ "acs:cr:cn-hangzhou:*:repository/juzhong/nginx" ] }, { "Action": [ "cr:Get*", "cr:List*" ], "Effect": "Allow", "Resource": [ "acs:cr:*:*:repository/juzhong" ] } ], "Version": "1" } RAM 说明 在使用 RAM 对子账号授权时,请特别关注下面的说明,以免您为子账号授予过大的权限。 如果您通过 RAM 为某一个子账号授予阿里云所有资源的管理权限(即 AdministratorAccess),无论您之前是否为该子账号授予过镜像服务的权限,该子账号都将拥有对镜像服务的全部权限。 镜像服务鉴权规则 资源描述 在通过RAM进行授权时,资源的描述方式如下表所示: 资源类型 授权策略中的资源描述 repository acs:cr:$regionid:$accountid:repository/$namespacename/$repositorynameacs:cr:$regionid:$accountid:repository/$namespacename/*acs:cr:$regionid:$accountid:repository/$namespacename 参数说明如下表所示: 参数名称 说明 $regionid 地域 ID,可用*代替。 $accountid 云账号数字 ID,可用 * 代替。 $namespacename 命名空间名称。 $repositoryname 镜像仓库名称。 鉴权规则 子账号或者 STS 方式访问镜像服务 API 时,镜像服务会向 RAM 进行权限检查,以确保调用者拥有相应权限。每个 API 会根据涉及到的资源以及 API 的语义来确定需要检查哪些资源的权限。每个 API 的鉴权规则如下表所示: API 鉴权Action 鉴权Resource 创建命名空间 cr:CreateNamespace * 删除命名空间 cr:DeleteNamespace acs:cr:$regionid:$accountid:repository/$namespacename 更新命名空间信息 cr:UpdateNamespace acs:cr:$regionid:$accountid:repository/$namespacename 获取指定命名空间 cr:GetNamespace acs:cr:$regionid:$accountid:repository/$namespacename 获取命名空间列表 cr:ListNamespace * 创建仓库 cr:CreateRepository acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 删除仓库 cr:DeleteRepository acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 更新仓库信息 cr:UpdateRepository acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 查询仓库信息 cr:GetRepository acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 查询仓库列表信息 cr:ListRepository * 根据命名空间查询仓库列表信息 cr:ListRepository * 查询仓库标签信息 cr:ListRepositoryTag acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 删除镜像版本 cr:DeleteRepositoryTag acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 查询镜像Manifest信息 cr:GetRepositoryManifest acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 查询镜像层信息 cr:GetRepositoryLayers acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 获取临时Token cr:GetAuthorizationToken * Pull镜像 cr:PullRepository acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname Push镜像 cr:PushRepository acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname

1934890530796658 2020-03-25 12:25:39 0 浏览量 回答数 0

回答

阿里云权限管理机制包括访问控制(简称 RAM)和安全凭证管理(简称 STS),灵活使用 RAM 和 STS,可以极大地提高管理的灵活性和安全性。本文介绍如何在不同的场景下配置仓库的访问控制。 背景信息 默认情况下,主帐号对自己的资源拥有完整的操作权限。借助 RAM 和 STS,可以使不同的子账号拥有访问镜像资源的不同权限,同时也支持为用户提供临时的访问授权。在了解如何配置授权策略前,请先详细阅读 RAM 产品文档。 系统策略配置 AliyunContainerRegistryFullAccess 子用户拥有该授权后,对于镜像资源的权限等同于主账号,可以做任意操作。 { "Statement": [ { "Action": "cr:*", "Effect": "Allow", "Resource": "*" } ], "Version": "1" } AliyunContainerRegistryReadOnlyAccess 子用户拥有该授权后,对于所有镜像资源有只读权限,例如:可以查看仓库列表,Pull 镜像等。 { "Statement": [ { "Action": [ "cr:Get*", "cr:List*", "cr:PullRepository" ], "Effect": "Allow", "Resource": "*" } ], "Version": "1" } 典型场景策略配置 场景 1 场景描述:授权子账号某个命名空间(例如:juzhong)的读权限。子账号登录 Registry 后 pull 所有该命名空间下的镜像,可以通过OpenAPI 查看到该命名空间的信息及该命名空间下所有镜像仓库的相关信息。 { "Statement": [ { "Action": [ "cr:Get*", "cr:List*", "cr:PullRepository" ], "Effect": "Allow", "Resource": [ "acs:cr:*:*:repository/juzhong/*" ] } ], "Version": "1" } 注意 如果同时需要子账号在控制台查看命名空间,需要进行如下授权。子账号可以看到全量的命名空间及仓库列表,但仅能 Pull 其中juzhong 这个命名空间下的仓库。 { "Statement": [ { "Action": [ "cr:Get*", "cr:List*", "cr:PullRepository" ], "Effect": "Allow", "Resource": [ "acs:cr:*:*:repository/juzhong/*" ] }, { "Action": [ "cr:ListNamespace", "cr:ListRepository" ], "Effect": "Allow", "Resource": [ "*" ] } ], "Version": "1" } 场景 2 场景描述:授权子账号某个镜像仓库(例如:镜像仓库名为 nginx,所属命名空间名为 juzhong,所属地域为华东 1)的所有权限。 注意 如需通过子账号在控制台上管理镜像仓库,依然需要参考场景 1 配置。 { "Statement": [ { "Action": [ "cr:*" ], "Effect": "Allow", "Resource": [ "acs:cr:cn-hangzhou:*:repository/juzhong/nginx" ] }, { "Action": [ "cr:Get*", "cr:List*" ], "Effect": "Allow", "Resource": [ "acs:cr:*:*:repository/juzhong" ] } ], "Version": "1" } RAM 说明 在使用 RAM 对子账号授权时,请特别关注下面的说明,以免您为子账号授予过大的权限。 如果您通过 RAM 为某一个子账号授予阿里云所有资源的管理权限(即 AdministratorAccess),无论您之前是否为该子账号授予过镜像服务的权限,该子账号都将拥有对镜像服务的全部权限。 镜像服务鉴权规则 资源描述 在通过RAM进行授权时,资源的描述方式如下表所示: 资源类型 授权策略中的资源描述 repository acs:cr:$regionid:$accountid:repository/$namespacename/$repositorynameacs:cr:$regionid:$accountid:repository/$namespacename/*acs:cr:$regionid:$accountid:repository/$namespacename 参数说明如下表所示: 参数名称 说明 $regionid 地域 ID,可用*代替。 $accountid 云账号数字 ID,可用 * 代替。 $namespacename 命名空间名称。 $repositoryname 镜像仓库名称。 鉴权规则 子账号或者 STS 方式访问镜像服务 API 时,镜像服务会向 RAM 进行权限检查,以确保调用者拥有相应权限。每个 API 会根据涉及到的资源以及 API 的语义来确定需要检查哪些资源的权限。每个 API 的鉴权规则如下表所示: API 鉴权Action 鉴权Resource 创建命名空间 cr:CreateNamespace * 删除命名空间 cr:DeleteNamespace acs:cr:$regionid:$accountid:repository/$namespacename 更新命名空间信息 cr:UpdateNamespace acs:cr:$regionid:$accountid:repository/$namespacename 获取指定命名空间 cr:GetNamespace acs:cr:$regionid:$accountid:repository/$namespacename 获取命名空间列表 cr:ListNamespace * 创建仓库 cr:CreateRepository acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 删除仓库 cr:DeleteRepository acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 更新仓库信息 cr:UpdateRepository acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 查询仓库信息 cr:GetRepository acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 查询仓库列表信息 cr:ListRepository * 根据命名空间查询仓库列表信息 cr:ListRepository * 查询仓库标签信息 cr:ListRepositoryTag acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 删除镜像版本 cr:DeleteRepositoryTag acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 查询镜像Manifest信息 cr:GetRepositoryManifest acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 查询镜像层信息 cr:GetRepositoryLayers acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname 获取临时Token cr:GetAuthorizationToken * Pull镜像 cr:PullRepository acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname Push镜像 cr:PushRepository acs:cr:$regionid:$accountid:repository/$namespacename/$repositoryname

1934890530796658 2020-03-25 12:25:59 0 浏览量 回答数 0

问题

【精品问答】Terraform

问问小秘 2020-04-24 17:42:36 8 浏览量 回答数 1

问题

Swarm 集群  DevOps  基于 Jenkins 的持续交付

青蛙跳 2019-12-01 21:36:21 643 浏览量 回答数 0

回答

背景 人工智能与机器学习已经被广泛应用到各个领域,近些年来各种各样的训练模型被提出,更多的训练任务跑到了云上。然而上云之后,想要轻松、持久地运行训练任务,仍有一些痛点,例如: 环境搭建:例如如果需要GPU实例,你必须首先购买GPU实例并安装GPU驱动,即便你把训练任务容器化后,还需要安装 gpu runtime hook ,使用 ASK + ECI,这些都不需要你操心 缺乏弹性:环境准备好,任务跑完后,为了节约成本,也许你需要释放闲置资源,下次启动任务时再重新创建实例配置环境,或者是计算节点不够,需要扩容,同样需要再次配置环境,使用ASK+ECI,能真正做到让你根据自己的业务按需使用,按需付费 本文将会介绍如何使用阿里云Serverless Kubernetes(ASK) + ECI,快速完成一个github上基于GPU的 TensorFlow 训练任务。 具体步骤 创建以及操作集群的详细步骤参考:操作Serverless Kubernetes集群的方式 前往容器服务控制台创建 Serverless Kubernetes集群,指定地域、vpc、vSwitch(如果你要走公网拉取镜像,或者训练任务需要出公网,请配置NAT网关)ask-create 集群创建完成后,点【管理】,按照提示完成 kubectl 的安装与配置 为了加速 GPU 镜像的拉取,ECI 提供了 ImageCache 功能,并且通过virtual kubelet无缝集成到Kubernetes CRD 中。第一次需要拉取镜像,时间取决于镜像大小,请耐心等待 创建 ImageCache:kubectl create -f imagecache.yaml imagecache.yaml 内容如下: apiVersion: eci.alibabacloud.com/v1 kind: ImageCache metadata: name: tensorflow spec: images: - registry-vpc.cn-zhangjiakou.aliyuncs.com/eci/tensorflow:1.0 # 训练任务的镜像,建议放到阿里云vpc私网仓库 可以通过命令查询进度:kubectl get imagecache tensorflow 使用镜像缓存,创建训练任务:kubectl create -f gpu_pod.yaml gpu_pod.yaml 内容如下: apiVersion: v1 kind: Pod metadata: name: tensorflow annotations: k8s.aliyun.com/eci-gpu-type: "P4" # GPU规格,或者你可以指定指定和ECS一样的instanceType创建 如:k8s.aliyun.com/eci-instance-type: "ecs.gn5i-c2g1.large" k8s.aliyun.com/eci-image-cache: "true" # 开启镜像缓存自动匹配 spec: containers: - image: registry-vpc.cn-zhangjiakou.aliyuncs.com/eci/tensorflow:1.0 # 训练任务的镜像 name: tensorflow command: - "sh" - "-c" - "python models/tutorials/image/imagenet/classify_image.py" # 触发训练任务的脚本 resources: limits: nvidia.com/gpu: "1" # 容器所需的GPU个数 volumeMounts: - name: nfs-pv mountPath: /tmp/imagenet volumes: - name: nfs-pv # 训练结果持久化到NAS文件存储 nfs: path: /share server: 0912430d-1nsl.cn-zhangjiakou.extreme.nas.aliyuncs.com restartPolicy: OnFailure 使用以下命令查询Pod事件信息和日志 kubectl describe pod tensorflow kubectl logs tensorflowlogs NAS存储里已经有训练完成的数据nas panda 在 ECI 控制台可以看到运行成功的实例,运行成功表示实例已经到达终态,此时ECI会回收底层计算资源,不再对该Pod进行计费eci 总结 使用 ASK + ECI,只需要以下几步,就可以轻松启动一个基于GPU实例的训练任务: 准备好训练模型的容器镜像,准备好训练数据/结果的路径 创建 ASK 集群 准备好3个yaml文件,在集群中依次创建 同时使用此方案的优势: 按需付费,免运维 一次配置,无限次复用 镜像缓存给你带来极致弹性的体验 数据与训练模型解耦,训练数据持久化(ECI同时支持阿里云云盘)

1934890530796658 2020-03-20 18:25:25 0 浏览量 回答数 0

问题

云效使用指南:持续交付:构建:Docker镜像构建配置

行者武松 2019-12-01 22:00:16 1450 浏览量 回答数 0

回答

本文介绍如何使用阿里云容器镜像服务提供的免密插件拉取容器镜像。 前提条件 创建Kubernetes集群 注意 如需使用免密插件,请避免手工配置拉取凭证(imagePullSecret)。因为在Kubernetes资源(例如无状态应用 Deployment)模板中配置拉取凭证(imagePullSecret)会导致免密插件失效。 如果部署的Kubernetes 资源(例如无状态应用Deployment)使用了自定义的ServiceAccount,必须先调整免密插件配置文件中service-account字段,使其作用于自定义的ServiceAccount,再进行部署资源操作。 背景信息 支持拉取容器镜像服务企业版实例和默认实例中的私有镜像。 支持拉取集群当前用户容器镜像服务中的私有镜像,通过跨账号授权可以拉取其他用户的私有镜像。 支持跨地域拉取容器镜像服务中的私有镜像。 支持集群多命名空间免密拉取。 支持的集群: 专有版Kubernetes集群:高于或等于1.11.2的版本默认支持免密拉取镜像。低于1.11.2版本的用户请手动升级,请参见升级集群。 托管版Kubernetes集群:所有版本。 Serverless Kubernetes集群:所有版本。 升级组件并对组件进行配置 升级组件。 请登录容器服务管理控制台。 在左侧导航栏选择集群 > 集群,在集群列表中对需要升级的集群单击更多 > 系统组件升级。 在组件列表区域中找到aliyun-acr-credential-helper,单击升级。系统组建升级 配置组件。 在容器服务管理控制台左侧导航栏选择应用配置 > 配置项。 选择您的集群和命名空间,单击创建。在弹出的编辑页面中的配置项名称文本框中输入acr-configuration。acr配置项 以下是一个组件的配置示例。 #acr-registry-info: | # - instanceId: cri-xxx # regionId: cn-hangzhou # domains: xxx.com,yyy.com #watch-namespace: "all" #service-account: "default" #expiring-threshold: "15m" 配置项 配置项说明 默认值 service-account 使免密插件作用于指定的服务账号。 default。 说明 若要配置多个请以逗号分隔, 若为"*", 表示支持 Namespace 下的所有 ServiceAccount。 acr-registry-info 实例信息数组, yaml多行字符串格式, 每个实例以三元组方式配置。 说明 实例信息三元组: instanceId: 实例ID,,企业版实例必须。 regionId: 可选,,默认为本地region。 domains::可选,,默认为相应实例的所有域名;。若要指定个别域名, 多个以逗号分隔。 空,表示免密拉取本地 Region 的默认实例仓库。 watch-namespace 期望能免密拉取镜像的Namespace。 default。 说明 当取值为all时,表示期望所有Namespace都能免密拉取。如果需要配置多个Namespace时,以逗号分隔。 expiring-threshold 本地Cache Token过期阈值。 15m(建议使用 15m)。 场景一:跨账号拉取私有镜像 支持A用户集群拉取B用户的私有镜像。 创建B用户的RAM角色,并确保该RAM角色拥有拉取B用户私有镜像(应在RAM上限定特定的Resource资源)的权限。在RAM访问控制页面,点击 RAM角色管理, 创建RAM角色。 在创建的B用户RAM角色上配置trust policy,允许A用户的Worker RAM角色来扮演B用户,在策略Principal处填写A用户的Worker RAM角色的RamRoleARN。RamRoleARN 确认A用户的Worker RAM角色拥有AssumeRule权限。AssumeRule权限 调整组件配置,新增assumeRoleARN配置,内容为B用户RAM角色的ramRoleARN。配置示例: data: service-account: "default" watch-namespace: "all" expiring-threshold: "15m" notify-email: "cs@aliyuncs.com" acr-registry-info: | - instanceId: "" regionId: cn-beijing domains: registry.cn-beijing.aliyuncs.com assumeRoleARN: acs:ram::.*:role/kubernetesworkerrole-test 场景二:当前账号免密拉取失败 您需要检查当前账号 ACR 拉取的权限。 在集群控制台左侧导航栏选择集群 > 集群,在集群列表中对需要操作的集群名称进行单击。 在集群资源区域中选择 Worker RAM角色。WorkRam 在RAM访问控制页面,单击权限管理 > 权限策略管理,查看具体的权限策略。 单击 RAM角色管理,在右侧角色列表中,找到与您的角色相关联的策略。拉取权限1 在策略内容区域增加以下字段后,单击确定。 { "Action": [ "cr:Get*", "cr:List*", "cr:PullRepository" ], "Resource": "*", "Effect": "Allow" } 添加字段位置如下图所示。 修改示例

1934890530796658 2020-03-31 15:22:20 0 浏览量 回答数 0

回答

阿里云权限管理机制包括访问控制(简称 RAM)和安全凭证管理(简称 STS),灵活使用 RAM 和 STS,可以极大地提高管理的灵活性和安全性。本文介绍如何在不同的场景下配置仓库的访问控制。 背景信息 默认情况下,主帐号对自己的资源拥有完整的操作权限。借助 RAM 和 STS,可以使不同的子账号拥有访问镜像资源的不同权限,同时也支持为用户提供临时的访问授权。在了解如何配置授权策略前,请先详细阅读 RAM 产品文档。 系统策略配置 AliyunContainerRegistryFullAccess 子用户拥有该授权后,对于镜像资源的权限等同于主账号,可以做任意操作。 { "Statement": [ { "Action": "cr:*", "Effect": "Allow", "Resource": "*" } ], "Version": "1" } AliyunContainerRegistryReadOnlyAccess 子用户拥有该授权后,对于所有镜像资源有只读权限,例如:可以查看仓库列表,Pull 镜像等。 { "Statement": [ { "Action": [ "cr:Get*", "cr:List*", "cr:PullRepository" ], "Effect": "Allow", "Resource": "*" } ], "Version": "1" } 典型场景策略配置 若用户子账号需要调用容器镜像服务开放的 OpenAPI,需要参照镜像服务鉴权规则授予子账号相应的操作权限;若用户子账号需要使用容器镜像服务控制台,建议为子账号配置额外的权限策略: { "Statement": [ { "Effect": "Allow", "Action": [ "cr:ListInstance*", "cr:GetInstance*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cr:GetInstance*", "cr:ListInstance*" ], "Resource": "acs:cr:$regionid:$accountid:instance/$instanceid" } ], "Version": "1" } RAM 说明 在使用 RAM 对子账号授权时,请特别关注下面的说明,以免您为子账号授予过大的权限。 如果您通过 RAM 为某一个子账号授予阿里云所有资源的管理权限(即 AdministratorAccess),无论您之前是否为该子账号授予过镜像服务的权限,该子账号都将拥有对镜像服务的全部权限。 镜像服务鉴权规则 资源描述 在通过RAM进行授权时,资源的描述方式如下表所示: 资源类型 授权策略中的资源描述 * acs:cr:$regionid:$accountid:* instance acs:cr:$regionid:$accountid:instance/$instanceid repository acs:cr:$regionid:$accountid:repository/$instanceid/* acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/* acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename chart acs:cr:$regionid:$accountid:chart/$instanceid/* acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename/* acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename/<br>$chartrepositoryname 参数说明,如下表所示: 参数名称 说明 $regionid 地域 ID,可用*代替。 $accountid 云账号数字 ID,可用 * 代替。 $instanceid 容器镜像服务企业版实例 ID $namespacename 命名空间名称。 $repositoryname 镜像仓库名称。 $chartnamespacename Chart 镜像命名空间名称。 $chartrepositoryname Chart 镜像仓库名称。 鉴权规则 子账号或者 STS 方式访问镜像服务 API 时,镜像服务会向 RAM 进行权限检查,以确保调用者拥有相应权限。每个 API 会根据涉及到的资源以及 API 的语义来确定需要检查哪些资源的权限。每个 API 的鉴权规则如下表所示: API 鉴权Action 鉴权Resource GetAuthorizationToken cr:GetAuthorizationToken * GetChartNamespace cr:GetNamespace acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename GetChartRepository cr:GetRepository acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename/$chartrepositoryname GetInstance cr:GetInstance acs:cr:$regionid:$accountid:instance/$instanceid GetInstanceCount cr:ListInstance * GetInstanceEndpoint cr:GetInstanceEndpoint acs:cr:$regionid:$accountid:instance/$instanceid GetInstanceUsage cr:GetInstanceUsage acs:cr:$regionid:$accountid:instance/$instanceid GetInstanceVpcEndpoint cr:GetInstanceVpcEndpoint acs:cr:$regionid:$accountid:instance/$instanceid GetNamespace cr:GetNamespace acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename GetRepoBuildRecord cr:GetRepositoryBuildRecord acs:cr:$regionid:$accountid:repository/$instanceid GetRepoBuildRecordStatus cr:GetBuildRepositoryStatus acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname GetRepoSyncTask cr:GetRepositorySync acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname GetRepoTagLayers cr:GetRepositoryLayers acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname GetRepoTagManifest cr:GetRepositoryManifest acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname GetRepoTagScanTask cr:GetScan acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname GetRepository cr:GetRepository acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname ListChartNamespace cr:ListNamespace acs:cr:$regionid:$accountid:chart/$instanceid/* ListChartRelease cr:ListChartRelease acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename/$chartrepositoryname ListChartRepository cr:ListRepository acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename/* ListInstance cr:ListInstance * ListInstanceEndpoint cr:ListInstanceEndpoint acs:cr:$regionid:$accountid:repository/$instanceid ListNamespace cr:ListNamespace acs:cr:$regionid:$accountid:repository/$instanceid/* ListRepoBuildRecord cr:ListRepositoryBuild acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname ListRepoBuildRecordLog cr:GetRepositoryBuildLog acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname ListRepoBuildRule cr:ListRepositoryBuildRule acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname ListRepoSyncRule cr:ListSyncRule acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname ListRepoSyncTask cr:GetRepositorySync acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname ListRepoTag cr:ListRepositoryTag acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname ListRepoTrigger cr:ListWebHook acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname ListRepoTriggerLog cr:GetWebHookLog acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname ListRepoTriggerRecord cr:GetWebHookLog acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname ListRepository cr:ListRepository acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/* CancelRepoBuildRecord cr:CancelBuildRepository acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname CreateBuildRecordByRule cr:BuildRepositoryByRule acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname CreateChartNamespace cr:CreateNamespace acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename CreateInstanceEndpointAclPolicy cr:CreateInstanceEndpointAclPolicy acs:cr:$regionid:$accountid:instance/$instanceid CreateInstanceVpcEndpointLinkedVpc cr:CreateInstanceVpcEndpointLinkedVpc acs:cr:$regionid:$accountid:instance/$instanceid CreateNamespace cr:CreateNamespace acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename CreateRepoBuildRule cr:CreateRepositoryBuildRule acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname CreateRepoSyncRule cr:CreateSyncRule acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname CreateRepoSyncTaskByRule cr:CreateRepositorySync acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname CreateRepoTrigger cr:CreateWebHook acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname CreateRepository cr:CreateRepository acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename DeleteChartNamespace cr:DeleteNamespace acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename DeleteChartRelease cr:DeleteChartRelease acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename/$chartrepositoryname DeleteChartRepository cr:DeleteRepository acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename/$chartrepositoryname DeleteInstanceEndpointAclPolicy cr:DeleteInstanceEndpointAclPolicy acs:cr:$regionid:$accountid:instance/$instanceid DeleteInstanceVpcEndpointLinkedVpc cr:DeleteInstanceVpcEndpointLinkedVpc acs:cr:$regionid:$accountid:instance/$instanceid DeleteNamespace cr:DeleteNamespace acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename DeleteRepoBuildRule cr:DeleteRepositoryBuildRule acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname DeleteRepoSyncRule cr:DeleteSyncRule acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname DeleteRepoTag cr:DeleteRepositoryTag acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname DeleteRepoTrigger cr:DeleteWebHook acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname DeleteRepository cr:DeleteRepository acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname UpdateChartNamespace cr:UpdateNamespace acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename UpdateChartRepository cr:UpdateRepository acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename/$chartrepositoryname UpdateInstanceEndpointStatus cr:UpdateInstanceEndpointStatus acs:cr:$regionid:$accountid:instance/$instanceid UpdateNamespace cr:UpdateNamespace acs:cr:$regionid:$accountid:chart/$instanceid/$chartnamespacename UpdateRepoBuildRule cr:UpdateRepositoryBuildRule acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname UpdateRepoTrigger cr:UpdateWebHook acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname UpdateRepository cr:UpdateRepository acs:cr:$regionid:$accountid:repository/$instanceid/$namespacename/$repositoryname 当用户需要使用自定义 OSS bucket 时,需要为账号添加 RAM 角色,并为该 RAM 角色授予对 OSS bucket 操作的权限,然后容器镜像服务才能正常访问该 OSS bucket。 步骤一:创建 RAM 角色 容器镜像服务访问自定义 OSS bucket 时,需要为阿里云账号创建的角色名为 AliyunContainerRegistryCustomizedOSSBucketRole。 云账号登录RAM控制台。 在左侧导航栏,单击RAM角色管理。 单击新建RAM角色。 选择可信实体类型为阿里云账号,单击下一步。 输入角色名称和备注。 选择云账号后,单击完成。 说明 若选择其他云账号,需要填写其他云账号的ID。 步骤二:配置 RAM 角色的权限策略 配置该 RAM 角色的策略,使其拥有对指定的 OSS bucket 资源读取容器镜像仓库信息的权限,RAM 角色的权限策略名为 AliyunContainerRegistryCustomizedOSSBucketRolePolicy。当需要获取多个自定义 OSS bucket 信息时,可向 Resource 中添加多个 OSS bucket 值。 { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:GetObject", "oss:PutObject", "oss:DeleteObject", "oss:ListParts", "oss:AbortMultipartUpload", "oss:InitiateMultipartUpload", "oss:CompleteMultipartUpload", "oss:DeleteMultipleObjects", "oss:ListMultipartUploads", "oss:ListObjects" ], "Resource": [ "acs:oss:::<your_bucket_name>", "acs:oss:::<your_bucket_name>/*" ], "Condition": {} }, { "Effect": "Allow", "Action": [ "oss:PutBucket", "oss:GetBucket", "oss:DeleteBucket", "oss:GetBucketLocation", "oss:PutBucketAcl", "oss:GetBucketAcl", "oss:PutBucketLogging", "oss:GetBucketReferer", "oss:PutBucketReferer", "oss:GetBucketLogging", "oss:DeleteBucketLogging" ], "Resource": [ "acs:oss:::<your_bucket_name>", "acs:oss:::<your_bucket_name>/*" ], "Condition": {} }, { "Effect": "Allow", "Action": "oss:ListBuckets", "Resource": [ "acs:oss:::", "acs:oss:::/*" ], "Condition": {} }, { "Action": [ "cms:QueryMetricLast", "cms:QueryMetricList" ], "Resource": "*", "Effect": "Allow" } ] } 步骤三:配置 RAM 角色的信任策略 为该 RAM 角色的信任策略中添加容器镜像服务,使容器镜像服务可以访问用户自定义的 OSS bucket。 { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "cr.aliyuncs.com" ] } } ], "Version": "1" }

1934890530796658 2020-03-25 12:30:24 0 浏览量 回答数 0

回答

本文主要为您介绍如何创建和使用带有 NPU 资源的 Kubernetes 集群。 前提条件 您需要开通容器服务和访问控制(RAM)服务。 背景信息 与大型算法模型中 CPU 相比,NPU 处理器最明显的优势是信息处理能力快。NPU 采用了“数据驱动并行计算”架构,颠覆了 CPU 所采用的传统冯·诺依曼计算机架构,这种数据流类型的处理器大大提升了计算能力与功耗的比率。NPU 特别适合处理视频、图像类的海量多媒体数据的场景,不仅速度比 CPU 要高出 100 ~ 1000 倍,同时功耗也远远低于 CPU。 您可以通过阿里云 Kubernetes 集群 + ALI NPU 运行机器学习,图像处理等高运算密度等任务,实现快速部署和弹性扩缩容等功能。 说明 如果想了解 ALI NPU 的相关信息,请参见 AliNPU Website。 本文将以创建 Kubernetes 集群时,添加 ecs.ebman1.26xlarge 实例为例说明如何使用 NPU。 创建集群过程中,容器服务会进行如下操作: 创建 ECS,配置管理节点到其他节点的 SSH 的公钥登录,通过 CloudInit 安装配置 Kubernetes 集群。 创建安全组,该安全组允许 VPC 入方向全部 ICMP 端口的访问。 如果您不使用已有的 VPC 网络,会为您创建一个新的 VPC 及 VSwitch,同时为该 VSwitch 创建 SNAT。 创建 VPC 路由规则。 创建 NAT 网关及 EIP。 创建 RAM 子账号和 AccessKey,该子账号拥有 ECS 的查询、实例创建和删除的权限,添加和删除云盘的权限,SLB 的全部权限,云监控的全部权限,VPC 的全部权限,日志服务的全部权限,NAS 的全部权限。Kubernetes 集群会根据用户部署的配置相应的动态创建 SLB,云盘,VPC路由规则。 创建内网 SLB,暴露 6443 端口。 创建公网 SLB,暴露 6443、8443和 22 端口(如果您在创建集群的时候选择开放公网 SSH 登录,则会暴露 22 端口;如果您选择不开放公网 SSH 访问,则不会暴露 22 端口)。 使用限制 随集群一同创建的负载均衡实例只支持按量付费的方式。 Kubernetes 集群仅支持专有网络 VPC。 每个账号默认可以创建的云资源有一定的配额,如果超过配额创建集群会失败。请在创建集群前确认您的配额。 如果您需要提高配额,请提交工单申请。 每个账号默认最多可以创建 5 个集群(所有地域下),每个集群中最多可以添加 40 个节点。如果您需要创建更多的集群或者节点,请提交工单申请。 说明 Kubernetes 集群中,VPC 默认路由条目不超过48条,意味着 Kubernetes 集群使用 VPC 时,默认节点上限是 48 个,如果需要更大的节点数,需要您先对目标 VPC 开工单,提高 VPC 路由条目,再对容器服务提交工单。 每个账号默认最多可以创建 100 个安全组。 每个账号默认最多可以创建 60 个按量付费的负载均衡实例。 每个账号默认最多可以创建 20 个EIP。 ECS 实例使用限制: 仅支持 CentOS 操作系统。 支持创建按量付费和包年包月的 ECS 实例。 说明 实例创建后,您可以通过 ECS 管理控制台将按量付费转预付费,请参见按量付费转包年包月。 创建 NPU 型 Kubernetes 集群 登录容器服务管理控制台。 在 Kubernetes 菜单下,单击左侧导航栏的集群 > 集群,单击页面右上角的创建 Kubernetes 集群。 在选择集群模板页面,选择异构计算专有集群页面,并单击创建,进入Kubernetes 专有版页面。 本例中创建的是异构计算专有集群,您也可以在选择集群模板时选择异构计算托管集群并进行以下操作。选择集群模板 说明 为了创建 NPU 集群,通常情况下,Worker 节点使用 NPU 类型的 ECS。集群其他参数配置,请参见创建 Kubernetes 集群。 设置 Worker 节点的配置信息。本例中将 Worker 节点作为 NPU 工作节点,选择 NPU 计算型实例规格 ecs.ebman1.26xlarge。 若您选择新增实例,则需要选择 Worker 节点的系列和规格,以及需要创建的 Worker 节点的数量(本示例创建 2 个 NPU 节点,实例类型为 ecs.ebman1.26xlarge)。 设置节点 若您选择添加已有实例,则需要预先在此地域下创建 NPU 云服务器。请参见实例规格族。 完成其他配置后,单击创建集群,启动部署。 集群创建成功后,单击左侧导航栏中的集群 > 节点,进入节点列表页面。 选择所需的集群,选择创建集群时配置的 Worker 节点,单击操作列的更多 > 详情,查看该节点挂载的 NPU 设备。 配置私有镜像密钥 如果您需要使用阿里云提供的 NPU 类型的 Docker 镜像,可以联系与您对接的客户经理或销售人员,获取一个已授权的账号。下载 Docker 镜像并在 Kubernetes 集群中配置私有镜像密钥。 在 Kubernetes 菜单下,单击左侧导航栏的集群 > 集群,进入集群列表页面。 选择所需的集群并单击操作列更多 > 通过 CloudShell 管理集群。 集群连接成功后,界面显示如下:显示结果 执行以下命令,创建一个 docker-registry 类型的 secret。 kubectl create secret docker-registry regsecret --docker-server=registry.cn-shanghai.aliyuncs.com --docker-username=<your_username> --docker-password=<your_password> 说明 regsecret:指定密钥的键名称,可自行定义。 --docker-server:指定 Docker 仓库地址。 --docker-username:获取的账号。 --docker-password:获取的密码。 在 Pod 的配置文件中添加 secret,拉取NPU类型的私有镜像。 apiVersion: v1 kind: Pod metadata: name: test-npu spec: containers: - name: <容器名称> image: registry.cn-shanghai.aliyuncs.com/hgai/<NPU类型的docker镜像> imagePullSecrets: - name: <secret名称> 说明 imagePullSecrets 是声明拉取镜像时需要指定密钥。 regsecret 必须和步骤3生成密钥的键名一致。 image 中的 Docker 仓库名称必须和 --docker-server 中的 Docker 仓库名一致。 使用 NPU 资源 如果某一个 Pod 需要使用 NPU 资源,需要在resources.limits定义aliyun.com/npu的值。 apiVersion: v1 kind: Pod metadata: name: <pod名称> spec: containers: - name: <容器名称> image: <镜像名称> resources: limits: aliyun.com/npu: <请求npu资源数> 运行 TensorFLow 的 NPU 实验环境 您可以在集群中使用 NPU 资源完成模型训练。本例中,将会启动一个使用 NPU 资源的 Pod 进行模型训练。 连接集群,请参见在CloudShell上通过kubectl管理Kubernetes集群 。 在 CloudShell 界面执行以下操作。 cat > test-pod.yaml <<- EOF apiVersion: v1 kind: Pod metadata: name: test-npu-pod spec: restartPolicy: Never imagePullSecrets: - name: regsecret containers: - name: resnet50-npu image: registry.cn-shanghai.aliyuncs.com/hgai/tensorflow:v1_resnet50-tensorflow1.9.0-toolchain1.0.2-centos7.6 resources: limits: aliyun.com/npu: 1 # requesting NPUs EOF 执行如下命令,创建 Pod。 kubectl apply -f test-pod.yaml 执行以下命令,查看 Pod 的状态。 kubectl get po test-npu-pod 说明 如果Pod 为 Error 状态,请执行kubectl logs test-npu-pod命令监听 Pod 日志,并排查修改。 执行结果 等待一段时间后,您可以通过执行如下命令查看 Pod 的状态。 kubectl get po test-npu-pod 如果查看到 Pod 的状态为 Completed,再执行如下命令查看日志。 kubectl logs test-npu-pod 此时看到日志显示结果如下,表示训练任务完成。 2019-10-30 12:10:50.389452: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA 100%|##########| 98/98 [00:26<00:00, 3.67it/s] resnet_v1_50, result = {'top_5': 0.9244321584701538, 'top_1': 0.7480267286300659}

1934890530796658 2020-03-27 10:02:57 0 浏览量 回答数 0

问题

容器服务 基本概念

青蛙跳 2019-12-01 21:32:38 529 浏览量 回答数 0

问题

#云市场docker征文#我在阿里云里docker工具的尝试

youngman 2019-12-01 21:08:49 7937 浏览量 回答数 2

回答

服务网格 ASM 主要适用于需要对应用服务进行流量管理、安全管理、故障恢复、观测监控以及微服务架构迁移的应用场景。本文介绍 ASM 的常见应用场景。 流量管理 通过 ASM,可以轻松实现基于配置的流量管理: 将流量管理与基础设施管理分隔开来,并提供了许多立于应用代码之外的流量管理功能,在部署规模逐步扩大的过程中帮助简化流量管理。 管理服务网格的服务发现、流量路由和负载均衡,简化服务级属性的配置,例如超时和重试等。 服务安全 通过 ASM,可以轻松实现服务之间的双向 TLS 认证: 支持以渐进方式实现 mTLS 双向认证,可以确保服务间通信以及最终用户与服务之间通信的安全。 双向 TLS 认证在实现过程中不需要更改服务代码,可以为每个服务提供基于角色的强大身份认证机制,以实现跨集群、跨云端的交互操作。 通过 ASM,可以轻松实现服务之间的授权: 借助 Istio 授权机制,ASM 确保只能从经过严格身份认证和授权的客户端访问包含敏感数据的服务。 支持对网格中的服务进行基于命名空间级别、服务级别和方法级别的访问权限控制,包括使用基于角色的语义、服务到服务和最终用户到服务的授权,并在角色和角色绑定方面提供灵活的自定义属性支持。 通过 ASM,可以轻松实现密钥管理: 基于 Istio 的密钥管理系统,支持自动生成、分发、轮换与撤消密钥和证书。 故障恢复 通过 ASM,可以轻松实现开箱即用的故障恢复功能: 分布式系统存在高度复杂性,在基础设施、应用逻辑、运维流程等环节都可能存在稳定性风险导致业务系统的失效。 提供了基于 Istio 的混沌工程能力,包括如何使用连接池配置和异常检测实现熔断能力,支持针对服务的重试和故障注入等能力。 服务可观测性 通过 ASM,可以轻松实现服务之间的可观测性,借助强大可靠且易于使用的监控功能,快速有效地检测和修复问题。 通过集成的阿里云链路追踪服务,为分布式应用的开发者提供完整的调用链路还原、调用请求量统计、链路拓扑、应用依赖分析等工具,帮助开发者快速分析和诊断分布式应用架构下的性能瓶颈,提高开发诊断效率。 微服务架构 通过 ASM,可以实现敏捷开发和部署落地,加速企业业务迭代。企业生产环境中,通过合理微服务拆分,将每个微服务应用存储在阿里云镜像仓库帮您管理。您只需迭代每个微服务应用,由阿里云提供调度、编排、部署和灰度发布能力。 负载均衡和服务发现支持 4 层和 7 层的请求转发和后端绑定。 丰富的调度和异常恢复策略支持服务级别的亲和性调度,支持跨可用区的高可用和灾难恢复。 微服务监控和弹性伸缩支持微服务和容器级别的监控,支持微服务的自动伸缩。

1934890530796658 2020-03-20 19:39:40 0 浏览量 回答数 0

回答

本文为您介绍容器服务 ACK 中涉及的几个基本概念,以便于您更好地理解 ACK 产品。 基本概念 集群 一个集群指容器运行所需要的云资源组合,关联了若干服务器节点、负载均衡、专有网络等云资源。 托管集群(Managed Kubernetes Cluster) 只需创建 Worker 节点,Master 节点由容器服务创建并托管。具备简单、低成本、高可用、无需运维管理 Kubernetes 集群 Master 节点的特点。 专有集群(Dedicated Kubernetes Cluster) 需要创建3个 Master(高可用)节点及若干 Worker 节点,可对集群基础设施进行更细粒度的控制,需要自行规划、维护、升级服务器集群。 Serverless集群(Serverless Kubernetes Cluster) 无需创建和管理 Master 节点及 Worker 节点,即可通过控制台或者命令配置容器实例的资源、指明应用容器镜像以及对外服务的方式,直接启动应用程序。 节点 一台服务器(可以是虚拟机实例或者物理服务器)已经安装了 Docker Engine,可以用于部署和管理容器;容器服务的 Agent 程序会安装到节点上并注册到一个集群上。集群中的节点数量可以伸缩。 容器 一个通过 Docker 镜像创建的运行实例,一个节点可运行多个容器。 镜像 Docker 镜像是容器应用打包的标准格式,在部署容器化应用时可以指定镜像,镜像可以来自于 Docker Hub,阿里云镜像服务,或者用户的私有 Registry。镜像 ID 可以由镜像所在仓库 URI 和镜像 Tag(缺省为 latest)唯一确认。 Kubernetes 相关概念 管理节点(Master Node) 管理节点是 Kubernetes 集群的管理者,运行着的服务包括 kube-apiserver、kube-scheduler、kube-controller-manager、etcd 和容器网络等组件。一般3个管理节点组成 HA 的架构。 工作节点(Worker Node) 工作节点是 Kubernetes 集群中承担工作负载的节点,可以是虚拟机也可以是物理机。工作节点承担实际的 Pod 调度以及与管理节点的通信等。一个工作节点上的服务包括 Docker 运行时环境、kubelet、Kube-Proxy 以及其它一些可选的 Addon 组件。 命名空间(Namespace) 命名空间为 Kubernetes 集群提供虚拟的隔离作用。Kubernetes 集群初始有 3 个命名空间,分别是默认命名空间 default、系统命名空间 kube-system 和 kube-public ,除此以外,管理员可以创建新的命名空间以满足需求。 Pod Pod 是 Kubernetes 部署应用或服务的最小的基本单位。一个 Pod 封装多个应用容器(也可以只有一个容器)、存储资源、一个独立的网络 IP 以及管理控制容器运行方式的策略选项。 副本控制器(Replication Controller,RC) RC 确保任何时候 Kubernetes 集群中有指定数量的 pod 副本(replicas)在运行。通过监控运行中的 Pod 来保证集群中运行指定数目的 Pod 副本。指定的数目可以是多个也可以是 1 个;少于指定数目,RC 就会启动运行新的 Pod 副本;多于指定数目,RC 就会终止多余的 Pod 副本。 副本集(Replica Set,RS) ReplicaSet(RS)是 RC 的升级版本,唯一区别是对选择器的支持,RS 能支持更多种类的匹配模式。副本集对象一般不单独使用,而是作为 Deployment 的理想状态参数使用。 部署(Deployment) 部署表示用户对 Kubernetes 集群的一次更新操作。部署比 RS 应用更广,可以是创建一个新的服务,更新一个新的服务,也可以是滚动升级一个服务。滚动升级一个服务,实际是创建一个新的 RS,然后逐渐将新 RS 中副本数增加到理想状态,将旧 RS 中的副本数减小到 0 的复合操作;这样一个复合操作用一个 RS 是不太好描述的,所以用一个更通用的 Deployment 来描述。不建议您手动管理利用 Deployment 创建的 RS。 服务(Service) Service 也是 Kubernetes 的基本操作单元,是真实应用服务的抽象,每一个服务后面都有很多对应的容器来提供支持,通过 Kube-Proxy 的 port 和服务 selector 决定服务请求传递给后端的容器,对外表现为一个单一访问接口,外部不需要了解后端如何运行,这给扩展或维护后端带来很大的好处。 标签(labels) Labels 的实质是附着在资源对象上的一系列 Key/Value 键值对,用于指定对用户有意义的对象的属性,标签对内核系统是没有直接意义的。标签可以在创建一个对象的时候直接赋予,也可以在后期随时修改,每一个对象可以拥有多个标签,但 key 值必须唯一。 存储卷(Volume) Kubernetes 集群中的存储卷跟 Docker 的存储卷有些类似,只不过 Docker 的存储卷作用范围为一个容器,而 Kubernetes 的存储卷的生命周期和作用范围是一个 Pod。每个 Pod 中声明的存储卷由 Pod 中的所有容器共享。支持使用 Persistent Volume Claim 即 PVC 这种逻辑存储,使用者可以忽略后台的实际存储技术,具体关于 Persistent Volumn(pv)的配置由存储管理员来配置。 持久存储卷(Persistent Volume,PV)和持久存储卷声明(Persistent Volume Claim,PVC) PV 和 PVC 使得 Kubernetes 集群具备了存储的逻辑抽象能力,使得在配置 Pod 的逻辑里可以忽略对实际后台存储技术的配置,而把这项配置的工作交给 PV 的配置者。存储的 PV 和 PVC 的这种关系,跟计算的 Node 和 Pod 的关系是非常类似的;PV 和 Node 是资源的提供者,根据集群的基础设施变化而变化,由 Kubernetes 集群管理员配置;而 PVC 和 Pod是资源的使用者,根据业务服务的需求变化而变化,由 Kubernetes 集群的使用者即服务的管理员来配置。 Ingress Ingress 是授权入站连接到达集群服务的规则集合。你可以通过 Ingress 配置提供外部可访问的 URL、负载均衡、SSL、基于名称的虚拟主机等。用户通过 POST Ingress 资源到 API server 的方式来请求 Ingress。 Ingress controller 负责实现 Ingress,通常使用负载均衡器,它还可以配置边界路由和其他前端,这有助于以 HA 方式处理流量。

1934890530796658 2020-03-26 11:23:18 0 浏览量 回答数 0

问题

Swarm 集群DevOps的基于 Jenkins 的持续交付

反向一觉 2019-12-01 21:19:59 2414 浏览量 回答数 0

问题

开发者论坛一周精粹(第四十三期) 物联网全栈教程 ECSphp版本降级

福利达人 2019-12-01 22:06:51 4936 浏览量 回答数 0

回答

本文以编写 Hello World 函数为例,演示了在函数计算中如何使用 Fun 创建函数。 背景信息 Fun 是函数计算提供的应用部署工具,可以帮助您便捷地管理函数计算、API 网关、日志服务等资源,快速部署应用。 前提条件 您已注册阿里云账号,并开通函数计算服务。若未开通函数计算服务,请进入函数计算控制台开通。 您的电脑已安装 Fun,安装的详细步骤,请参见 Fun 的安装。 操作步骤 步骤一:配置 Fun 您需要先初始化账号信息,执行以下命令对账号进行配置。 fun config 您需要根据提示依次配置 AccountID(主账号 ID)、AccessKey ID、Secret AccessKey、 Default Region Name。完成配置后,Fun 会将配置保存到用户目录下的 .fcli/config.yaml 文件中。 配置 Fun 的更多操作,请参见使用 fun config 配置 funcraft。您可以登录函数计算控制台,在右上角获取当前账号的 AccountID 和 AccessKey 信息。 1 注意:如果您的账号是子账号,AccountID 需要是主账号的 AccountID、Access Key ID、Secret Access Key 是子账号的密钥。 步骤二:创建初始化模板 配置好 Fun 后,执行以下命令初始化一个模板项目。 fun init -n demo 2 您可以根据提示选择一个您熟悉语言的项目模板,其中以 event- 为前缀的模板是普通的事件函数,以 http-trigger 为前缀的模板会默认为您创建 HTTP 触发器,以 request、response 为入参,帮助您快速搭建 Web 应用。 本示例中选择 event-nodejs10 的模板。 Fun 在我们执行命令的目录下,创建了一个 demo 的目录,并添加了两个文件,分别是 index.js和 template.yml。 index.js 包含了函数的示例代码。 本示例创建了一个返回 hello world 的函数。 template.yml 会告诉 Fun 如何创建函数资源。 本示例为您创建了一个名为 demo 的服务与一个名为 demo 的函数。 template.yml 文件支持的配置项请参见 Serverless Application Model 。 步骤三:本地调试 注意:本地调试需要您本地安装 Docker,如果您本地无法安装 Docker,可以跳过此步骤,在云端调试。 进入 demo 目录,在本地执行函数。第一次执行会拉取执行环境的镜像到本地,耗时较长请耐心等待。 cd demo fun local invoke demo 3 步骤四:部署到云端 本地测试完成后,即可执行以下命令将函数部署到云端。 fun deploy 中途需要您确认需要创建的资源,输入 Y 确认,创建完成后会提示 service demo deploy success 就代表您的资源已经部署成功了。4 步骤五:云端测试 您可以登录函数计算控制台,查看是否部署成功。 登录函数计算控制台,选择您在初始化 Fun 时配置的地方,单击左侧导航栏服务-函数。 找到名为 demo 的服务和名为 demo 的函数,单击进入,即可在控制台查看并执行函数。 进入函数并单击执行,即可在函数计算控制台执行函数。5 步骤六:查看日志 每次执行完毕,可以在当前页面查看本次执行日志。如果需要查看历史执行日志,可以单击日志查询,这需要您为函数配置日志仓库,详情请参见函数日志。 进阶教程 完成以上教程后您可以根据使用场景学习以下文章: 使用触发器 使用函数计算搭建 Web 应用

1934890530796658 2020-03-27 16:18:46 0 浏览量 回答数 0

问题

【精品问答】Java技术1000问(1)

问问小秘 2019-12-01 21:57:43 35864 浏览量 回答数 11

问题

云效使用指南:持续交付:(待迁移)应用构建与发布

行者武松 2019-12-01 22:00:28 1443 浏览量 回答数 0

问题

容器服务的分布式模型训练

反向一觉 2019-12-01 21:23:08 1684 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 云栖号物联网 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 云栖号弹性计算 阿里云云栖号 云栖号案例 云栖号直播