首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Istio网关未应用于istio-ingressgateway

Istio网关未应用于istio-ingressgateway
EN

Stack Overflow用户
提问于 2019-04-10 05:12:04
回答 2查看 175关注 0票数 0

我正在尝试让istio与我的mssql服务一起工作。istio-ingressgateway似乎没有使用正确的端口值进行更新。

我在1.10+上运行GKE

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
  name: mssql
  labels:
    app: mssql
    service: mssql
spec:
  selector:
    app: mssql
  ports:
    - protocol: TCP
      port: 1433
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: public-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 1433
      protocol: TCP
      name: tcp-1433
    hosts:
    - "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: vservice-mssql
spec:
  hosts:
  - "*"
  gateways:
  - public-gateway
  tcp:
  - match:
    - port: 1433
    route:
    - destination:
        host: mssql
        port: 
          number: 1433

在运行时应用配置后,我希望在istio-ingressgateway上打开端口,但结果是:

代码语言:javascript
复制
istio-ingressgateway   LoadBalancer   10.8.1.100   **REDACTED** 80:31380/TCP,443:31390/TCP,31400:31400/TCP,15011:30160/TCP,8060:32736/TCP,853:30641/TCP,15030:31124/TCP,15031:30849/TCP   90d

未列出我在网关上打开的端口。

EN

回答 2

Stack Overflow用户

发布于 2019-10-04 02:03:21

使用以下资源定义

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
  name: mssql
  labels:
    app: mssql
    service: mssql
spec:
  selector:
    app: mssql
  ports:
    - protocol: TCP
      port: 1433
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: public-gateway
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 15011
      protocol: TCP
      name: tcp-15011
    hosts:
    - "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: vservice-mssql
spec:
  hosts:
  - "*"
  gateways:
  - public-gateway
  tcp:
  - match:
    - port: 15011
    route:
    - destination:
        host: mssql
        port: 
          number: 1433
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: mssql
  namespace: istio-system
spec:
  host: mssql`enter code here`
  trafficPolicy:
    tls:
      mode: DISABLE

使用节点端口30160访问mssql

15011:30160/TCP

代码语言:javascript
复制
istio-ingressgateway   LoadBalancer   10.8.1.100   **REDACTED** 80:31380/TCP,443:31390/TCP,31400:31400/TCP,15011:30160/TCP,8060:32736/TCP,853:30641/TCP,15030:31124/TCP,15031:30849/TCP   90d
票数 0
EN

Stack Overflow用户

发布于 2021-04-17 20:36:02

如果使用操作符安装istio,则必须手动将端口添加到操作符规范中:

代码语言:javascript
复制
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
  name: istio-control-plane
spec:
  values:
    ingressGateways:
      - enabled: true
        name: istio-ingressgateway
        k8s:
          service:
            ports:
              - name: status-port
                port: 15021
                targetPort: 15021
              - name: http2
                port: 80
                targetPort: 8080
              - name: https
                port: 443
                targetPort: 8443
              - name: tcp
                port: 31400
                targetPort: 31400
              - name: tls
                port: 15443
                targetPort: 15443
              - # ADD PORTS HERE

此处列出的端口是默认端口。我不确定是否删除它们,istio-operator是否会将默认端口与您要添加的端口“合并”。但是你可以尝试一下(让我们知道!)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55601390

复制
相关文章

相似问题

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