使用 yaml 而不是 kubectl edit 更新 istio-ingressgateway
Update istio-ingressgateway with yaml instead of kubectl edit
我从书中测试了基于 tcp 的服务...
为了完成这个任务,我需要暴露31400端口...
我发现我可以使用这个命令来做到这一点:KUBE_EDITOR="nano" kubectl edit svc istio-ingressgateway -n istio-system
然后手动输入:
- 名称:TCP
节点端口:30851
端口:31400,
协议:TCP
目标端口:31400
我按预期工作,但如何使用 yaml 和 kubectl 应用相同的任务?
感谢您的帮助,
WCDR
1 - 获取当前配置:
$ kubectl get -n istio-system service istio-ingressgateway -o yaml
输出看起来像:
apiVersion: v1
kind: Service
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{...,"kind":"Service",..."app":"istio-ingressgateway"...
...
labels:
app: istio-ingressgateway
...
spec:
...
ports:
...
>>>> insert block here <<<<
selector:
...
...
2 - 使用 yq 或手动对其进行修补...
https://github.com/mikefarah/yq
3 - 应用更改:
$ kubectl apply -n istio-system -f - <<EOF
apiVersion: v1
kind: Service
...
EOF
输出必须是:
service/istio-ingressgateway configured
享受...
我从书中测试了基于 tcp 的服务...
为了完成这个任务,我需要暴露31400端口...
我发现我可以使用这个命令来做到这一点:KUBE_EDITOR="nano" kubectl edit svc istio-ingressgateway -n istio-system
然后手动输入:
- 名称:TCP 节点端口:30851 端口:31400, 协议:TCP 目标端口:31400
我按预期工作,但如何使用 yaml 和 kubectl 应用相同的任务?
感谢您的帮助,
WCDR
1 - 获取当前配置:
$ kubectl get -n istio-system service istio-ingressgateway -o yaml
输出看起来像:
apiVersion: v1
kind: Service
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{...,"kind":"Service",..."app":"istio-ingressgateway"...
...
labels:
app: istio-ingressgateway
...
spec:
...
ports:
...
>>>> insert block here <<<<
selector:
...
...
2 - 使用 yq 或手动对其进行修补...
https://github.com/mikefarah/yq
3 - 应用更改:
$ kubectl apply -n istio-system -f - <<EOF
apiVersion: v1
kind: Service
...
EOF
输出必须是:
service/istio-ingressgateway configured
享受...