如何解决在Kubernetes部署中无法获取/? [英] how to resolve Cannot GET / in a kubernetes deployment?

查看:86
本文介绍了如何解决在Kubernetes部署中无法获取/?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个名为 process-core的node.js应用程序,它具有运行另一个名为 page-core的node.js应用程序的主要逻辑。通过 Process-core,我正在部署分发文件夹(静态内容)的页面核心应用程序。我正在使用kubernetes进行部署。

I have an node.js application called "process-core" which has the main logic to run another node.js app called "page-core".Through "Process-core" I am deploying the distribution folder(static contents) of the "page-core" application.I am deploying this using kubernetes.

用于为进程核心构建映像的dockerfile

dockerfile used to build image for "process-core"

FROM node:8

RUN mkdir -p usr/src/app

WORKDIR /usr/src/app

COPY . .

WORKDIR /usr/src/app

RUN npm install

CMD [ "npm","start" ]

我的server.js就像这样-

my server.js goes like this-

var express = require('express');
var cors = require('cors')
var app = express();
var path = require('path');
var router = express.Router();
var request = require('request');

var api = require('./server/api.js')

const base_url = 'http://localhost:8080/api/';
const static_dir = '/home/vignesh/page-core-devbranch/dist';  // location of 
const assets_dir = path.join(__dirname + '/server/assets/');      dist folder
const tools_dir = path.join(__dirname + '/server/tools/');
const index_file = path.join(static_dir + '/index.html');

/* static */
app.use(cors())
app.use(express.static(static_dir));
app.use('/assets', express.static(assets_dir));
app.use('/tools', express.static(tools_dir));



/* listen */
app.listen(5000);

node.yaml

node.yaml

apiVersion: v1
kind: Service
metadata:
  labels:
    node: test
  name: nodetest
spec:
  ports:
  - nodePort: 30000
    port: 5000
    protocol: TCP
    targetPort: 5000
  selector:
    node: test
  type: NodePort

---

apiVersion: v1
kind: Pod
metadata:
  name: nodetest
  labels:
    node: test
spec:
  containers:
  - name: node-test
    image: suji165475/devops-sample:processcore
    ports:
    - containerPort: 5000

当我按下 http://206.189.22.155:30000/ 我收到一条错误消息,说无法获取/

When I hit http://206.189.22.155:30000/ i get an error saying Cannot GET /

推荐答案

FROM node:8

RUN mkdir -p usr/src/app

WORKDIR /usr/src/app

COPY . .

WORKDIR /usr/src/app

RUN npm install

EXPOSE 5000

CMD [ "npm","start" ]

您尚未在docker文件中公开docker镜像的端口,请添加一行作为 EXPOSE 5000 从Docker容器中打开容器端口5000。

You have not expose port from docker image in docker file please add one line as EXPOSE 5000 to open the container port 5000 from docker container.

这篇关于如何解决在Kubernetes部署中无法获取/?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆