quarkus - Quarkus:在执行新的 YML 之前是否需要删除部署 kubernetes 组件
问题描述
我正在尝试使用 kubernete 的 quarkus 插件,但我有很多问题。
在使用 quarkus 生成的 yml 进行第一次部署后,我遇到了下一个问题:
The Deployment "data-core" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app.kubernetes.io/name":"data-core", "app.kubernetes.io/part-of":"core-app", "app.kubernetes.io/version":"db6a195"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable
元数据的部署是不可变的,所以在执行之前我确实需要通过 kubectl 删除:
kubectl apply -f target/kubernetes/kubernetes.yml
每次编译中的元数据更改,基于镜像 docker 版本
#CONFIG
com.lamark.app-name=${APP_NAME}
quarkus.package.output-name=${com.lamark.app-name}
# Log
quarkus.log.level=${LOG_LEVEL_ROOT:INFO}
#quarkus.log.category."io.smallrye".level=${LOG_LEVEL_ROOT:DEBUG}
#CLIENT SERVICIOS REST
data-core/mp-rest/url=http://data-core:8080
#DOCKER
quarkus.container-image.registry = xxxxxxxx.dkr.ecr.us-east-1.amazonaws.com
quarkus.container-image.build = true
quarkus.container-image.push = true
quarkus.container-image.name = ${com.lamark.app-name}
quarkus.container-image.tag = qwerty1234
quarkus.container-image.group =
#KUBE
quarkus.kubernetes.replicas=1
quarkus.kubernetes.part-of=core-app
quarkus.kubernetes.image-pull-policy=Always
---
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
app.quarkus.io/vcs-url:
app.quarkus.io/build-timestamp: 2020-09-05 - 04:14:31 +0000
app.quarkus.io/commit-id: db6a19545f593d438489faf19c89875b14ea847b
labels:
app.kubernetes.io/name: data-core
app.kubernetes.io/part-of: core-app
app.kubernetes.io/version: qwerty1234
name: data-core
---
apiVersion: v1
kind: Service
metadata:
annotations:
app.quarkus.io/vcs-url:
app.quarkus.io/build-timestamp: 2020-09-05 - 04:14:31 +0000
app.quarkus.io/commit-id: db6a19545f593d438489faf19c89875b14ea847b
labels:
app.kubernetes.io/name: data-core
app.kubernetes.io/part-of: core-app
app.kubernetes.io/version: qwerty1234
name: data-core
spec:
ports:
- name: http
port: 8080
targetPort: 8080
selector:
app.kubernetes.io/name: data-core
app.kubernetes.io/part-of: core-app
app.kubernetes.io/version: qwerty1234
type: ClusterIP
---
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
app.quarkus.io/vcs-url:
app.quarkus.io/build-timestamp: 2020-09-05 - 04:14:31 +0000
app.quarkus.io/commit-id: db6a19545f593d438489faf19c89875b14ea847b
labels:
app.kubernetes.io/name: data-core
app.kubernetes.io/part-of: core-app
app.kubernetes.io/version: qwerty1234
name: data-core
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: data-core
app.kubernetes.io/part-of: core-app
app.kubernetes.io/version: qwerty1234
template:
metadata:
annotations:
app.quarkus.io/vcs-url:
app.quarkus.io/build-timestamp: 2020-09-05 - 04:14:31 +0000
app.quarkus.io/commit-id: db6a19545f593d438489faf19c89875b14ea847b
labels:
app.kubernetes.io/name: data-core
app.kubernetes.io/part-of: core-app
app.kubernetes.io/version: qwerty1234
spec:
containers:
- env:
- name: KUBERNETES_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: APP_NAME
value: data-core
image: xxxxxxx.dkr.ecr.us-east-1.amazonaws.com/data-core:qwerty1234
imagePullPolicy: IfNotPresent
name: data-core
ports:
- containerPort: 8080
name: http
protocol: TCP
serviceAccount: data-core
解决方案
推荐阅读
- reactjs - 从身份服务器登录页面启动授权代码流的正确方法是什么?
- reactjs - 限制搜索功能中的先前 api 请求
- eclipse-plugin - 如何以编程方式使用 Composite 关闭视图?
- package.json - package.json 中的“^3.0.0-0”是什么意思?
- c# - 如何为通用接口使用依赖注入?
- ios - 为什么 UIView 的边缘对于巨大的圆角半径不平滑?
- php - Kubernetes 部署中缺少 pdo_mysql PHP 扩展
- c# - Xamarin.Forms PopModalAsync:未观察到任务的异常
- android - Mockito 在 Android Studio 中显示 IllegalStateException
- c++ - Windows 的 AcquireSRWLockExclusive 是递归的吗?