yaml - 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
解决方案
连边车都在运行,我必须使用
如果您使用手动 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 复制
推荐阅读
- mysql - MySql 为什么要花很长时间来排序结果包括 SELECT IF() as Alice
- html - 您如何使用或
从 Wordpress Classic Blocks(页面编辑器)中使用 - android - 如何在 Android Studio 上的每台设备上使视图大小相同
- sql - 多个 UNION 可能更好的 SQL 查询 - 获取不同“键”名称的最新 5 条记录
- spring-cloud-stream - Spring Cloud Stream 和 Spring RetryTemplate 处理嵌套异常
- javascript - 无法使用 discord.js 获得角色
- git - 如何删除 .git 的大包文件?
- java - 如何查找重复的数组列表对象并将少数字段与唯一键合并
- java - MapStruct 映射不相关的相似类
- java - 查找字符串中打开的闭合 html 标记的数量