-
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-demo
namespace: scp
labels:
app: codeup-demo
spec:
type: ClusterIP #NodePort
ports:
- name: 8080-8080-tcp
port: 8080
protocol: TCP
targetPort: 8080
#nodePort: 31080 #service对外开放端口
selector:
app: codeup-demo
---
apiVersion: apps/v1
kind: Deployment #对象类型
metadata:
name: codeup-demo #名称
namespace: scp
labels:
app: codeup-demo #标注
spec:
replicas: 1 #运行容器的副本数,修改这里可以快速修改分布式节点数量
progressDeadlineSeconds: 600 #在Deployment 在进度卡住6分钟后报告
minReadySeconds: 10 #Pod被认为是可用状态的最小秒数。默认是0
strategy:
rollingUpdate:
maxSurge: 1 #升级过程中激增Pod的最大数量
maxUnavailable: 0 #升级过程中不可用Pod的最大数量
type: RollingUpdate
selector:
matchLabels:
app: codeup-demo
template:
metadata:
labels:
app: codeup-demo
spec:
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:tag
image: ${image}
imagePullPolicy: Always #pull镜像时机,
ports:
- containerPort: 8080 #容器对外开放端口,需与springboot配置文件一致
env:
- name: aliyun_logs_catalina
value: stdout
volumeMounts:
- name: time-config
mountPath: /etc/localtime
readOnly: true
#- name: volume-logs
# mountPath: /logs
# subPath: logs
resources:
limits:
cpu: 50m
memory: 1Gi
requests:
cpu: 10m
memory: 200Mi
#从私有仓库拉取镜像凭证
imagePullSecrets:
- name: scp-acr-temp #scp-acr-secret
nodeSelector:
env: scp # 节点标签的键值对
volumes:
- name: time-config
hostPath:
path: /usr/share/zoneinfo/Asia/Shanghai
# - name: volume-logs
# persistentVolumeClaim:
# claimName: rz-dt-nas-volume-claim-real
- 执行kubectl 客户端部署命令 ,发布成功