操作场景
本文档旨在帮助您了解如何快速创建一个容器集群内的 Hello World 的 Node.js 版的服务。更多关于如何构建 Docker 镜像的教程可参阅 如何构建 docker 镜像。
前提条件
已创建集群,详情请参见 创建集群。已登录节点,且该节点已安装 Node.js。详情请参见 镜像部署 Node.js 环境。
操作步骤
编写代码制作镜像
编写应用程序
1. 依次执行以下命令,创建并进入 hellonode 的文件夹。
mkdir hellonode
cd hellonode/
2. 执行以下命令,新建并打开 server.js 文件。
vim server.js
3. 按 i 切换至编辑模式,将以下内容输入 server.js。
var http = require('http');var handleRequest = function(request, response) { console.log('Received request for URL: ' + request.url); response.writeHead(200); response.end('Hello World!');};var www = http.createServer(handleRequest);www.listen(80);
按 “Esc”,输入 :wq
,保存文件并返回。4. 执行以下命令,执行 server.js 文件。
node server.js
5. 测试 Hello World 程序。方式1:再次登录节点,执行以下命令。
curl 127.0.0.1:80
显示如下,则说明 Hello World 程序运行成功。

方式2:打开本地浏览器,以 云服务器实例的公网IP地址:已配置的端口号
的形式访问,端口号为80。
显示如下,则说明 Hello World 程序运行成功。

创建 Docker 镜像
1. 依次执行以下命令,在 hellonode 文件夹下,创建 Dockerfile 文件。
cd hellonode
vim Dockerfile
2. 按 i 切换至编辑模式,将以下内容输入 Dockerfile 文件。
FROM node:4.4EXPOSE 80COPY server.js .CMD node server.js
按 “Esc”,输入 :wq
,保存文件并返回。3. 该节点安装 docker,并启动 docker 服务。
yum install -y dockersystemctl start docker
4. 执行以下命令,构建镜像。
docker build -t hello-node:v1 .
5. 执行以下命令,查看构建好的 hello-node 镜像。
docker images
显示结果如下,则说明 hello-node 镜像已成功构建,记录其 IMAGEID。如下图所示:

上传该镜像到 qcloud 镜像仓库
创建容器镜像服务个人版实例,详情请参见容器镜像服务个人版快速入门。依次执行以下命令,上传镜像到 qcloud 镜像仓库。
docker tag IMAGEID ccr.ccs.tencentyun.com/命名空间/hello-node:v1
docker login ccr.ccs.tencentyun.comdocker push ccr.ccs.tencentyun.com/命名空间/hello-node:v1
说明请将命令中的 IMAGEID 替换为 查看镜像 中记录的 IMAGEID。请将命令中的命名空间替换为您已创建的命名空间。若您还没有命名空间,请先创建命名空间,详情请参见 创建命名空间。显示以下结果,则说明镜像上传成功。

通过该镜像创建 Hello World 服务
注意在创建使用 Hello World 服务之前,您必须拥有集群。若您还没有集群,请先创建集群,详情请参见 创建集群。1. 登录容器服务控制台,选择左侧导航栏中的集群。2. 在集群管理页面,选择需创建服务的集群 ID,进入集群详情页。3. 选择工作负载 > Deployment,在 Deployment 页面单击新建。如下图所示:

4. 在新建 Deployment 页面,根据以下信息,设置工作负载基本信息。如下图所示:

工作负载名:输入要创建的工作负载的名称,本文以 helloworld 为例。描述:填写工作负载的相关信息。命名空间:根据实际需求进行选择。标签:key = value 键值对,本例中标签默认值为 k8s-app = helloworld。OS 类型:根据实际需求进行选择,本文以 Linux 为例。数据卷:根据实际需求设置工作负载的挂载卷,详情请参见 Volume 管理。5. 参考以下信息设置“实例内容器”。5.1 输入实例内容器名称,本文以 helloworld 为例。5.2 单击选择镜像,在弹出框中选择我的镜像,通过搜索框功能查找出 helloworld 镜像,并单击确定。
主要参数信息如下:镜像版本(Tag):使用默认值 latest。镜像拉取策略:提供 Always、IfNotPresent 和 Never 3种策略,请按需选择。本文以不进行设置使用默认策略为例。6. 在“实例数量”中,根据以下信息设置服务的实例数量。如下图所示:

手动调节:设定实例数量,本文实例数量设置为1。可单击“+”或“-”控制实例数量。自动调节:满足任一设定条件,则自动调节实例(pod)数目。详情请参见 服务自动扩缩容。7. 根据以下提示,进行工作负载的访问设置。Service:勾选“启用”。服务访问方式:选择“公网LB访问”。负载均衡器:根据实际需求进行选择。端口映射:选择 TCP 协议,将容器端口和服务端口都设置为80 。注意服务所在集群的安全组需要放通节点网络及容器网络,同时需要放通30000 – 32768端口,否则可能会出现容器服务无法使用问题,详情请参见 容器服务安全组设置。8. 单击创建 Deployment,完成 Hello World 服务的创建。
访问 Hello World 服务
可通过以下两种方式访问 Hello World 服务。
通过负载均衡 IP 访问 Hello World 服务
1. 登录容器服务控制台,选择左侧导航栏中的集群。2. 在集群管理页面,单击 Hello World 服务所在的集群 ID,进入集群详情页。3. 选择服务与路由 > Service,在 Service 页面4. 在服务管理页面,复制 helloworld 服务的负载均衡 IP,如下图所示:

5. 在浏览器粘贴 helloworld 服务的负载均衡 IP。
通过服务名称访问 Hello World 服务
集群内的其他服务或容器可以直接通过服务名称访问。
验证 Hello World 服务
访问服务时显示如下,则 Hello World 服务创建成功。

若容器创建失败,可查看 事件常见问题。
容器服务官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/147119.html