我正在尝试使用kubectl补丁为我的K8S nginx Ingress添加额外的注释。
这是我开始的入口:
apiVersion: v1
items:
- apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
field.cattle.io/publicEndpoints: '[{"stuff:false}]'
kubernetes.io/ingress.class: nginx-external
creationTimestamp: "2019-02-25T20:38:29Z"
generation: 1
这是我要应用ingress_annotation.yaml
的补丁文件。
metadata:
annotations:
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_set_header l5d-dst-override $service_name.$namespace.svc.cluster.local:80;
proxy_hide_header l5d-remote-ip;
proxy_hide_header l5d-server-id;
我通过运行kubectl patch ingress kibana --patch "$(cat ingress_annotation.yaml)"
。
当我运行 kubectl get ingress <my_ingress> -o yaml
时,当我应用此功能时,确实会将注释添加到Ingress上看起来像这样
apiVersion: v1
items:
- apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
field.cattle.io/publicEndpoints: '[{"Stuff:false}]'
kubernetes.io/ingress.class: nginx-external
nginx.ingress.kubernetes.io/configuration-snippet: |-
proxy_set_header l5d-dst-override $service_name.$namespace.svc.cluster.local:80;
proxy_hide_header l5d-remote-ip;
proxy_hide_header l5d-server-id;
creationTimestamp: "2019-02-25T20:38:29Z"
generation: 1
请注意nginx.ingress.kubernetes.io/configuration-snippet: |
之后的额外"-"
字符。我不确定这个角色来自哪里或在这里做什么。谁能为我发光,或者我如何阻止这个角色被添加到我的注释中?
这是YAML语法,可能由Kubectl自动添加:
- 指示器:block
删除额外的新线
content: |-
Arbitrary free text without newlines after it