我有一个在kubernetes pod中运行的应用程序(在我的本地docker桌面上,启用kubernetes),监听端口8080。然后我有以下kubernetes配置
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: myrelease-foobar-app-gw
namespace: default
spec:
selector:
istio: ingressgateway
servers:
- port:
number: 443
name: https
protocol: HTTPS
tls:
mode: SIMPLE
credentialName: default-foobar-local-credential
hosts:
- test.foobar.local
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: myrelease-foobar-app-vs
namespace: default
spec:
hosts:
- test.foobar.local
gateways:
- myrelease-foobar-app-gw
http:
- match:
- port: 443
route:
- destination:
host: myrelease-foobar-app.default.svc.cluster.local
subset: foobarAppDestination
port:
number: 8081
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: myrelease-foobar-app-destrule
namespace: default
spec:
host: myrelease-foobar-app.default.svc.cluster.local
subsets:
- name: foobarAppDestination
labels:
app.kubernetes.io/instance: myrelease
app.kubernetes.io/name: foobar-app
---
apiVersion: v1
kind: Service
metadata:
name: myrelease-foobar-app
namespace: default
labels:
helm.sh/chart: foobar-app-0.1.0
app.kubernetes.io/name: foobar-app
app.kubernetes.io/instance: myrelease
app.kubernetes.io/version: "1.0.0"
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 8081
targetPort: 8080
protocol: TCP
name: http
selector:
app.kubernetes.io/name: foobar-app
app.kubernetes.io/instance: myrelease
这个很好用。但我想把443端口改成其他端口,比如8443(因为我将有多个网关)。当我有这个,我不能再访问应用程序了。是否有一些配置我遗漏了?我猜我需要配置Istio来接受8443端口?我使用以下命令安装了istio:
istioctl install --set profile=default -y
编辑:我读了更多的书(https://www.dangtrinh.com/2019/09/how-to-open-custom-port-on-istio.html),我做了以下工作:
- name: foobarhttps
nodePort: 32700
port: 445
protocol: TCP
targetPort: 8445
- port:
number: 445
name: foobarhttps
protocol: HTTPS
http:
- match:
- port: 445
但我仍然无法从浏览器访问它(https://foobar.test.local:445)
修好了。我在上面的编辑中犯了以下错误:
- name: foobarhttps
nodePort: 32700
port: 445
protocol: TCP
targetPort: 8443
(请注意,targetPort仍然是8443)。我猜8443端口上有一个istio组件在监听,它处理所有这些https内容。感谢用户140547的帮助!
我认为该端口必须映射到Istio入口网关上。因此,如果你想使用自定义端口,你可能需要自定义它。
但通常情况下,如果多个网关使用同一端口,则不会造成冲突。因此,对于这个用例,不需要这样做。
我正在使用minikube和traefik入口创建一个粘性会话。 因此,我已经完成了kubernetes用户指南提供的traefik的部署。https://docs.traefik.io/user-guide/kubernetes/ 我使用守护程序集部署traefik。因为这是一个小项目,是我第一次使用kubernetes和docker。 这是我的ingress yaml文件 我的服务yaml文件
我尝试使用openshift路由配置istio入口。据我所知,请求路径如下:
我设法在托管提供商(hetzner)的专用服务器上安装了kubernetes 1.22、longhorn、kiali、prometheus和istio 1.12(配置文件=最小)。 然后,我继续使用istio教程中的istio入口网关测试http://http://www. istio. com/。我有一些问题,使此访问从互联网(我设置HAProxy转发本地端口80到Kubernetes中分配的动
这起作用了 这不是
我很难理解Istio网关端口到底是如何使用的。我指的是下面例子中的第14行 从Istio文档中: 代理应在其上侦听传入连接的端口。因此,如果您应用上面的yaml文件并检查istio-ingress网关pod以监听TCP端口,您会发现实际上使用了端口8169(见下面的输出) 但棘手的部分来了。如果在应用Gateway之前更改istio-ingress网关服务如下: 然后应用网关,实际使用的端口不是8
我正在尝试在本地使用wsl2和docker desk运行bookinfo示例。由于连接被拒绝,我试图通过网关访问productpage服务时遇到问题。我不确定我是否错过了什么。以下是我在网上搜索了很多次后所做的事情 部署了bookinfo示例中的所有服务,并且所有服务都处于运行状态,我可以使用kubectl exec从其他服务中创建productpage 使用示例中的文件部署bookinfo网关,