mjk*_*auf 5 kubernetes statefulset kubernetes-statefulset
我正在配置一个 StatefulSet,我希望副本的数量(如下所示的spec.replicas)以某种方式作为参数传递给应用程序实例。我的应用程序需要spec.replicas来确定副本的数量,以便它知道要从 MySQL 表加载哪些行。我不想对spec.replicas和 application 参数中的副本数量进行硬编码,因为这在向上或向下缩放副本数量时不起作用,因为在缩放时需要调整 application 参数。
这是我的 StatefulSet 配置:
apiVersion: 应用程序/v1beta1
种类:StatefulSet
元数据:
标签:
运行:我的应用程序
名称:我的应用程序
命名空间:my-ns
规格:
复制品:3
选择器:
匹配标签:
运行:我的应用程序
服务名称:我的应用程序
podManagementPolicy:并行
模板:
元数据:
标签:
运行:我的应用程序
规格:
容器:
- 名称:我的应用程序
图片:我的应用程序:最新
命令:
- /bin/sh
- /bin/start.sh
- 开发
- 2000米
- “0”
- "3" **需要替换为#个副本**
- 127.0.0.1
- “32990”
imagePullPolicy:始终
活性探针:
获取:
路径:/健康
端口:8081
初始延迟秒数:180
周期秒数:10
超时秒数:3
就绪探针:
失败阈值:10
获取:
路径:/就绪
端口:8081
方案:HTTP
初始延迟秒数:30
周期秒数:15
成功阈值:1
超时秒数:3
端口:
- 容器端口:8080
协议:TCP
资源:
限制:
内存:2500Mi
imagePullSecrets:
- 名称:快照拉动
重启策略:始终
我已经阅读了 Kubernetes 文档,并且spec.replicas字段的范围在 pod 或容器级别,而不是 StatefulSet,至少就我所见。
提前致谢。
小智 3
您可以使用 yaml 锚来执行此操作:
查看: https ://helm.sh/docs/chart_template_guide/yaml_techniques/#yaml-anchors
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
labels:
run: my-app
name: my-app
namespace: my-ns
spec:
replicas: &numReplicas 3
selector:
matchLabels:
run: my-app
serviceName: my-app
podManagementPolicy: Parallel
template:
metadata:
labels:
run: my-app
spec:
containers:
- name: my-app
image: my-app:latest
command:
- /bin/sh
- /bin/start.sh
- dev
- 2000m
- "0"
- *numReplicas
- 127.0.0.1
- "32990"
imagePullPolicy: Always
livenessProbe:
httpGet:
path: /health
port: 8081
initialDelaySeconds: 180
periodSeconds: 10
timeoutSeconds: 3
readinessProbe:
failureThreshold: 10
httpGet:
path: /ready
port: 8081
scheme: HTTP
initialDelaySeconds: 30
periodSeconds: 15
successThreshold: 1
timeoutSeconds: 3
ports:
- containerPort: 8080
protocol: TCP
resources:
limits:
memory: 2500Mi
imagePullSecrets:
- name: snapshot-pull
restartPolicy: Always
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1169 次 |
| 最近记录: |