apiVersion: apps/v1 # 指定api版本,此值必须在kubectl api-versions中 kind: Deployment # 指定创建资源的角色/类型 metadata: # 资源的元数据/属性 name: cloud-gateway # 资源的名字,在同一个namespace中必须唯一 namespace: default # 部署在哪个namespace中 labels: # 设定资源的标签 app: cloud-gateway spec: # 资源规范字段 replicas: 1 # 声明副本数目 selector: matchLabels: app: cloud-gateway strategy: # 策略 rollingUpdate: # 滚动更新 maxSurge: 30% # 最大额外可以存在的副本数,可以为百分比,也可以为整数 maxUnavailable: 30% # 示在更新过程中能够进入不可用状态的 Pod 的最大值,可以为百分比,也可以为整数 type: RollingUpdate # 滚动更新策略 template: metadata: labels: app: cloud-gateway spec: containers: - name: cloud-gateway # 容器的名字 image: 10.210.192.115:8443/oil-docker-prod/cloud-gateway:v1.0.0 # 容器使用的镜像地址 imagePullPolicy: Always # 每次Pod启动拉取镜像策略,三个选择 Always、Never、IfNotPresent ports: - name: gateway-9999 # 名称 containerPort: 9999 # 容器开发对外的端口 protocol: TCP # 协议 env: - name: LANG value: C.UTF-8 - name: JAVA value: /usr/lib/jvm/java-1.8.0-openjdk/bin/java - name: JAVA_HOME value: /usr/lib/jvm/java-1.8.0-openjdk - name: TIME_ZONE value: Asia/Shanghai - name: cloudRegister value: cloud-register-svc:8848 - name: hostIp resources: # 资源管理 limits: # 最大使用 cpu: "2" # CPU,"1"(1核心) = 1000m。将用于docker run --cpu-shares参数 memory: 4G # 内存,1G = 1024Mi。将用于docker run --memory参数 requests: # 容器运行时,最低资源需求,也就是说最少需要多少资源容器才能正常运行 cpu: 500m memory: 1G terminationMessagePath: /dev/terminatino-log terminationMessagePolicy: File