我本应该用无头服务创建StatefulSet,但当我创建无头服务并创建Stateful Set时,只生成了一个pod,但状态为Error,我在尝试使用kubectl log:时收到了这个错误
serviceName环境变量不存在!修复您的规范。
这是我的代码:
apiVersion: v1
kind: Service
metadata:
name: svc-hl-xyz
spec:
clusterIP: None
selector:
app: svc-hl-xyz
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: sts-xyz
spec:
replicas: 3
serviceName: "svc-hl-xyz"
selector:
matchLabels:
app: svc-hl-xyz
template:
metadata:
labels:
app: svc-hl-xyz
spec:
containers:
- name: ctr-sts-xyz
image: XXX/XXX/XXX
command: ["XXX", "XXX","XXX"]
我的规范似乎遵循了StatefulSet的Kubernetes文档,所以我不确定为什么它不起作用。我所能想到的是,我试图使用的命令或图像以某种方式导致了这种情况。
容器日志(serviceName environment variable doesn't exist! Fix your specification.
(告诉您缺少serviceName
环境变量。
将其添加到您的状态集合中的容器规范:
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: sts-xyz
spec:
replicas: 3
serviceName: "svc-hl-xyz"
selector:
matchLabels:
app: svc-hl-xyz
template:
metadata:
labels:
app: svc-hl-xyz
spec:
containers:
- name: ctr-sts-xyz
image: quay.io/myafk/interactive:stable
command: ["interactive", "workloads","-t=first"]
env:
- name: serviceName
value: svc-hl-xyz
关于Pods上env变量的更多信息可以在文档中找到