《Istio入门与实战》
536
2022-05-30
2.3 应用的构建
如果只是跟着本书做实验,本节可以跳过,本节属于应用镜像构建部分,不会影响后面的Istio实验。了解本节内容需要掌握Docker的基础知识。
由于本书的实验重点在于如何使用Istio,如何使用本地Docker私有镜像仓库部署服务并不是我们关注的重点,所以本书实验所使用的镜像均采用阿里云镜像服务免费提供的镜像构建功能。当然,你也可以使用Docker Hub提供的镜像构建功能。下面以阿里云镜像服务为例实现镜像构建,具体步骤如下。
1.构建应用镜像
(1)上传代码到GitHub
此步骤不做详细说明,请参考相关文档了解Git和GitHub的基本使用。
(2)在阿里云上的镜像构建
阿里云镜像服务地址:https://cr.console.aliyun.com/,如下操作均在这个链接的Web上进行。
1)创建命名空间。
命名空间不能重复,请注意修改命名空间名称,如图2-2所示,可创建名为istio-lab的命名空间。
图2-2 创建命名空间
2)创建镜像仓库。
选择命名空间为上个步骤中创建的命名空间,填写要创建的镜像仓库名和简介,如service-go。注意选择仓库类型为公开,如图2-3所示。
选择已经绑定的GitHub账号和要构建的源码仓库,由于构建时需要访问国外资源,因此勾选使用海外机器构建,并取消“选择代码变更时自动构建镜像”(如果首次使用需要先绑定GitHub账号),如图2-4所示。
图2-3 创建镜像仓库(一)
图2-4 创建镜像仓库(二)
3)添加镜像构建规则。
选择要构建规则的镜像仓库,并点击“管理”按钮,出现如图2-5所示的界面。
图2-5 添加镜像构建规则(一)
选择“构建”选项卡上的“添加规则”按钮,添加镜像构建规则,如图2-6所示。
图2-6 添加镜像构建规则(二)
添加如图2-7所示的版本构建规则,实验中会使用两个版本,因此需要创建两个版本的构建规则。
图2-7 添加镜像构建规则(三)
4)构建镜像。
点击“立即构建”按钮开始构建,如果构建失败,可以通过点击日志链接查看构建日志,找出失败原因,如图2-8所示。
图2-8 构建镜像
2. 本地拉取镜像验证
镜像构建完成后,拉取到本地测试镜像是否能正常工作。具体步骤如下。
1)拉取镜像:
$ sudo docker pull registry.cn-shanghai.aliyuncs.com/istio-lab/service-go:v1
v1: Pulling from istio-lab/service-go
4fe2ade4980c: Already exists
7eb00a8eb80c: Already exists
1ed92905e9ab: Pull complete
Digest: sha256:fffe0f892ed657952afcc4bd07216fe5e30e27fae014a3c81220368cccbbd161
Status: Downloaded newer image for registry.cn-shanghai.aliyuncs.com/istio-lab/service-go:v1
2)启动容器:
$ sudo docker run -d --name service-go-v1 \
-p 8000:80 registry.cn-shanghai.aliyuncs.com/istio-lab/service-go:v1
e936daf6ccdcdcca811369fe19f6163559a4e796f6971c063cc83a05e386c2fe
$ sudo docker ps | grep service-go-v1
e936daf6ccdc registry.cn-shanghai.aliyuncs.com/istio-lab/service-go:v1 "./app" 13 seconds ago Up 12 seconds 0.0.0.0:8000->80/tcp service-go-v1
3)访问测试:
$ curl 127.0.0.1:8000/env
{"message":"go v1"}
4)清理:
$ sudo docker stop service-go-v1
service-go-v1
$ sudo docker rm service-go-v1
service-go-v1
Istio Docker 镜像服务
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。