模棱两可的警告:"WARN[0064] image [gcr.io/wired-benefit-XXXXX/demoapp] is not used by the deployment"



预期行为

不应显示声明的警告。

实际行为

每次我做出更改并触发重新部署时,我都会收到一个错误,比如:

WARN[0064]图像[gcr.io/wired-benefit-XXXXX/demoapp]未被部署使用

然而,图像是随着更新的更改而修改的,所以我不确定错误是什么,

信息

  • Skafold版本:版本。。。v1.15.0
  • 操作系统:。。。MacOS Catilina 10.15.16
  • skaffold.yaml的内容:
apiVersion: skaffold/v2beta8
kind: Config
metadata:
name: demoapp
build:
artifacts:
- image: gcr.io/wired-benefit-293406/demoapp
deploy:
kubectl:
manifests:
- k8*.yml

K8s舱单内容:

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: demoapp
name: demoapp
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: demoapp
strategy:
rollingUpdate:
maxSurge: 25%
maxUnavailable: 25%
type: RollingUpdate
template:
metadata:
labels:
app: demoapp
spec:
containers:
- image: gcr.io/wired-benefit-293406/demoapp
imagePullPolicy: IfNotPresent
name: demoapp
restartPolicy: Always
apiVersion: v1
kind: Service
metadata:
labels:
app: demoapp
name: demoapp-svc
spec:
ports:
- port: 80
protocol: TCP
targetPort: 3000
selector:
app: demoapp
type: LoadBalancer
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: demoapp
spec:
maxReplicas: 5
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: demoapp
targetCPUUtilizationPercentage: 80

重现行为的步骤

  1. 一个非常基本的入门演示应用程序
  2. skaffold dev
  3. 任何更改。。。skaffold成功构建docker,甚至将其推向注册中心

但是,这些变化并没有得到反映。可能是与标记相关的问题。当我手动将部署的映像名称设置为最新时,应用程序更改就起作用了。

正如我在评论中所说:

您的K8S manifests是一个包含DeploymentServiceHPA的单个文件吗?我完全按照粘贴的方式运行(遇到了相同的警告(,并且它在资源之间缺少---

具体谈到Content of K8s manifests中包含的内容,此文件在资源之间缺少三个短划线(---)

它可以通过以下方式修复:

  • 拆分多个文件中的资源(通过遵循skaffold.yaml及其模板k8*.yml(:
    • k8s-deployment.yaml
    • k8s-service.yaml
    • k8s-hpa.yaml
  • 在CCD_ 15中的每个资源之间添加CCD_ 14(示例(:
DEPLOYMENT
---
SERVICE
--- 
HPA

您可以通过以下StackOverflow答案在YAML文件中阅读更多关于---的信息:

  • Stackoverlow.com:为什么在yaml文件中有--(3个短划线/连字符(

至于再现。我使用了官方入门指南:

  • Skafold.dev:文档:快速启动

我将Content of K8s manifests复制到k8s-pod.yaml中,并更改了行(该文件在资源之间没有---(:

- image: gcr.io/PROJECT-NAME/demoapp

使用以下命令运行:

  • $ skaffold dev
Listing files to watch...
- gcr.io/PROJECT-NAME/demoapp
Generating tags...
- gcr.io/PROJECT-NAME/demoapp -> gcr.io/PROJECT-NAME/demoapp:<--REDACTED-->
Checking cache...
- gcr.io/PROJECT-NAME/demoapp: Not found. Building
Building [gcr.io/PROJECT-NAME/demoapp]...
Sending build context to Docker daemon  3.072kB
<--REDACTED-->
<--REDACTED-->: Pushed 
<--REDACTED-->: Layer already exists 
<--REDACTED-->: digest: <--REDACTED--> size: 739
Tags used in deployment:
- gcr.io/PROJECT-NAME/demoapp -> gcr.io/PROJECT-NAME/demoapp:<--REDACTED-->
Starting deploy...
WARN[0023] image [gcr.io/PROJECT-NAME/demoapp] is not used by the deployment 
- horizontalpodautoscaler.autoscaling/demoapp created
Waiting for deployments to stabilize...
Deployments stabilized in 198.216977ms
Press Ctrl+C to exit
Watching for changes...

专注于:

WARN[0023] image [gcr.io/PROJECT-NAME/demoapp] is not used by the deployment 
- horizontalpodautoscaler.autoscaling/demoapp created

如您所见,仅创建了HPA对象。未创建CCD_ 22和CCD_。它也显示出与你相同的警告。

运行$ kubectl apply -f k8s-pod.yaml将产生相同的结果!

编辑k8s-pod.yaml文件以包含---并再次运行$ skaffold dev应该会产生类似于下面的输出:

Listing files to watch...
- gcr.io/PROJECT-NAME/demoapp
Generating tags...
- gcr.io/PROJECT-NAME/demoapp -> gcr.io/PROJECT-NAME/<--REDACTED-->
Checking cache...
- gcr.io/PROJECT-NAME/demoapp: Not found. Building
<--REDACTED-->
<--REDACTED-->: Pushed 
<--REDACTED-->: Layer already exists 
<--REDACTED-->: digest: <--REDACTED--> size: 739
Tags used in deployment:
- gcr.io/PROJECT-NAME/demoapp -> gcr.io/PROJECT-NAME/demoapp:<--REDACTED-->
Starting deploy...
- deployment.apps/demoapp created
- service/demoapp-svc created
- horizontalpodautoscaler.autoscaling/demoapp created
Waiting for deployments to stabilize...
- deployment/demoapp is ready.
Deployments stabilized in 5.450197785s
Press Ctrl+C to exit
Watching for changes...
[demoapp] Hello World with ---!
[demoapp] Hello World with ---!
[demoapp] Hello World with ---!

正如您在上面看到的,所有资源都已创建,没有关于部署不使用映像的警告,应用程序也做出了响应。


其他资源:

  • Kubernetes:使用对象:Kubernetes对象

相关内容

最新更新