Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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 如何为istio入口网关添加自定义端口?_Kubernetes_Kubernetes Helm_Kubernetes Ingress_Istio - Fatal编程技术网

Kubernetes 如何为istio入口网关添加自定义端口?

Kubernetes 如何为istio入口网关添加自定义端口?,kubernetes,kubernetes-helm,kubernetes-ingress,istio,Kubernetes,Kubernetes Helm,Kubernetes Ingress,Istio,我是新来的。我有一个简单的入口网关yaml文件,并且侦听端口是26931,但是在我应用yaml之后,端口26931不会出现在入口网关公开的端口集中。那么,我是否缺少一些必要的步骤或其他东西 apiVersion: networking.istio.io/v1alpha3 kind: Gateway metadata: name: batman-gateway spec: selector: istio: ingressgateway servers: - port:

我是新来的。我有一个简单的入口网关yaml文件,并且侦听端口是26931,但是在我应用yaml之后,端口26931不会出现在入口网关公开的端口集中。那么,我是否缺少一些必要的步骤或其他东西

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: batman-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 26931
      name: http
      protocol: HTTP
    hosts:
    - "*"

您不是使用网关对象公开端口,而是使用istio ingressgateway服务公开端口

kubectl edit svc istio-ingressgateway -n istio-system
所以,如果您想公开端口26931,您应该使用网关服务

  ports:
  - name: http
    nodePort: 30001
    port: 26931
    protocol: TCP
    targetPort: 80

还对您之前的帖子发表了评论-

端口设置在中完成。您可以在Istio的
values.yaml
中声明性地定义附加端口,而不是直接编辑服务,如下所示

注意:从Istio v1.2和v1.3.0开始,原始子图中定义的默认端口列表将被此文件覆盖。为了保持默认值不变,下面的代码段硬拷贝了一些值

gateways:
  istio-ingressgateway:
    ports:
      # Default port list copied from the original subchart values
      # Ref: https://github.com/istio/istio/blob/release-1.2/install/kubernetes/helm/istio/charts/gateways/values.yaml
      #      (the ports below override the default and do not get merged, and thus need to be copied here)
      - port: 15020
        targetPort: 15020
        name: status-port
      - port: 80
        targetPort: 80
        name: http2
        nodePort: 31380
      - port: 443
        name: https
        nodePort: 31390
      - port: 15029
        targetPort: 15029
        name: https-kiali
      - port: 15030
        targetPort: 15030
        name: https-prometheus
      - port: 15031
        targetPort: 15031
        name: https-grafana
      - port: 15032
        targetPort: 15032
        name: https-tracing
        # This is the port where sni routing happens
      - port: 15443
        targetPort: 15443
        name: tls
      ##=== Additional Ports =======================##
      - port: 8080
        targetPort: 8080
        name: http-custom
      - port: 8081
        targetPort: 8081
        name: http-custom-backup
      ##____________________________________________##

从Istio 1.5.1开始,使用带有以下命令的
istioctl
安装(请参阅):

附加端口可以在覆盖配置.yaml文件的
组件.ingresgateways
部分中指定。例如:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
spec:
  components:
    citadel:
      enabled: true
    sidecarInjector:
      enabled: true
    telemetry:
      enabled: true
    ingressGateways:
      - name: istio-ingressgateway
        enabled: true
        k8s:
          service:
            ports:
              # We have to specify original ports otherwise it will be erased
              - port: 15020
                targetPort: 15020
                name: status-port
              - port: 80
                targetPort: 80
                name: http2
              - port: 443
                name: https
              - port: 15029
                targetPort: 15029
                name: kiali
              - port: 15030
                targetPort: 15030
                name: prometheus
              - port: 15031
                targetPort: 15031
                name: grafana
              - port: 15032
                targetPort: 15032
                name: tracing
              - port: 15443
                targetPort: 15443
                name: tls
              - port: 31400
                name: tcp
              # Your additional ports
              - port: 10000
                name: misc
  addonComponents:
    prometheus:
      enabled: false
  values:
    sidecarInjectorWebhook:
      enableNamespacesByDefault: true
    global:
      proxy:
        accessLogFile: "/dev/stdout"
    gateways:
      istio-egressgateway:
        enabled: false
      istio-ingressgateway:
        sds:
          enabled: true

值得注意的是,对于Istio 1.5和Istio 1.4端口,必须在
值.网关.Istio入口网关
部分中指定。

您使用的是哪个版本的Istio?Istio的版本是
1.1.7
我正在寻找一个选项,以便在helm图表中添加新端口,但看起来该选项不存在,所以选择了服务正在使用istio 1.5.1编辑路由,试图在安装中找到此配置文件,但有数百个文件,您知道具体的文件名吗?您必须自己创建此文件。此文件用于覆盖默认配置。您可能需要检查此文档。默认配置取决于您正在安装的配置文件。您可以在
/install/kubernetes/operator/profiles/
下找到这些配置。tks先生,奇怪的是我在k8s上部署了一个应用程序,使用网关和虚拟服务,在端口80:32653/TCP处使用istio ingressgateway LoadBalancer。。404 ... 在k8s仪表板上,我看不到任何示例,该示例来自何处?这些似乎不是默认值。可以在istio存储库中检索当前默认值。
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
spec:
  components:
    citadel:
      enabled: true
    sidecarInjector:
      enabled: true
    telemetry:
      enabled: true
    ingressGateways:
      - name: istio-ingressgateway
        enabled: true
        k8s:
          service:
            ports:
              # We have to specify original ports otherwise it will be erased
              - port: 15020
                targetPort: 15020
                name: status-port
              - port: 80
                targetPort: 80
                name: http2
              - port: 443
                name: https
              - port: 15029
                targetPort: 15029
                name: kiali
              - port: 15030
                targetPort: 15030
                name: prometheus
              - port: 15031
                targetPort: 15031
                name: grafana
              - port: 15032
                targetPort: 15032
                name: tracing
              - port: 15443
                targetPort: 15443
                name: tls
              - port: 31400
                name: tcp
              # Your additional ports
              - port: 10000
                name: misc
  addonComponents:
    prometheus:
      enabled: false
  values:
    sidecarInjectorWebhook:
      enableNamespacesByDefault: true
    global:
      proxy:
        accessLogFile: "/dev/stdout"
    gateways:
      istio-egressgateway:
        enabled: false
      istio-ingressgateway:
        sds:
          enabled: true