当前位置: 首页 > news >正文

k8s服务StatefulSet部署模板

java 服务StatefulSet部署模板

vim templates-test.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:labels:app: ${app_labels}name: ${app_name}namespace: ${app_namespace}
spec:replicas: ${app_replicas_count}selector:matchLabels:app: ${app_labels}template:labels:app: ${app_labels}spec:containers:- env:- name: JAVA_OPTSvalue: ${java_opts}image: ${app_docker_image}imagePullPolicy: AlwayslivenessProbe:failureThreshold: 5httpGet:path: /actuator/healthport: ${app_port}scheme: HTTPinitialDelaySeconds: 120periodSeconds: 10successThreshold: 1timeoutSeconds: 5name: ${app_name}ports:- containerPort: ${app_port}name: httpprotocol: TCPreadinessProbe:failureThreshold: 5httpGet:path: /actuator/healthport: ${app_port}scheme: HTTPinitialDelaySeconds: 120periodSeconds: 60successThreshold: 1timeoutSeconds: 5resources:limits:cpu: ${app_cpu_limit}memory: {app_memory_limit}terminationMessagePath: /dev/termination-logterminationMessagePolicy: FilednsPolicy: ClusterFirstimagePullSecrets:- name: harborrestartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}terminationGracePeriodSeconds: 30updateStrategy:rollingUpdate:partition: 0type: RollingUpdate
---
apiVersion: v1
kind: Service
metadata:labels:app: ${app_labels}name: ${app_service_name}namespace: ${app_namespace}
spec:clusterIP: Noneports:- name: ${app_service_name}port: ${app_port}protocol: TCPtargetPort: ${app_port}selector:app: ${app_labels}sessionAffinity: Nonetype: ClusterIP
status:loadBalancer: {}

涉及到的变量

 ${app_labels}${app_name}${app_namespace}${app_replicas_count}${java_opts}${app_docker_image}${app_port}${app_cpu_limit}{app_memory_limit}
${app_service_name}

测试示例

设置环境变量

export app_labels=test-lable
export app_name=test-name
export app_namespace=test-ns
export app_replicas_count=1
export java_opts="-xms=100mi -xms=100mi -xms=100mi"
export app_docker_image=docker.io/library/openjdk:8-jdk-alpine
export app_port=10000
export app_cpu_limit=1
export app_memory_limit=1000mi
export app_service_name=test-svc-name

执行替换

  envsubst \'\${app_name},\${app_namespace},\${app_labels},\${app_replicas_count},\${java_opts}\,\${app_docker_image}\,\${app_port}\,\${app_cpu_limit}\,\${app_memory_limit}\,\${app_service_name}\' < /root/test/templates-test.yaml > /root/test/templates-new.yaml

查看新文件 templates-new.yaml

http://www.lryc.cn/news/525786.html

相关文章:

  • 07 区块链安全技术
  • Adobe的AI生成3D数字人框架:从自拍到生动的3D化身
  • dfs专题四:综合练习
  • 【线性代数】列主元法求矩阵的逆
  • 大写——蓝桥杯
  • HTML `<head>` 元素详解
  • 一文速通stack和queue的理解与使用
  • Antd React Form使用Radio嵌套多个Select和Input的处理
  • Vue - toRefs() 和 toRef() 的使用
  • Python3 OS模块中的文件/目录方法说明九
  • OpenCV文字绘制支持中文显示
  • opengrok_windows_多工程环境搭建
  • 基于ollama,langchain,springboot从零搭建知识库三【解析文档并存储到向量数据库】
  • Elasticsearch 和arkime 安装
  • git回退
  • pytest+playwright落地实战大纲
  • 01-硬件入门学习/嵌入式教程-CH340C使用教程
  • 小试牛刀调整Prompt,优化Token消耗
  • snippets router pinia axios mock
  • Visual Studio2019调试DLL
  • 深入解析:Docker 容器如何实现文件系统与资源的多维隔离?
  • vue项目中打包后的地址加载不出图片【五种解决方案】
  • 讯飞星火大模型将超越chatgpt?
  • 3D Vision--计算点到平面的距离
  • 《开源与合作:驱动鸿蒙Next系统中人工智能技术创新发展的双引擎》
  • Java 高级工程师面试高频题:JVM+Redis+ 并发 + 算法 + 框架
  • 【机器学习】嘿马机器学习(科学计算库)第11篇:Pandas,学习目标【附代码文档】
  • WordPress Fancy Product Designer插件Sql注入漏洞复现(CVE-2024-51818)(附脚本)
  • StarRocks强大的实时数据分析
  • Linux(Centos 7.6)命令详解:iconv