本文介绍了DevOps平台部署K8s容器的Values值配置详解
一、DevOps_Values
实例运行数量
replicaCount: 2
设置默认的image、imageTag和imagePullPolicy。
image:
repository: harbor.test.com/finance-test-it/test-admin
tag:
pullPolicy: IfNotPresent
Deployment 更新策略
deploymentUpdate:
type: RollingUpdate
maxUnavailable: 0
maxSurge: 100%
Pod 优先级设置
ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
priorityClassName: ''
Pod 节点分配
ref: https://kubernetes.io/docs/user-guide/node-selection/
nodeSelector: {}
tolerations: []
affinity: {}
给 Pod 附加的 annotations
podAnnotations: {}
## Pod 附加的 labels
podLabels: {}
实例运行时的环境变量
env:
open:
#实例名
SPRING_APPLICATION_NAME: test-admin
本实例服务端口
SERVER_PORT: 9085
本实例管理端口
MANAGEMENT_SERVER_PORT: 9086
#日志路径配置
LOGBACK_LOGHOME: /applog/test/test-admin
LOGBACK_APPNAME: test-admin
LOGBACK_LOGLEVEL: info
#数据库配置
SPRING_DATASOURCE_URL: jdbc:mysql://192.168.2.169:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
SPRING_DATASOURCE_USERNAME: test
SPRING_DATASOURCE_PASSWORD: test@_2025
#nacos配置
#注册中心
SPRING_CLOUD_NACOS_DISCOVERY_SERVER_ADDR: test-nacos.test-tool:8848 #服务名+命名空间
SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE: 9f6372c2-9a52-4f75-a79f-5b6ak98cf56c #登录nacos控制台左侧命名空间获取命名空间ID值
SPRING_CLOUD_NACOS_DISCOVERY_REGISTER_ENABLED: true
#配置中心
NACOS_CONFIG_SERVER_ADDR: test-nacos.test-tool:8848
NACOS_CONFIG_NAMESPACE: 9f6372c2-9a52-4f75-a79f-5b6ak98cf56c
#redis配置
SPRING_REDIS_PREFIX: pro
REDIS_NODE1: 192.168.2.80:6379
REDIS_NODE2: 192.168.2.81:6379
REDIS_NODE3: 192.168.2.82:6379
REDIS_NODE4: 192.168.2.83:6379
REDIS_NODE5: 192.168.2.84:6379
REDIS_NODE6: 192.168.2.85:6379
#rabbitmq配置
RABBITMQ_HOST: rmq-cluster.test-tool
RABBITMQ_PORT: 5672
RABBITMQ_USERNAME: rabbitmq
RABBITMQ_PASSWORD: rabbitmq@*2019
RABBITMQ_VIRTUALHOST: rabbitmq
#NFS配置
NFS_SERVER_IP: 192.168.2.201
FILE_PATH_MGT: /appdata/test/admin/mgt/
FILE_PATH_APP: /appdata/test/app/app/file/
启动配置文件
JAVA_OPTS: >-
-XX:+UseG1GC
-XX:NativeMemoryTracking=summary
-Xmx6144m
-Xms2048m
-Dspring.profiles.active=docker
-XX:+HeapDumpOnOutOfMemoryError
Liveness和Readiness 探针相关配置
ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
SCHEDULER_NAME: crane-scheduler
JVM_FULLGC_EXECUTE_HOUR: 6,9,12,15,18,23
livenessProbe:
initialDelaySeconds: 500
periodSeconds: 30
timeoutSeconds: 3
successThreshold: 1
failureThreshold: 6
readinessProbe:
initialDelaySeconds: 5
periodSeconds: 15
timeoutSeconds: 3
successThreshold: 1
failureThreshold: 3
资源请求和限制相关配置
ref: http://kubernetes.io/docs/user-guide/compute-resources/
resources:
limits:
cpu: 8
memory: 12Gi
requests:
cpu: 5m
memory: 8Gi
service 相关设置
ref: http://kubernetes.io/docs/user-guide/services/
service:
是否启用 service 暴露本服务
enabled: true
Service 名称
name: test-admin
Service 类型
type: NodePort
指定 service 的 clusterIP
NodePort:
端口设置
ports:
服务端口
http:
port: 9085
nodePort: 30085
管理端口
actuator:
port: 9086
externalIPs 设置
externalIPs:
- externalIp1
annotations: {}
prometheus.io/scrape: 'true'
prometheus.io/path: '/actuator/prometheus'
prometheus.io/port: '8379'
ingress:
enabled: true
name: test-admin
host: test-admin.test.com
service:
name: test-admin
port: 9085
日志收集
logs:
enabled: false
日志收集格式
parser: spring-boot
二、如果有使用Rancher,那么对应的环境变量配置如下
#日志路径配置
类型:key/Value Pair 变量名:LOGBACK_APPNAME 值:test-admin
类型:key/Value Pair 变量名:LOGBACK_LOGHOME 值:/applog/test/test-admin
类型:key/Value Pair 变量名:LOGBACK_LOGLEVEL 值:info
#启动配置文件
类型:key/Value Pair 变量名:JAVA_OPTS 值:-XX:+UseG1GC -XX:NativeMemoryTracking=summary -Xmx6144m -Xms2048m -Dspring.profiles.active=docker -XX:+HeapDumpOnOutOfMemoryError
#内存回收配置
类型:key/Value Pair 变量名:JVM_FULLGC_EXECUTE_HOUR 值:6,9,12,15,18,23
#NFS配置
类型:key/Value Pair 变量名:NFS_SERVER_IP 值:192.168.2.201
类型:key/Value Pair 变量名:FILE_PATH_MGT 值:/appdata/test/admin/mgt/
类型:key/Value Pair 变量名:FILE_PATH_APP 值:/appdata/test/app/app/file/
#nacos配置
#注册中心
类型:key/Value Pair 变量名:SPRING_CLOUD_NACOS_DISCOVERY_SERVER_ADDR 值:test-nacos.test-tool:8848 #服务名+命名空间
类型:key/Value Pair 变量名:SPRING_CLOUD_NACOS_DISCOVERY_NAMESPACE 值:9f6372c2-9a52-4f75-a79f-5b6ak98cf56c #登录nacos控制台左侧命名空间获取命名空间ID值
类型:key/Value Pair 变量名:SPRING_CLOUD_NACOS_DISCOVERY_REGISTER_ENABLED 值:true
#配置中心
类型:key/Value Pair 变量名:NACOS_CONFIG_SERVER_ADDR 值:test-nacos.test-tool:8848
类型:key/Value Pair 变量名:NACOS_CONFIG_NAMESPACE 值:9f6372c2-9a52-4f75-a79f-5b6ak98cf56c
#rabbitmq配置
类型:key/Value Pair 变量名:RABBITMQ_HOST 值:rmq-cluster.test-tool
类型:key/Value Pair 变量名:RABBITMQ_PORT 值:5672
类型:key/Value Pair 变量名:RABBITMQ_USERNAME 值:rabbitmq
类型:key/Value Pair 变量名:RABBITMQ_PASSWORD 值:rabbitmq@*2019
类型:key/Value Pair 变量名:RABBITMQ_VIRTUALHOST 值:rabbitmq
#redis配置
类型:key/Value Pair 变量名:SPRING_REDIS_PREFIX 值:pro
类型:key/Value Pair 变量名:REDIS_NODE1 值:192.168.2.80:6379
类型:key/Value Pair 变量名:REDIS_NODE2 值:192.168.2.81:6379
类型:key/Value Pair 变量名:REDIS_NODE3 值:192.168.2.82:6379
类型:key/Value Pair 变量名:REDIS_NODE4 值:192.168.2.83:6379
类型:key/Value Pair 变量名:REDIS_NODE5 值:192.168.2.84:6379
类型:key/Value Pair 变量名:REDIS_NODE6 值:192.168.2.85:6379
#数据库配置
类型:key/Value Pair 变量名:SPRING_DATASOURCE_URL 值:jdbc:mysql://192.168.2.169:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=GMT%2B8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
类型:key/Value Pair 变量名:SPRING_DATASOURCE_USERNAME 值:test
类型:key/Value Pair 变量名:SPRING_DATASOURCE_PASSWORD 值:test@_2025