kubernetes - 在 kubernetes 部署实现中实现 Liveness 探针时的 Api 版本问题
问题描述
我正在尝试通过定义活性探测和就绪性来部署我的 kubernetes 部署资源。
当我尝试使用 api version 部署我的部署app/v1
时,当时我收到如下错误,
Unknown field "readinessProbe" in io.k8s.api.core.v1.ContainerPort
所以在那之后我将我的 api 版本更改为v1
. 然后我收到如下错误,
Error: unable to recognize "deployment/deployment.yaml": no matches for kind "Deployment" in version "v1"
我的deployment.yaml是,
apiVersion: v1
kind: Deployment
metadata:
name: spacestudyadminaccountmaintenance-deployment
labels:
app: spacestudyadminaccountmaintenance-deployment
spec:
replicas: 1
selector:
matchLabels:
app: spacestudyadminaccountmaintenance-deployment
template:
metadata:
labels:
app: spacestudyadminaccountmaintenance-deployment
annotations:
date: "+%H:%M:%S %d/%m/%y"
spec:
imagePullSecrets:
- name: "regcred"
containers:
- name: spacestudyadminaccountmaintenance-deployment-container
image: spacestudymilletech010/spacestudyadminaccountmaintenance:latest
imagePullPolicy: Always
ports:
- name: http
containerPort: 7081
readinessProbe:
tcpSocket:
port: 7081
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
tcpSocket:
port: 7081
initialDelaySeconds: 15
periodSeconds: 20
nodeSelector:
tenantName: tenant1
那么我应该定义哪个 kubernetes 资源 api 版本来使用我的部署的活跃性和就绪性?
解决方案
问题不在于 apiVersion(app/v1 可以正常工作),而在于您如何缩进。readinessProbe 和 livenessProbe 应该与端口处于同一级别,如下所示:
apiVersion: app/v1
kind: Deployment
metadata:
name: spacestudyadminaccountmaintenance-deployment
labels:
app: spacestudyadminaccountmaintenance-deployment
spec:
replicas: 1
selector:
matchLabels:
app: spacestudyadminaccountmaintenance-deployment
template:
metadata:
labels:
app: spacestudyadminaccountmaintenance-deployment
annotations:
date: "+%H:%M:%S %d/%m/%y"
spec:
imagePullSecrets:
- name: "regcred"
containers:
- name: spacestudyadminaccountmaintenance-deployment-container
image: spacestudymilletech010/spacestudyadminaccountmaintenance:latest
imagePullPolicy: Always
ports:
- name: http
containerPort: 7081
readinessProbe:
tcpSocket:
port: 7081
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
tcpSocket:
port: 7081
initialDelaySeconds: 15
periodSeconds: 20
nodeSelector:
tenantName: tenant1
推荐阅读
- micronaut - 基于用户类型的 micronaut 安全多登录控制器
- arrays - 加入 Array 中的 2 个项目并将其作为 Item 添加到同一数组中
- java - Opengl ES 1.0 教程中的代码不起作用(Java N-IDE)
- percentage - Tableau——计算条形图中嵌套维度的总计和总计百分比
- angular - Web应用程序离子框架角度中的公告横幅
- apache-spark - 不确定如何使用 pyspark 解决非确定性函数问题
- google-cloud-platform - Terraform:如何链接/链接从属 CA 到根 CA
- python - Pandas - 在屏蔽和 df.where 之后应用乘法
- unity3d - 场景重新加载后不保存对象名称
- ios - iOS 上 A-Frame 视频无法播放的任何新解决方法?