首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何为istio入口网关添加自定义端口?

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

Stack Overflow用户
提问于 2019-06-19 06:59:00
回答 3查看 9.3K关注 0票数 6

我是新来的。我有一个简单的入口网关yaml文件,监听端口是26931,但是应用yaml之后,端口26931不会出现在入口网关公开的一组端口中。那我是缺少必要的步骤还是别的什么?

代码语言:javascript
代码运行次数:0
运行
复制
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: batman-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 26931
      name: http
      protocol: HTTP
    hosts:
    - "*"
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-06-19 13:38:52

您公开的端口不是使用Gateway对象,而是使用ingressgateway服务。

代码语言:javascript
代码运行次数:0
运行
复制
kubectl edit svc istio-ingressgateway -n istio-system

因此,如果您想公开端口26931,则应该使用网关服务进行此操作。

代码语言:javascript
代码运行次数:0
运行
复制
  ports:
  - name: http
    nodePort: 30001
    port: 26931
    protocol: TCP
    targetPort: 80

还评论了您以前的帖子- 如何在istio中配置入口网关?

票数 9
EN

Stack Overflow用户

发布于 2020-04-15 12:12:08

在Istio1.5.1中,使用istioctl安装了以下命令(参见官方医生):

代码语言:javascript
代码运行次数:0
运行
复制
istioctl manifest apply -f your-overlay-config.yaml

附加端口可以在components.ingressGateways节中的your-overlay-config.yaml文件中指定。例如:

代码语言:javascript
代码运行次数:0
运行
复制
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

值得注意的是,对于Istio1.5和Istio1.4,必须在values.gateways.istio-ingressgateway部分中指定端口。

票数 6
EN

Stack Overflow用户

发布于 2019-09-23 12:20:37

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

注意事项:从Istiov1.2和v1.3.0开始,原始子图中定义的默认端口列表将被覆盖。为了保持缺省值不变,下面的代码段有一些硬复制的值。

代码语言:javascript
代码运行次数: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
      ##____________________________________________##
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56661765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档