当前位置: 首页 > 知识库问答 >
问题:

k8s网关主机上的istio值

胡致远
2023-03-14

我正在尝试按照https://istio.io/docs/guides/bookinfo/和https://istio.io/docs/tasks/traffic-management/ingress/#detining-the-ingress-ip-and-ports的说明将istio放到MiniKube上。

然后导出端口和主机

export ingress_port=$(kubectl-n istio-system get service istio-ingressgateway-o jsonpath='{.spec.ports[?(@.name==“html" target="_blank">http”)].nodeport}')

export secure_ingress_port=$(kubectl-n istio-system get service istio-ingressgateway-o jsonpath='{.spec.ports[?(@.name==“https”)].nodeport}')

export ingress_host=$(kubectl get po-l istio=ingressgateway-n istio-system-o“JsonPath={.items[0].status.hostip}”)

根据我的理解,下一步是使用istio网关配置ingress。在下面的yaml中,我应该把hosts值放进去?

cat <<EOF | istioctl create -f -
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: book-gateway
spec:
  selector:
    istio: ingressgateway # use Istio default gateway implementation
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - 
EOF

共有1个答案

傅阳
2023-03-14

您应该指定“*”。注意https://istio.io/docs/guides/bookinfo/#running-on-kubernetes中的步骤3

定义应用程序的入口网关

您有一个准备好的yaml文件:samples/bookinfo/routing/bookinfo-gateway.yaml

$ istioctl get gateway bookinfo-gateway -o yaml
$ istioctl get virtualservice bookinfo -o yaml
$ kubectl get svc -n istio-system
$ kubectl logs -n istio-system -l istio=ingressgateway
 类似资料:
  • 这起作用了 这不是

  • 我正在尝试在本地使用wsl2和docker desk运行bookinfo示例。由于连接被拒绝,我试图通过网关访问productpage服务时遇到问题。我不确定我是否错过了什么。以下是我在网上搜索了很多次后所做的事情 部署了bookinfo示例中的所有服务,并且所有服务都处于运行状态,我可以使用kubectl exec从其他服务中创建productpage 使用示例中的文件部署bookinfo网关,

  • 我试图在安装服务网格、网关和应用路由策略后,在我的Istio入口网关上启用HTTPS。最初的Istio安装是使用一个配置文件完成的,该配置文件包括一个istio-ingress网关服务。当我这样做时,它将入口网关创建为,而不是。 我看了这个:https://istio.io/latest/docs/tasks/traffic-management/ingress/secure-ingress/但是

  • 我有一个在kubernetes pod中运行的应用程序(在我的本地docker桌面上,启用kubernetes),监听端口8080。然后我有以下kubernetes配置 这个很好用。但我想把443端口改成其他端口,比如8443(因为我将有多个网关)。当我有这个,我不能再访问应用程序了。是否有一些配置我遗漏了?我猜我需要配置Istio来接受8443端口?我使用以下命令安装了istio: 编辑:我读了

  • 我很难理解Istio网关端口到底是如何使用的。我指的是下面例子中的第14行 从Istio文档中: 代理应在其上侦听传入连接的端口。因此,如果您应用上面的yaml文件并检查istio-ingress网关pod以监听TCP端口,您会发现实际上使用了端口8169(见下面的输出) 但棘手的部分来了。如果在应用Gateway之前更改istio-ingress网关服务如下: 然后应用网关,实际使用的端口不是8

  • 我对Kubernetes和Istio有点陌生。我正在尝试创建一个服务并通过HTTPS访问它。 通过HTTP看起来一切都很好 我使用了cert-manager和let's Encrypt来生成证书 证书已成功生成 我使用以下命令生成了机密 这些是我的网关、虚拟服务、集群颁发者和证书的配置文件。 网关 证书 当我运行时,我可以看到tls.crt和tls.key内容。 有什么想法为什么我不能达到我可以通