阿里云k8s部署微服务yaml和Dockerfile文件脚本
- Dockerfile 文件
#基础镜像,如果本地仓库没有,会从远程仓库拉取 openjdk:8 FROM registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/java:21-anolis #暴露端口 EXPOSE 8080 #容器中创建目录 RUN mkdir -p /usr/local/cenobitor #编译后的jar包copy到容器中创建到目录内12 COPY target/codeup-demo-0.0.1.jar /usr/local/cenobitor/codeup-demo-0.0.1.jar #指定容器时区 RUN rm -f /etc/localtime \ && ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo "Asia/Shanghai" > /etc/timezone #指定容器启动时要执行的命令 ENTRYPOINT ["java","-Dserver.port=8080","-jar","/usr/local/cenobitor/codeup-demo-0.0.1.jar"]
- k8s yaml文件
apiVersion: v1 kind: Service metadata:name: codeup-demonamespace: scplabels:app: codeup-demo spec:type: ClusterIP #NodePortports:- name: 8080-8080-tcpport: 8080protocol: TCPtargetPort: 8080#nodePort: 31080 #service对外开放端口selector:app: codeup-demo --- apiVersion: apps/v1 kind: Deployment #对象类型 metadata:name: codeup-demo #名称namespace: scplabels:app: codeup-demo #标注 spec:replicas: 1 #运行容器的副本数,修改这里可以快速修改分布式节点数量progressDeadlineSeconds: 600 #在Deployment 在进度卡住6分钟后报告minReadySeconds: 10 #Pod被认为是可用状态的最小秒数。默认是0strategy:rollingUpdate:maxSurge: 1 #升级过程中激增Pod的最大数量maxUnavailable: 0 #升级过程中不可用Pod的最大数量type: RollingUpdateselector:matchLabels:app: codeup-demotemplate:metadata:labels:app: codeup-demospec:containers: #docker容器的配置- name: codeup-demo#image: shpl-acr-registry.cn-shanghai.cr.aliyuncs.com/scp-uat/codeup-demo:$IMG_TAG # pull镜像的地址 ip:prot/dir/images:tagimage: ${image}imagePullPolicy: Always #pull镜像时机,ports:- containerPort: 8080 #容器对外开放端口,需与springboot配置文件一致env:- name: aliyun_logs_catalinavalue: stdoutvolumeMounts:- name: time-configmountPath: /etc/localtimereadOnly: true#- name: volume-logs# mountPath: /logs# subPath: logsresources:limits:cpu: 50mmemory: 1Girequests:cpu: 10mmemory: 200Mi#从私有仓库拉取镜像凭证imagePullSecrets:- name: scp-acr-temp #scp-acr-secretnodeSelector:env: scp # 节点标签的键值对volumes:- name: time-confighostPath:path: /usr/share/zoneinfo/Asia/Shanghai # - name: volume-logs # persistentVolumeClaim: # claimName: rz-dt-nas-volume-claim-real
3. 执行kubectl 客户端部署命令 ,发布成功