我试图实现使用kubectl apply -f
没有这个警告:
PS C:\Users\me> kubectl apply -f manifest.yml
Warning: resource deployments/myapp is missing the kubectl.kubernetes.io/last-applied-configuration annotation which is required by kubectl apply. kubectl apply should only be used on resources created declaratively by either kubectl create --save-config or kubectl apply. The missing annotation will be patched automatically.
字符串
我尝试通过使用此清单文件修复此问题:
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cool-app
labels:
app: cool-app
spec:
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
selector:
matchLabels:
app: cool-app
template:
metadata:
labels:
app: cool-app
spec:
containers:
- name: cool-app
image: cool:latest
imagePullPolicy: Always
型
但是运气不好,还是收到这个警告。我怎么修复它?
1条答案
按热度按时间hjzp0vay1#
出现警告是因为这是你第一次创建资源。因此,kubectl无法使用annotation来确定在客户端需要修补和更改的内容。
你总是会在本地得到警告,除非你从k8 s中得到当前呈现的清单,并从API中得到正确的注解,更改它并重新应用它,或者自己添加一个空注解到清单中。
比如说
字符串
另一种解决方案是不使用客户端应用,而是让k8应用清单服务器端。所以你自己不需要注解。这是最近推荐的。
所以你可以用
kubectl apply -f $yourmanifest.yaml --server-side
有关服务器端应用的更多信息,请查看文档here