k8s发布文件记录
1、环境变量配置项
apiVersion: v1 # api版本
kind: ConfigMap # 配置项
metadata:
name: common-key-svc # 名字
namespace: default # 命名空间
data:
# 配置为keyValue,作为环境变量使用
TESTKEY: testvalue
2、文件挂载配置项,日志文件
apiVersion: v1 # api版本 kind: ConfigMap # 配置项 metadata: name: common-key-log # 名称 namespace: default # 命名空间 data: # 配置项值为xml,用于挂载到文件目录当整个配置文件使用 logback-spring.xml: |- <?xml version="1.0" encoding="UTF-8"?> <configuration> <!--输出到logstash--> <appender name="LOG" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <destination>192.168.0.86:4560</destination> <!-- encoder必须配置,有多种可选 --> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" > <!-- "appname":"yang_test" 的作用是指定创建索引的名字时用,并且在生成的文档中会多了这个字段 --> <customFields>{"appname":"mokn-common-service-key"}</customFields> </encoder> </appender> <root level="INFO"> <appender-ref ref="LOG"/> </root> </configuration>
3、发布与服务
# 部署定义
apiVersion: apps/v1 # api版本
kind: Deployment # k8s部署
metadata:
name: mokn-common-service-key #名字
namespace: default # 命名空间
# 规格
spec:
# 副本数,Pod数
replicas: 1
# 选择器
selector:
matchLabels:
app: mokn-common-service-key
template:
metadata:
labels:
app: mokn-common-service-key # 标签,用于服务selector
spec:
# 容器定义
containers:
- name: mokn-common-service-key # 容器名
image: '100.125.0.31:20202/mk-develop/mokn-common-service-key:v9' # 镜像地址
ports:
- name: http-port
containerPort: 8080 # 容器端口
# 环境变量
env:
- name: TESTKEY # 环境变量名,对应application.properties的配置key
valueFrom:
configMapKeyRef: # 来自于配置项
name: common-key-svc # 配置项名称
key: TESTKEY # 配置项key
# 文件挂载
volumeMounts:
- name: logback-config-volume # 挂载名称,对应下面的volumes
mountPath: /etc/mokn # 挂载到目录,容器内部目录
# 健康检查(容易启动用,失败一直重启)
livenessProbe:
httpGet:
path: /actuator/health
port: 8080
scheme: HTTP
initialDelaySeconds: 120
timeoutSeconds: 5
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
# 健康检查(失败则不加入Service)
readinessProbe:
httpGet:
path: /actuator/health
port: 8080
scheme: HTTP
initialDelaySeconds: 30
timeoutSeconds: 3
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
# 定义挂载
volumes:
- name: logback-config-volume # 名称,与上面的mount对应
configMap: # 挂载来自于配置项
name: common-key-log # 配置项名称
items:
- key: logback-spring.xml # key
path: logback-spring.xml
revisionHistoryLimit: 10 # 记录更新版本数,用于回滚
---
# 服务定义
apiVersion: v1 # 使用版本
kind: Service # k8s服务
metadata:
name: mokn-common-service-key # 名称
namespace: default # 命名空间
#规格定义
spec:
ports:
- name: http-port
protocol: TCP # 协议
port: 8080 # 集群端口
targetPort: 8080 # 容器端口
nodePort: 30000 # 节点端口
# 选取发布,Pod
selector:
app: mokn-common-service-key
type: NodePort # 端口类型(NodePort:节点映射,ClusterIP:集群绑定,)
标签:
k8s
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?