需要先修改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