istio对外暴露服务

使用 istio ingressgateway 之 nodePort

以http协议为例子

$ kubectl get svc istio-ingressgateway -n istio-system  -o yaml | grep -C 5 nodePort
  ports:
  - name: http2
    nodePort: 32586    # 可以使用节点ip+此端口来访问
    port: 80
    protocol: TCP
    targetPort: 8080

也可以这样来获取:

export INGRESS_PORT=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="http2")].nodePort}')

echo $INGRESS_PORT

使用 istio ingressgateway 之 externalIPs

$ kubectl edit svc istio-ingressgateway -n istio-system
修改spec下的内容, 增加 externalIPs,...
spec:
  externalIPs: # 增加的内容
  - 192.168.3.4 # 增加的内容
  - aa.bb.cc.dd  # 需要增加的ip
  allocateLoadBalancerNodePorts: true
  clusterIP: 10.96.32.201

如果你的 istio-ingressgateway 显示状态是<pending>, 那么很可能是你不在公有云环境, 这里需要像上面一样手动kubectl edit...

$ kubectl get svc -n istio-system | grep istio-ingressgateway 
istio-ingressgateway   LoadBalancer   10.96.32.201     <pending>     15021:32678/TCP 省略...

参考

  1. https://istio.io/latest/docs/tasks/traffic-management/ingress/ingress-control/#determining-the-ingress-ip-and-ports

欢迎补充指正!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值