【问题标题】:istio on k8s gateway hosts valuek8s 网关主机上的 istio 值
【发布时间】:2018-12-08 23:10:33
【问题描述】:

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

pod 和服务似乎正常运行。

然后我导出端口和主机

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

export SECURE_INGRESS_PORT=$(kubectl -n istio-system 获取服务 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

【问题讨论】:

    标签: yaml minikube istio


    【解决方案1】:

    连sidecar都跑了,我也得用

    如果您使用手动 sidecar 注入,请使用以下命令

    $ kubectl apply -f

    https://istio.io/docs/guides/bookinfo/

    下面的自动注入不起作用。

    如果您使用的是启用了自动 Sidecar 注入的集群, 只需使用 kubectl 部署服务

    $ kubectl apply -f samples/bookinfo/kube/bookinfo.yaml 复制

    因为自动注入需要提供标签。

    Istio-Sidecar-injector 将自动注入 Envoy 容器 进入您的应用程序 pod,假设在标记为的命名空间中运行 istio-injection=启用

    $ kubectl 标签命名空间 istio-injection=enabled $ kubectl create -n -f .yaml 复制

    https://istio.io/docs/setup/kubernetes/quick-start/

    【讨论】:

      【解决方案2】:

      您应该指定"*"。注意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
      

      【讨论】:

      • 我做了第 3 步。这就是我让所有 pod 运行的方法。 (上面的蓝色屏幕截图)。我错过了什么吗?
      • 如上面第二个蓝色屏幕截图所示,取得了一些进展。现在我收到 503。如何解决此错误?
      • 我添加了一些解决 ingress 网关问题的说明。
      • 我需要一个证书文件来使 istio 工作吗? [2018-06-28 02:57:06.597][14][critical][main] external/envoy/source/server/server.cc:77] 初始化配置'/etc/istio/proxy/envoy-rev0. json':无法读取文件:/etc/certs/root-cert.pem [2018-06-28 02:57:06.597][14][info][main] external/envoy/source/server/server.cc :435] 退出
      猜你喜欢
      • 1970-01-01
      • 2018-11-17
      • 2022-10-02
      • 2019-12-30
      • 2021-12-01
      • 2020-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多