版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、容器服务快速入门容器服务/快速入门容器服务/快速入门 PAGE 21 PAGE 21快速入门通过镜像创建Nginx登录容器服务管理控制台,选择左侧边栏的应用,点击右上角的创建应用,如下所示输入应用相关信息,本示例应用名称为nginx,选择要部署到的集群,填写相关的应用描述,确定是 否需要检查节点上的镜像为最新的Docker镜像。最后点击右下角的使用镜像创建,进入创建应用页 面点击选择镜像,在搜索框中输入nginx,选中nginx,点击确定,确定了镜像的名称和镜像的版本。端口映射显示容器会监听80和443端口。为了能够通过公网访问容器内的nginx服务器,我们需要配 置路由规则,找到Web路由规
2、则表单项,在容器端口输入80,即表示访问nginx容器的80端口,在 域名下面输入nginx,域名字段只填写了域名前缀nginx,如果域名前缀为XXX,会给到域名XXX.$cluster_id.$region_供测试使用,本例中我们获得的测试域名是。点击右侧的添 加按钮,下拉表单,然后点击创建并部署。用户也可以填写自己的域名,关于如何添加用户自有的域 名,参见如何添加服务的域名。关于配置路由的容器端口和http服务的域名,详情见routing标签,关于路由服务如何将请求转发到容器,参见如何暴露服务到互联网。选择左侧边栏的应用,如下图所示,应用nginx处于创建中,点击应用nginx,进入选择应
3、用nginx提供的服务nginx(也叫nginx),点击进入服务nginx页面。查看服务nginx的访问端点,为 HYPERLINK -/ 。 HYPERLINK -/ ,即为nginx服务器的默认欢迎页面。通过编排模板创建Wordpress1.创建集群登录容器服务管理控制台,在左侧导航的集群页,点击右上角的创建集群后,跳转到下面的页面设置集群的名称,和云服务器的节点个数、规格、网络类型设置登录密码点击创建集群2.创建应用在左侧导航的应用页,点击右上角的创建应用后,跳转到下面的页面设置应用的名称、描述、版本和部署的集群点击使用编排模板创建,跳转到下面的页面选择使用已有编排模板点击wordpre
4、ss模板旁的选择 在模板编辑框,修改相应的配置.aliyun.routing.port_80: HYPERLINK http:/wordpress/ http:/wordpress 代表该容器运行成功后,来自http:/wordpress.$testDomain的请求会转发到容器的80端口.点击创建并部署,等待应用创建成功并且处于就绪状态3.访问应用域名在应用列表页面,找到刚才创建的wordpress-test应用,点击wordpress-test链接查看详情在服务列表的tab下,点击web的链接查看该服务的详情找到对应的Endpoint地址,即为访问的域名地址.在当前demo下的地址是: H
5、YPERLINK / / 友情提示,这个域名仅供测试使用.请绑定自己的域名.通过Docker客户端连接集群容器服务提供完全兼容Docker Swarm API的能力。你可以通过常用的Docker工具访问和管理Docker集群,例如docker client,Docker-compose. 更多信息参见Docker Swarm, Docker Compose获取访问地址在集群列表页面选择查看一个集群的连接信息,会弹出集群连接信息提示框:在这个截图里,访问地址是tcp:/:16639,下面的例子会使用这个证书。下载和放置证书要通过上面的服务地址访问Docker集群,你还需要配置TLS证书。在集群连
6、接信息的提示框内点击下载证书按钮,开始下载证书,下载到的文件是certFile.zip。下面的例子中mkdir /.acs/certs/ClusterName/ #不要忘了替换成真正的集群名字cd /.acs/certs/ClusterName/cp /path/to/certFile.zip . unzip certFile.zip,我们把下载的证书放在/.acs/certs/ClusterName/目录下,ClusterName是你集群的名字。你可以使用其 mkdir /.acs/certs/ClusterName/ #不要忘了替换成真正的集群名字cd /.acs/certs/Cluste
7、rName/cp /path/to/certFile.zip . unzip certFile.zip现在在这个目录里,你可以看到三个文件ca.pem, cert.pem, key.pem。使用DockerClient管理集群docker -tlsverify -tlscacert=/.acs/certs/ClusterName/ca.pem - tlscert=/.acs/certs/ClusterName/cert.pem -tlskey=/.acs/certs/ClusterName/key.pem -H=tcp:/:16639 ps #把ClusterName和tcp:/:16639替
8、换成你实际使用的路径和访问地docker -tlsverify -tlscacert=/.acs/certs/ClusterName/ca.pem - tlscert=/.acs/certs/ClusterName/cert.pem -tlskey=/.acs/certs/ClusterName/key.pem -H=tcp:/:16639 ps #把ClusterName和tcp:/:16639替换成你实际使用的路径和访问地址。export DOCKER_TLS_VERIFY=1export DOCKER_HOST=tcp:/:16639 #把tcp:/:16639替换成你实际使用的访问地e
9、xport DOCKER_TLS_VERIFY=1export DOCKER_HOST=tcp:/:16639 #把tcp:/:16639替换成你实际使用的访问地址export DOCKER_CERT_PATH=/.acs/certs/ClusterName #把ClusterName替换成你实际使用的路径docker ps上面两个例子在集群上执行了docker ps命令,你可以把ps替换成任何其他docker支持的命令,比如使用docker run启动一个新的容器。使用DockerCompose管理集群export DOCKER_TLS_VERIFY=1export DOCKER_HOST=
10、tcp:/:16639export DOCKER_TLS_VERIFY=1export DOCKER_HOST=tcp:/:16639export DOCKER_CERT_PATH=/.acs/certs/ClusterNamedocker-compose up证书吊销如果在使用过程中不慎导致证书泄露,要尽快吊销证书。在下载证书的对话框里,点击吊销已下载的证书可 以吊销以前下载过的证书,吊销之后,您可以重新下载证书,原来的证书将不能使用。注意:吊销已下载证书将导致以前下载的证书不能使用通过acsrouting路由应用暴露HTTP服务适用场景普通且简单的7层协议负载均衡,web路由服务,容器集群
11、内服务之间7层协议互相访问的通信代理和负载均衡原理如下图所示,当我们新建一个集群的时候,我们会默认给这个集群分配一个slb实例,这个slb实例会将集群中 的所有节点加入作为后端,同时前端会暴露80端口,后端所有节点的机器会暴露9080端口,我们会启动一个路 由应用,应用的名称叫acsrouting,是阿里云容器服务路由应用(Aliyun Container Service Routing)的意思,这个路由应用只有一个服务,就是路由服务,该服务是全局(global)的,也就是说每个节点(下面说到的主机 和节点都是同一个意思,即ECS的vm实例)都部署了这个服务(或者说镜像)的一个拷贝,也就是容器
12、。每个节点 都有这个容器用来路由HTTP服务或者HTTPS服务。如图所示,HTTP服务,SLB前后端端口的映射是主机与路由容器之间的端口映射是9080:80,即路由的容器暴露的是80端口,其它用作web服务 的容器可以暴露任意的端口,只要在容器启动的时候设置主机和容器端口的映射,routing服务就能获取到相应 的端口进行请求的路由。暴露HTTP服务完整示例可以参见通过镜像创建Nginx设置方式通过容器服务管理控制台进行设置通过服务的变更配置进行设置在容器服务控制台左侧边栏选择服务选项卡,在服务列表中,选择需要暴露的服务,例如该处示 例的服务是spring-boot,选择spring-boot
13、服务的变更配置在变更配置页面,配置主机和容器端口的映射,如下图所示如图,主机端口为空,表示随机暴露一个主机的端口(暴露http/https服务时,我们可以不需要知道 这个主机暴露的具体端口是什么,而是使用overlay网络或者vpc网络来直接访问容器的端口),容 器端口为8080。我们使用spring boot默认暴露web服务的8080端口来提供http服务,使用的协议是tcp协议如图,路由配置通过域名来暴露服务,须标明要暴露的端口,此处为我们的web服务8080端口。域 名字段只填写了域名前缀,如果域名前缀为XXX,会给到域名XXX.$cluster_id.$region_供测试使用,此处
14、我们拿到的域名为spring- 通过应用的模板编辑器进行设置如下图所示,选择左侧边栏的应用,选择应用wordpress的变更配置选项,进入编排模板编辑器。routing标签,定义相应的域名或者域名前缀,注意升级应用的版本,以及确 定是否拉取最新的Docker镜像,最后点击确定方能更新域名,如下图所示。通过客户端工具进行设置docker help run 查看使用的-p选项, 路由配置在容器服务管理控制台进行docker-compose 查看支持的ports选项,路由配置规则详情见routing标签给暴露公网的服务添加域名登录容器服务控制台,点击左侧边栏的服务,选择相应的集群,找到你要添加域名的
15、的服务,示例要 添加域名的服务是web,wordpress-rds,如下图所示点击该服务的变更配置选项并进入一个表单 HYPERLINK / 找到Web路由规则表项,本示例要添加的域名是,此处要注意的是,同一个 服务同一个端口的多个域名只能写在同一个条目内,并且域名和域名之间用;分隔,添加编辑保存后,点击确定按钮更新配置,如下图所示此时服务处于更新中,更新完毕变成就绪状态后,路由服务acsrouting_routing就已经将该域名配置 好了,当有请求以域名访问服务wordpress-rds_web,就能正确的解析并转 发到相应的服务了。最后还需要做的关键一步是把域名解析到容器服务的集群上面,
16、容器服务在创建集群的时候,给每一 个集群分配了一个slb实例,这个slb实例是属于用户自己的。点击容器服务控制台左侧边栏的集群,选择相应的集群,本示例是routing-test-online,点击更多操作,找到负载均衡管理,就进入到 这个集群的负载均衡slb实例页面了。例如此处找到的slb实例的服务地址是66 HYPERLINK 的地址到slb实例的服务地址/ 以万网的域名解析为例,添加A记录,绑定域名的地址到slb实例的服务地址66 HYPERLINK / 访问页面将暴露的http服务修改为https服务前置条件如果您还没有配置成功http协议的域名访问,请先了解配置http的域名访问,参考
17、文档给暴露公网的服务添加 域名操作步骤https协议,登录负载均衡管理控制台,点击左 侧边栏的证书管理,点击创建证书,输入证书的相关信息,更多详情参考slb帮助文档-证书管理,如 下所示证书创建成功后,找到创建集群时分配的slb实例。容器服务在创建集群的时候,给每一个集群分配了一个slb实例,这个slb实例是属于用户自 己的。点击容器服务控制台左侧边栏的集群,选择相应的集群,本示例是routing-test- online,点击更多操作,点击负载均衡管理进入负载均衡slb实例页面。例如此处找到的slb实例的服务地址是66+| | 协议 | 端口 |+| | 协议 | 端口 |+| 前端协议(端
18、口) | HTTPS | 443 |+| 后端协议(端口) | HTTP | 9080 |+前端协议,选择HTTPS,端口使用443端口,后端端口使用9080端口(该端口为路由服务acsrouting_routing在每一台ECS主机上暴露的端口,所有的http请求会在路由服务协议的HOSTheader转发到相应的提供各种服务的容器内),选择 HYPERLINK / 前面步骤创建的证书。其他选项根据需要进行设置。点击下一步。健康检查页面的配置如下,点击确定配置成功后确认,完成配置访问页面 HYPERLINK / 通过自定义SLB方式暴露服务暴露HTTP协议或者HTTPS协议的服务推荐使用简单路
19、由服务(即routing)的方式来暴露HTTP服务或者HTTPS协议的服务,如果开发者希望搭建自 己的路由链路,可以开通新的内网或者公网SLB实例路由到vm的端口(通过labelaliyun.lb.port_$container_port来实现),并设置主机和容器的映射关系来进行请求的路由适用场景:7层协议负载均衡,自定义各服务的路由,在将传统架构迁移到容器架构过程中非容器集群的服务访 问容器集群中容器的服务暴露TCP协议或者UDP协议的服务目前如果要暴露TCP协议的服务,需要用户自行设置SLB实例或者公网IP,并配置好主机端口与容器端口的映射(通过label aliyun.lb.port_$
20、container_port来实现)适用场景:4层协议的负载均衡,自定义各服务的路由,在将传统架构迁移到容器架构过程中非容器集群的服务 访问容器集群中容器的服务示例:通过自定义SLB的方式来将容器集群内的redis服务暴露给容器集群外的python应用首先在SLB官网控制台,购买创建一个用于路由的SLB,这里选择的是公网实例,用户可以根据自己 的需要选择公网或者内网然后给刚刚购买创建的SLB实例命名为slb_redis_app,容器服务会通过该名称来引用这个SLB创建监听端口。创建协议为tcp,端口映射为6379:6379的监听端口。如下图所示。选择一个已有的集群,创建一个名称为redis-d
21、emo的应用,点击使用镜像创建选择redis镜像,注意,此处redis镜像只是开通了容器的6379端口,为了让我们创建的SLB路由到这 个容器端口,我们必须知道redis镜像的主机:端口映射,这里我们勾选publish,选择使用的协议是TCP协议,同时指定主机端口为6379,主机端口6379即为SLB绑定的后端主机端口。aliyun.lb.port_$container_port:$scheme:/$slb_name|slb_id:$front_port为了配置自定义SLB,需要让redis服务知道使用的SLB的信息,这些信息是通过向服务注入一个标签 来实现的,标签格式如下,带$的变量为占位符
22、aliyun.lb.port_$container_port:$scheme:/$slb_name|slb_id:$front_port$container_port表示容器要暴露的端口,$scheme表示SLB监听端口支持的协议,可能的值为表示可以填写slb实例的名称或者Id,$front_port表 示slb实例要暴露的前端端口。更多详情见aliyun.lb.port_$container_port。在创建应用页面,点击更多设置,找到自定义SLB表单,这里设置我们要配置的SLB实例的信息,如 下图配置所示,对应的标签内容为aliyun.lb.port_6379:tcp:/slb_redis_app:6379。如上图所示,标签设置我们要路由到的容器端口为6379,引用前面创建的SLB名称TCP协议相呼应,这里我们设置监听端口的协议 为TCP协议,同时设置SLB的前端端口为6379,点击添加按钮。至此,我们在容器服务中引用了刚刚创建的SLBslb_redis_app,同时将SLB的前端端口,后端端口(即主机的端口),容器端口均设置为了6379(用户可以根据自己的需要设置不同的前端端口和主 机端口)点击创建并部署,redis应用即开始创建了。redis应用在创建的过程中会自动将名称为slb_redis_app的SLB实例绑定到部署了redis镜像的后端主
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏淮安市清江浦区清河街道公益性岗位招聘2人备考题库附答案详解(基础题)
- 2026河北雄安新区雄工美好生活促进中心招聘2人备考题库含答案详解(预热题)
- 2026年大连獐子岛海洋发展集团有限公司及所属企业公开招聘31人备考题库完整参考答案详解
- 2026福建南平顺昌县微光社会工作服务中心招聘备考题库及答案详解(各地真题)
- 2026云南昆明供电局招聘48人备考题库及1套参考答案详解
- 2026年跨文化产品设计的文化适应性
- 2026重庆水务环境集团所属重庆市环卫集团有限公司招聘20人备考题库及一套答案详解
- 2026江西吉安卫校招募见习人员4人备考题库有完整答案详解
- 2026西安市鄠邑区南关初级中学银龄讲学教师招聘备考题库(8人)附答案详解(黄金题型)
- 2026山东威海市文登区面向村(社区)党组织书记招聘事业单位人员1人备考题库及一套答案详解
- 2026年民生银行笔试试题及答案解析
- 2026云南玉溪通海县供销合作社社有企业招聘4人考试参考题库及答案解析
- 五月志愿服务课件:青春建功新时代 志愿奉献谱华章
- 科学学习方法小学主题班会课件
- GB/T 17889.7-2026梯子第7部分:可分离式平台梯
- 智慧树知到《大学生劳动就业法律问题解读(华东理工大学)》2026章节测试附答案
- 中国电气装备集团笔试内容
- 2026齐商银校园招聘笔试参考题库及答案解析
- 广州医科大学《有机化学》2024 - 2025 学年第一学期期末试卷
- 2026年非金属矿山三级安全教育培训试题及答案
- 中国遗传咨询指南(2025版)
评论
0/150
提交评论