[kubernetes]-kubernetes运行小幺鸡及邮件重置密码

第一步 拷贝数据并修改配置文件

拷贝本地mysql数据到阿里云RDS

查看配置文件xiaoyao/WEB-INF/classes/config.properties中静态文件的存放位置拷贝到nfs服务器

静态文件为/usr/local/services/xiaoyao_file

修改配置文件 调整数据库信息

如果需要开启小幺鸡邮件重置密码功能 需要把配置文件中的邮件配置改成如下

# 邮件配置
email.provider=cn.com.xiaoyaoji.extension.email.DefaultEMailProvider
[email protected]
email.smtp.server=smtp.mxhichina.com
email.smtp.port=465
[email protected]
email.password=$password

第二步 创建dockerfile 制作镜像 将小幺鸡的包考进tomcat

Dockerfile-xiaoyaoji-80

FROM harbor.aircourses.com/jiaminxu/tomcat:v7.1
MAINTAINER PDABC Enterprise Container Images <[email protected]>
COPY xiaoyao /usr/local/tomcat/webapps/ROOT
ENV JAVA_HOME /usr/local/openjdk-8
ENV CATALINA_HOME /usr/local/tomcat/
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin

ENTRYPOINT ["sh", "/usr/local/tomcat/bin/catalina.sh", "run" ]

第三步 在k8s中运行

pv.yaml

##创建nfs-PV
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: xiaoyaoji-pv
  namespace: default
  labels:
    pv: xiaoyaoji-pv
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /opt/xiaoyao_file
    server: 192.168.13.212
kubectl create -f pv.yaml

pvc.yaml

##创建 NFS-pvc
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: xiaoyaoji-pvc
  namespace: default
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 5Gi
  selector:
    matchLabels:
      pv: xiaoyaoji-pv
kubectl create -f pvc.yaml

deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
# deployment名字 和svc 和ingress绑定没关系
  name: xiaoyaoji-dp
  namespace: default
spec:
  replicas: 1
  # 在定义模板的时候必须定义labels,因为Deployment.spec.selector是必须字段,而他又必须和template.labels对应
  selector:
    matchLabels:
      app: xiaoyaoji
  # template里面定义的内容会应用到下面所有的副本集里面(例如depolyment下的pod),在template.spec.containers里面不能定义labels标签。可以kubectl get pods --show-labels查看
  template:
    metadata:
      labels:
        app: xiaoyaoji
        env: pre
    spec:
      containers:
      # containers名字 和svc 和ingress绑定没关系
      - name: xiaoyaoji
        #image: harbor.aircourses.com/jiaminxu/xiaoyaoji:v1.0
        image: harbor.aircourses.com/kubernetes/xiaoyaoji:v3.0
        volumeMounts:
        - mountPath: /usr/local/services/xiaoyao_file
          name: xiaoyao-file
        ports:
        - name: http
          containerPort: 8080
      volumes:
      - name: xiaoyao-file
        persistentVolumeClaim:
          claimName: xiaoyaoji-pvc
      imagePullSecrets:
        - name: myregistrykey
kubectl apply -f  deployment.yaml

svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: xiaoyaoji
  namespace: default
spec:
  type: ClusterIP
  selector:
    app: xiaoyaoji
    env: pre
  ports:
  - name: http
    port: 80
    targetPort: 8080
kubectl apply -f   svc.yaml

ingress.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
# 通过添加下面的annotations 来开启白名单
# 关闭80强制跳转443 为ingress配置增加注解(annotations):nginx.ingress.kubernetes.io/ssl-redirect: 'false' 就可以禁止http强制跳转至https
  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"
    nginx.ingress.kubernetes.io/ssl-redirect: 'false'
  name: xiaoyaoji
spec:
  tls:
   - hosts:
     - xiaoyaoji.aircourses.com
     secretName: aircourses
  rules:
    - host: xiaoyaoji.aircourses.com
      http:
        paths:
        - path: /
          backend:
            serviceName: xiaoyaoji
            servicePort: 80
kubectl apply -f   ingress.yaml

测试功能

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

猜你喜欢

转载自blog.csdn.net/xujiamin0022016/article/details/104687008
今日推荐