首页 > 解决方案 > k8s 网关主机上的 istio 值

问题描述

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

吊舱和服务似乎启动并运行良好。 在此处输入图像描述

然后我导出端口和主机

export INGRESS_PORT=$(kubectl -n istio-system 获取服务 istio-ingressgateway -o jsonpath='{.spec.ports[?(@.name=="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 网关配置入口。在下面的 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

在此处输入图像描述

标签: yamlminikubeistio

解决方案


连边车都在运行,我必须使用

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

$ kubectl apply -f <(istioctl kube-inject -f samples/bookinfo/kube/bookinfo.yaml)

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

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

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

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

这是因为需要为自动注射提供标签。

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

$ kubectl label namespace istio-injection=enabled $ kubectl create -n -f .yaml 复制

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


推荐阅读