Tiger前端项目接入K8S手册
tiger-web项目接入K8S集群手册
请向项目的根目录中添加如下2份文件:
一、项目文件内容介绍
1.1、Dockerfile
FROM 104.168.133.40/xxx/nginx:latest
MAINTAINER damo
VOLUME /tmp
ENV LANG en_US.UTF-8
RUN echo "server { \
listen 80; \
#解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \
location / { \
root /var/www/html/; \
index index.html index.htm; \
if (!-e \$request_filename) { \
rewrite ^(.*)\$ /index.html?s=\$1 last; \
break; \
} \
} \
access_log /var/log/nginx/access.log ; \
} " > /etc/nginx/conf.d/default.conf \
&& mkdir -p /var/www \
&& mkdir -p /var/www/html \
&& mkdir -p /readiness/ready
ADD dist/ /var/www/html/
EXPOSE 80
EXPOSE 443
1.2、k8s.tpl
- DEV:https://doc.xxx.com/web/#/26/320
- TEST:https://doc.xxx.com/web/#/26/331
- UAT:https://doc.xxx.com/web/#/26/335
1.2.1、参数详解:
//默认1副本,可在jenkins发版处灵活配置;
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{APP_NAME}}
//环境的定义--勿动
namespace: tiger-dev
labels:
app: {{APP_NAME}}
spec:
replicas: {{APP_REPLICAS}}
selector:
matchLabels:
app: {{APP_NAME}}
template:
metadata:
labels:
app: {{APP_NAME}}
spec:
imagePullSecrets:
- name: harbor-secret
containers:
- name: {{APP_NAME}}
image: {{IMAGE_URL}}:{{IMAGE_TAG}}
imagePullPolicy: Always
ports:
- containerPort: 80
name: {{APP_NAME}}
//应用版本控制器,默认资源:0.2C1G, UAT环境1C1G,由于集群资源有限,请合理使用资源;
resources:
requests:
memory: 1Gi
cpu: 200m
limits:
memory: 1Gi
cpu: 200m
---
//默认应用端口80
kind: Service
apiVersion: v1
metadata:
name: {{APP_NAME}}
namespace: tiger-dev
labels:
app: {{APP_NAME}}
spec:
ports:
- name: {{APP_NAME}}
port: 80
selector:
app: {{APP_NAME}}
---
//nodePort端口,发版后通过Jenkins页面获取nodePort
apiVersion: v1
kind: Service
metadata:
name: {{APP_NAME}}-nodeport
namespace: tiger-dev
spec:
type: NodePort
ports:
- port: 80
targetPort: 80
selector:
app: {{APP_NAME}}
---
//前端项目的域名定义(spec.rules.host 定义应用的域名)
//如未解析,可通过绑定hosts实现,例如:XX.XX.XX.X {{APP_NAME}}.jeegc.com
//访问参照如下:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{APP_NAME}}
namespace: tiger-dev
spec:
rules:
- host: {{APP_NAME}}.jeegc.com
http:
paths:
- path: /
backend:
serviceName: {{APP_NAME}}
servicePort: 80
二、Jenkins发版
主要步骤:
打开jenkins ---> 点击tiger-web-projectors ---> build with parameters ---> 填写自己项目的信息 ---> 开始构建
2.1、地址:http://104.168.204.108:8888/
项目参数化发版:
发版成功信息获取:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!