前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《TKE学习》制作业务镜像并部署服务(三)

《TKE学习》制作业务镜像并部署服务(三)

原创
作者头像
baron
修改2019-11-20 10:09:34
1K0
修改2019-11-20 10:09:34
举报

操作场景

本文档旨在帮助大家了解如何在TKE上部署一个 Hello World 的 Node.js 版的服务。

前提条件

  • 已在TKE上创建集群。
  • 已登录节点,且该节点已安装 Node.js。

操作步骤

编写代码制作镜像

编写应用程序

1、依次执行以下命令,创建并进入 hellonode 的文件夹。

代码语言:txt
复制
    mkdir hellonode
    cd hellonode/

2、执行以下命令,新建并打开 server.js 文件。

代码语言:txt
复制
   vim server.js

3、按 “i” 或 “insert” 切换至编辑模式,将以下内容输入 server.js。

代码语言:txt
复制
   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”,保存文件并返回。如下图:

Snipaste_2019-11-19_17-17-28.png
Snipaste_2019-11-19_17-17-28.png

4、执行以下命令,执行 server.js 文件。

代码语言:txt
复制
   node server.js

再次登录节点,执行以下命令。

代码语言:txt
复制
     curl 127.0.0.1:80

显示如下,则说明 Hello World 程序运行成功。

Snipaste_2019-11-19_17-19-41.png
Snipaste_2019-11-19_17-19-41.png
创建 Docker 镜像

1、依次执行以下命令,在 hellonode 文件夹下,创建 Dockerfile 文件。

代码语言:txt
复制
   cd /hellonode
   vim Dockerfile

2、按 “i” 或 “insert” 切换至编辑模式,将以下内容输入 Dockerfile 文件。

代码语言:txt
复制
   FROM node:4.4
   EXPOSE 80
   COPY server.js .
   CMD node server.js

按 “Esc”,输入 “:wq”,保存文件并返回。如下图所示:

Snipaste_2019-11-19_17-22-00.png
Snipaste_2019-11-19_17-22-00.png

3、执行以下命令,构建镜像。

代码语言:txt
复制
   docker build -t hello-node:v1 .

如下图所示:

Snipaste_2019-11-19_17-25-30.png
Snipaste_2019-11-19_17-25-30.png

4、执行以下命令,查看构建好的 hello-node 镜像。

代码语言:txt
复制
   docker images 

显示结果如下,则说明 hello-node 镜像已成功构建,记录其 IMAGE ID。如下图所示:

Snipaste_2019-11-19_17-26-56.png
Snipaste_2019-11-19_17-26-56.png
上传该镜像到 qcloud 镜像仓库

依次执行以下命令,上传镜像到 qcloud 仓库。

代码语言:txt
复制
sudo docker login --username=[username] ccr.ccs.tencentyun.com
sudo docker tag IMAGEID ccr.ccs.tencentyun.com/命名空间/helloworld:v1
sudo docker push ccr.ccs.tencentyun.com/命名空间/helloworld:v1

显示以下结果,则说明登陆成功。

Snipaste_2019-11-19_17-32-45.png
Snipaste_2019-11-19_17-32-45.png

显示以下结果,则说明镜像上传成功。

Snipaste_2019-11-19_17-35-57.png
Snipaste_2019-11-19_17-35-57.png

通过该镜像创建 Hello World 服务

1、登录 腾讯云容器服务控制台

2、单击左侧导航栏中【集群】,进入“集群管理”页面。

3、单击需要创建服务的集群 ID,进入工作负载 Deployment 详情页,选择【新建】。

4、在“新建Workload”页面,根据以下提示,设置工作负载基本信息。如下图所示:

  • 工作负载名:输入要创建的工作负载的名称,本文以 helloworld 为例。
  • 描述:填写工作负载的相关信息。
  • 标签:key = value 键值对,本例中标签默认值为 k8s-app = helloworld
  • 命名空间:根据实际需求进行选择。
  • 类型:根据实际需求进行选择。
  • 数据卷:根据实需求设置工作负载的挂载卷。
Snipaste_2019-11-19_17-39-45.png
Snipaste_2019-11-19_17-39-45.png

5、设置实例内容器,输入实例内容器名称,本文以 helloworld 为例。

6、单击【选择镜像】(其它保持默认设置)。如下图所示:

Snipaste_2019-11-19_17-41-20.png
Snipaste_2019-11-19_17-41-20.png

在弹出框中选择【我的镜像】,通过搜索框功能查找出 helloworld 镜像,并单击 【确定】。如下图所示:

Snipaste_2019-11-19_17-42-28.png
Snipaste_2019-11-19_17-42-28.png

7、设置实例数量,如下图所示:

  • 手动调节:设定实例数量,本文实例数量设置为1。可单击“+”或“-”控制实例数量。
  • 自动调节:满足任一设定条件,则自动调节实例(pod)数目。

8、根据以下提示,进行工作负载的访问设置。如下图所示:

  • Service:勾选“启用”。
  • 服务访问方式:选择“提供公网访问”。
  • 负载均衡器:根据实际需求进行选择。
  • 端口映射
代码语言:txt
复制
 :选择 TCP 协议,将容器端口和服务端口都设置为80 。

9、单击【创建Workload】,完成 Hello World 服务的创建。

访问 Hello World 服务

可通过以下两种方式访问 Hello World 服务。

通过负载均衡 IP 访问 Hello World 服务

1、单击左侧导航栏中【集群】,进入 “集群管理” 页面。

2、单击 Hello World 服务所在的集群 ID,选择【服务】>【Service】。

3、在服务管理页面,复制服务的负载均衡 IP,如下图所示:

Snipaste_2019-11-19_17-44-43.png
Snipaste_2019-11-19_17-44-43.png
通过服务名称访问 Hello World 服务

集群内的其他服务或容器可以直接通过服务名称访问。

验证 Hello World 服务

访问服务时显示如下,则 Hello World 服务创建成功。

Snipaste_2019-11-19_17-46-20.png
Snipaste_2019-11-19_17-46-20.png

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 操作场景
  • 前提条件
  • 操作步骤
    • 编写代码制作镜像
      • 编写应用程序
      • 创建 Docker 镜像
      • 上传该镜像到 qcloud 镜像仓库
    • 通过该镜像创建 Hello World 服务
      • 访问 Hello World 服务
        • 通过负载均衡 IP 访问 Hello World 服务
        • 通过服务名称访问 Hello World 服务
      • 验证 Hello World 服务
      相关产品与服务
      负载均衡
      负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档