Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 如何在GKE中配置自动生成的istio入口通道?_Kubernetes_Google Kubernetes Engine_Kubernetes Ingress_Istio - Fatal编程技术网

Kubernetes 如何在GKE中配置自动生成的istio入口通道?

Kubernetes 如何在GKE中配置自动生成的istio入口通道?,kubernetes,google-kubernetes-engine,kubernetes-ingress,istio,Kubernetes,Google Kubernetes Engine,Kubernetes Ingress,Istio,我想将基于通配符的域名(例如*.somedomain.com)添加到istio ingressgateway并设置自签名TLS证书。GKE上的Istio是通过从集群的插件列表中启用Istio来安装的 第一个问题是,是否建议配置和使用自动生成的istio入口网关,而不是创建一个 如果是这样,那么第二个问题是如何更新该网关的设置 我必须包含自动创建的ingressgateway中的标签、resourceVersion和selfLink字段,并将resourceVersion设置为当前版本,否则,Ku

我想将基于通配符的域名(例如*.somedomain.com)添加到istio ingressgateway并设置自签名TLS证书。GKE上的Istio是通过从集群的插件列表中启用Istio来安装的

第一个问题是,是否建议配置和使用自动生成的istio入口网关,而不是创建一个

如果是这样,那么第二个问题是如何更新该网关的设置

我必须包含自动创建的ingressgateway中的标签、resourceVersion和selfLink字段,并将resourceVersion设置为当前版本,否则,Kubernetes不接受新的YAML文件

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  # QUESTION: Copid fields from the current ingressgateway to be specified.
  # Otherwise, kubectl does not accept the settings.
  # $ kubectl apply -f ./helm-charts/istio/gateway.yaml
  # The gateways "istio-autogenerated-k8s-ingress" is invalid: metadata.resourceVersion: Invalid value: 0x0: must be specified for an update

  # labels:
  #   addonmanager.kubernetes.io/mode: EnsureExists
  #   k8s-app: istio
  # resourceVersion: "9331065"
  # selfLink: /apis/networking.istio.io/v1alpha3/namespaces/istio-system/gateways/istio-autogenerated-k8s-ingressa
  name: istio-autogenerated-k8s-ingress
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 443
      name: https
      protocol: HTTPS
    tls:
      mode: PASSTHROUGH
      serverCertificate: /etc/istio/ingressgateway-certs/tls.crt
      privateKey: /etc/istio/ingressgateway-certs/tls.key
    hosts:
    - "*.heportal.squiz.cloud"
如果我应用上述示例gateway.yaml文件:

$ kubectl apply -f ./helm-charts/istio/gateway.yaml
The gateways "istio-autogenerated-k8s-ingress" is invalid: metadata.resourceVersion: Invalid value: 0x0: must be specified for an update

欢迎使用StackOverflow@skim go

恐怕您不应该对istio自动生成的资源(如默认入口网关)进行任何直接修改(kubectl编辑),istio随GKE加载项一起提供,因为它们将由Kubernetes加载项管理器还原

相反,我建议您在现有的Istio on GKE安装中安装/添加一个自定义网关(并在那里进行自定义),因为它们不协调,在正式的以下内容后引用:

您自己添加的任何入口和出口资源都在用户权限下 控件和未对账或自动升级

我在另一个SO的问题中解释了如何添加自定义入口网关


提示:因为您已经在GKE上安装了Istio,所以在您的情况下,您应该使用策略准备必要的清单文件,而集群中只缺少资源

欢迎光临StackOverflow@skim go

恐怕您不应该对istio自动生成的资源(如默认入口网关)进行任何直接修改(kubectl编辑),istio随GKE加载项一起提供,因为它们将由Kubernetes加载项管理器还原

相反,我建议您在现有的Istio on GKE安装中安装/添加一个自定义网关(并在那里进行自定义),因为它们不协调,在正式的以下内容后引用:

您自己添加的任何入口和出口资源都在用户权限下 控件和未对账或自动升级

我在另一个SO的问题中解释了如何添加自定义入口网关


提示:因为您已经在GKE上安装了Istio,所以在您的情况下,您应该使用策略准备必要的清单文件,而集群中只缺少资源

事实上,我刚刚发现您需要使用'kubectl edit'命令而不是'kubectl apply',比如'kubectl-n istio system edit gateway'允许我编辑入口网关。实际上,我刚刚发现您需要使用'kubectl edit'命令而不是'kubectl apply'命令,比如'kubectl-n istio system edit gateway'允许我编辑入口网关。谢谢@nepomusen我不再编辑自动生成的资源。谢谢@nepomusen我不再编辑自动生成的资源。