如何为 kubectl 服务创建指定选择器?

And*_*ndy 6 kubernetes

有没有办法在直接使用 kubectl 创建服务时指定选择器,如下面的命令所示?

    ~ $ kubectl create service clusterip headless-svc --tcp=80:80 --clusterip='None' --selector="app=multitool" --dry-run -o yaml
Error: unknown flag: --selector
Run Code Online (Sandbox Code Playgroud)

显然我可以修改yaml文件,例如

    ~ $ kubectl create service clusterip headless-svc --tcp=80:80 --clusterip='None' --dry-run -o yaml
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: null
  labels:
    app: headless-svc
  name: headless-svc
spec:
  clusterIP: None
  ports:
  - name: 80-80
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: headless-svc
  type: ClusterIP
status:
  loadBalancer: {}
Run Code Online (Sandbox Code Playgroud)

但我很好奇是否可以在 svc 创建期间执行此操作?

谢谢 !

Arg*_*dhu 11

kubectl create service没有指定的选项selector,但您可以使用它kubectl expose来创建用于部署的服务并指定selector

kubectl expose deployment nginx --port=80 --target-port=8000 --selector='app=multitool'
Run Code Online (Sandbox Code Playgroud)