kubectl apply 不更新服务选择器标签
kubectl apply doesn't update service selector label
现在我有一个服务
kubectl get svc ray-test-svc
apiVersion: v1
items:
- apiVersion: v1
kind: Service
metadata:
annotations:
....
labels:
app: ray-test-app
service: ray-test-svc
name: ray-test-svc
namespace: ray-test-ns
spec:
ports:
- nodePort: 30198
port: 80
protocol: TCP
targetPort: 8000
selector:
app: ray-test-app
service: ray-test-svc
version: v2
type: LoadBalancer
编辑 yaml 文件后,删除选择器中的 version: v2
并执行
kubectl apply -f ray-test-svc.yaml
version:v2
仍在选择器中!
这是我的 yaml 文件
kind: Service
apiVersion: v1
metadata:
name: ray-test-svc
annotations:
....
labels:
app: ray-test-app
service: ray-test-svc
spec:
selector:
app: ray-test-app
service: ray-test-svc
type: LoadBalancer
ports:
- port: 80
targetPort: 8000
我使用 -v=9
检查日志,发现 kubectl 使用 PATCH
进行更新。这是 kubeApi 中的错误还是有什么方法可以只删除部分标签?谢谢!!
看起来配置有误:
你没有在第二个 YAML 中设置 namespace
,你通过命令应用它
kubectl apply -f ray-test-svc.yaml
。它不会更新旧服务,它会在命名空间 default
中创建一个新服务。您可以 运行 命令 kubectl apply -f ray-test-svc.yaml -n ray-test-ns
它会更新您的服务。您也可以将 namespace: ray-test-ns
添加到第二个 YAML。
现在我有一个服务
kubectl get svc ray-test-svc
apiVersion: v1
items:
- apiVersion: v1
kind: Service
metadata:
annotations:
....
labels:
app: ray-test-app
service: ray-test-svc
name: ray-test-svc
namespace: ray-test-ns
spec:
ports:
- nodePort: 30198
port: 80
protocol: TCP
targetPort: 8000
selector:
app: ray-test-app
service: ray-test-svc
version: v2
type: LoadBalancer
编辑 yaml 文件后,删除选择器中的 version: v2
并执行
kubectl apply -f ray-test-svc.yaml
version:v2
仍在选择器中!
这是我的 yaml 文件
kind: Service
apiVersion: v1
metadata:
name: ray-test-svc
annotations:
....
labels:
app: ray-test-app
service: ray-test-svc
spec:
selector:
app: ray-test-app
service: ray-test-svc
type: LoadBalancer
ports:
- port: 80
targetPort: 8000
我使用 -v=9
检查日志,发现 kubectl 使用 PATCH
进行更新。这是 kubeApi 中的错误还是有什么方法可以只删除部分标签?谢谢!!
看起来配置有误:
你没有在第二个 YAML 中设置 namespace
,你通过命令应用它
kubectl apply -f ray-test-svc.yaml
。它不会更新旧服务,它会在命名空间 default
中创建一个新服务。您可以 运行 命令 kubectl apply -f ray-test-svc.yaml -n ray-test-ns
它会更新您的服务。您也可以将 namespace: ray-test-ns
添加到第二个 YAML。