[kubernetes]创建nodejs项目

需要先修改crm的server.js修改端口为80

Dockfile

FROM  harbor.aircourses.com/kubernetes/nodebase:9.6.0
MAINTAINER PDABC Enterprise Container Images <[email protected]>

# 将Order目录拷贝到镜像里
ADD ./web/crm /data/web/crm

# 指定工作目录
WORKDIR /data/web/crm

# 安装依赖及构建node应用
#RUN npm install
#RUN npm build
#RUN npm install pm2
# 配置系统变量,指定端口
ENV HOST 0.0.0.0
#ENV PORT 8103

# 将端口8081开放
#EXPOSE 8103

# 容器启动命令
ENTRYPOINT ["sh", "/data/web/crm/start.sh"]

docker build -t harbor.aircourses.com/kubernetes/web-crm:v2 .

#docker run -it --name web-crm harbor.aircourses.com/kubernetes/web-crm:v2

deployment-web-crm.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: pre-web-crm
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: pre-web-crm
  template:
    metadata:
      labels:
        app: pre-web-crm
        env: pre
    spec:
      containers:
      - name: pre-web-crm
        image: harbor.aircourses.com/kubernetes/web-crm:v2
        ports:
        - name: http
          containerPort: 80
      imagePullSecrets:
        - name: myregistrykey

svc-web-crm.yaml

apiVersion: v1
kind: Service
metadata:
  name: pre-web-crm
  namespace: default
spec:
  type: ClusterIP
  selector:
    app: pre-web-crm
    env: pre
  ports:
  - name: http
    port: 80
    targetPort: 80

ingress-web-crm-whitelist.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    #nginx.ingress.kubernetes.io/whitelist-source-range: "60.191.70.64/29, 192.168.0.0/16, 47.111.185.111, 47.97.113.64, 47.99.246.58, 47.111.170.245, 47.111.247.117, 47.99.244.221, 47.110.144.233, 47.110.144.233, 121.41.103.54, 121.40.186.211, 121.40.16.165, 121.40.16.63, 60.191.70.66 ,60.191.70.68"
    nginx.ingress.kubernetes.io/ssl-redirect: 'false'
  name: pre-web-crm
spec:
  tls:
   - hosts:
     - k8s-web-demo.aircourses.com
     secretName: aircourses
  rules:
    - host: k8s-web-demo.aircourses.com
      http:
        paths:
        - path: /
          backend:
            serviceName: pre-web-crm
            servicePort: 80

可以直接curl svc的80测试

应用之后如下

https://k8s-web-demo.aircourses.com/#/login

发布了300 篇原创文章 · 获赞 25 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/xujiamin0022016/article/details/104393549