首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

404使用Istio从K8s pod命中`metadata.google.internal`

404错误是指在客户端向服务器发送请求时,服务器无法找到请求的资源。这个错误通常是由于URL地址错误、服务器配置错误或者请求的资源不存在等原因引起的。

Istio是一个开源的服务网格平台,用于管理、连接和保护微服务。它提供了流量管理、安全性、可观察性和策略执行等功能。通过使用Istio,开发人员可以更好地管理和控制微服务架构中的流量。

K8s(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它提供了容器的自动化编排、弹性伸缩、服务发现和负载均衡等功能。

在这个问答中,提到了从K8s pod命中metadata.google.internalmetadata.google.internal是Google Cloud Platform(GCP)中的一个特殊域名,用于访问实例的元数据服务。元数据服务提供了关于实例的信息,如实例ID、区域、标签等。通过访问metadata.google.internal,可以获取实例的元数据信息。

然而,由于要求不能提及亚马逊AWS、Azure、阿里云、华为云、天翼云、GoDaddy、Namecheap、Google等流行的云计算品牌商,因此无法给出腾讯云相关产品和产品介绍链接地址。

综上所述,404使用Istio从K8s pod命中metadata.google.internal是一个问题描述,涉及到了错误状态码、服务网格平台Istio、容器编排平台Kubernetes以及Google Cloud Platform中的元数据服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

istio 问题排查: 使用 apollo 的 java 应用启动报 404

本文摘自 istio 学习笔记 问题描述 项目中使用了 apollo 插件,在非 istio 环境正常运行,但部署到 istio 后启动报类似如下错误: Sync config from upstream...所有可能的 PortIP:Port,请求 headless service 的 Pod 时,这里先匹配上。...然后走到 RDS 规则进行路由,路由时会匹配 hosts,hosts 列表中列举了所有可能的 service 地址 (没有 Pod IP),如果都匹配不到就会返回 404。...为了实现高可用,apollo 的 java 客户端默认是 meta server 中获取 config service 的 ip 地址 (服务发现),然后直接对该地址发起请求 (不使用 k8s service...),从而导致请求 config service 时没有将其 k8s service 地址作为 Host,最后 hosts 匹配不到返回 404

1.8K71

istio 常见异常分析

Service 端口命名约束 istio 支持多平台,不过 Istiok8s 的兼容性是最优的,不管是设计理念,核心团队还是社区, 都有一脉相承的意思。...但 istiok8s 的适配并非完全没有冲突, 一个典型问题就是 istio 需要 k8s service 按照协议进行端口命名(port naming)。...客户端收到的异常响应,诸如 403、404、503 或者连接中断等,可能是链路中任一 sidecar 执行流量管控的结果, 但也有可能是来自某个服务的合理逻辑响应。...)只开启了端口 a 和 b,因此最终 LB 端口 b 进来的流量才能被 istio gateway 管控。...Istio Gateway 和 k8s Service 没有直接的关联,二者都是通过 selector 去绑定 pod,实现间接关联 Istio CRD Gateway 只实现了将用户流控规则下发到网格边缘节点

3.7K62
  • 5分钟安装Kubernetes+带你轻松安装istio服务网格指南

    好的,现在我们开始安装istio吧。由于istio需要使用代理,所以我已经提前准备好了相应版本的istio安装包。接下来,只需将安装包直接复制到虚拟机中即可开始安装。...然而,我知道当安装istio时,它会在k8s中启动一个pod。于是,我决定直接查看后台启动日志,这样或许能找到问题的所在。因此,现在我们可以开始学习一些关于k8s命令的知识了。...kubectl get pods -n为了查看istio-system命名空间下的pod状态,你可以使用以下命令:kubectl get pods -n istio-system。...启动日志中可以看出,它被安装在了kube-flannel命名空间中。现在,我们来查看一下它的Pod情况。...对于初学者来说,我建议基础版镜像开始慢慢构建istio,这样可以更好地学习k8s的命令。

    48720

    KubeEdge | 边缘计算基本功--云原生

    get svc istio-ingressgateway -n istio-system # 访问网关 # 访问 / 提示 404 # 访问 /productpage 会被转发到 productpage...: 手动安装到自动化安装, 配置管理工具到镜像, 物理机到虚拟机到容器 声明式 API 举例: K8s 的 API 对象包括 Pod、Service、Deployment、Namespace、ConfigMap...服务, 用于解析服务名称, 通常使用 CoreDNS 作为 DNS 服务 pod: K8s 中的最小调度单元, 通常包含一个或多个容器, 通常使用 YAML 或 JSON 文件定义, 通常使用 kubectl...Envoy 作为 Sidecar istio: istio 是一个开源的服务网格框架, 用于管理微服务之间的通信, istio 通常使用 Sidecar 模式实现, istio 通常使用 Envoy 作为...Sidecar bookinfo 升级版: 与之前不同的是 不同服务之间的通信不再使用 K8s 的 Service, 而是使用 istio 的 Service, 通信方式不再是 HTTP, 而是使用

    546100

    Dubbo 在 K8s 下的思考

    市场上占据统治地位,如 etcd,Istio 等都采用 gRPC 作为通信工具;Service Mesh 开始概念上就火热,现在逐渐走向成熟,Istio + Envoy (其他 sidecar )逐渐开始走上舞台...Istio + Envoy ? Istio 的控制层会向 K8s 的 Api server 请求并监听 pod 信息,service 信息等信息。...这样 Istio 中就有了完整的 K8s 集群中的 Pod,service 等的完整信息。如果 K8s 集群中有信息变更,istio 中也可以得到通知并更新对应的信息。...Dubbo + Istio + Envoy Dubbo 可以直接使用指定 ip+端口 的方式调用同一个 pod 下 Envoy (也可能是同一个node的Envoy)。...当做了改造成应用级别的服务注册或者直接使用 K8s 自带的 Pod 发现机制的话,需要做一些改造,这部分改造,和前面提到的一样,放到其他文章里单独说明。

    1.6K50

    在Kubernetes生产环境中运行Istio

    数据平面使用边车代理容器(sidecar proxy container)实现,默认使用Envoy。为了确保Istio对应用完全透明,还实现了自动插入机制。最新的实现支持K8S 1.9和更新版本。...对于老K8S版本,可以使用初始化器(Initializer)。 边车容器通过GRPC协议连接到Pilot,该协议优化了对集群变化的推送实现机制。Envoy 1.6版本就开始使用GPRC了。...Istio-init容器是一个脚本,用于设置pod的iptables规则。有两种方式可配置将网络流量导入istio-agent容器:使用redirect iptables规则或TPROXY。...安装好以后,边车容器会被注入服务pod,Envoy会被启动起来,Pilot接受数据并开始处理请求。 这里关键的一点是,所有控制平面组件都是无状态的,因此很容器水平扩展。...在多集群部署中,需要考虑以下限制: CIDR Pod和服务CIDR必须是集群间唯一,而且不能重叠。 所有CIDR Pod都能在集群内被访问。 所有K8S API 服务器都能被互访。

    1.5K20

    istio在vm上的流量治理

    先决条件 •虚拟机两台 第一台作为k8s 部署istio,第二台作为vm,系统为centos8,centos 7要升级glibc 麻烦的很,第二台通过静态路由访问 k8s内部的pod, 本环境: vm1...: 192.168.8.131vm1上k8s pod cird: 10.201.0.0/24vm2: 192.168.8.170vm2添加静态路由:route add -net 10.201.0.0 gw...它仅旨在与非k8s工作负载(例如虚拟机)一起使用,并且旨在模仿现有的用于Kubernetes工作负载的Sidecar注入和部署规范模型,以引导Istio代理。...#istio-token:用于CA获取证书的Kubernetes令牌。#mesh.yaml:提供其他Istio元数据,包括网络名称,信任域和其他值。#root-cert.pem:用于认证的根证书。...-p tcp -m tcp --dport 53 -j REDIRECT --to-ports 15053 ISTIO_META_DNS_CAPTURE正常只能影响k8s上管理的pod,但是在cluster.env

    2.3K32

    Istio 学习笔记:Istio CNI 插件

    设计目标 当前实现将用户 pod 流量转发到 proxy 的默认方式是使用 privileged 权限的 istio-init 这个 init container 来做的(运行脚本写入 iptables...),Istio CNI 插件的主要设计目标是消除这个 privileged 权限的 init container,换成利用 k8s CNI 机制来实现相同功能的替代方案 原理 Istio CNI Plugin...不是 istio 提出类似 k8s CNI 的插件扩展机制,而是 k8s CNI 的一个具体实现 k8s CNI 插件是一条链,在创建和销毁pod的时候会调用链上所有插件来安装和卸载容器的网络,istio...CNI Plugin 即为 CNI 插件的一个实现,相当于在创建销毁pod这些hook点来针对istiopod做网络配置:写入iptables,让该 pod 所在的 network namespace...工作流程 复制 Istio CNI 插件二进制程序到CNI的bin目录(即kubelet启动参数--cni-bin-dir指定的路径,默认是/opt/cni/bin) 使用istio-cni-node

    2.2K61

    Knative通过外部域名访问集群内服务

    "1"问题就解决了,即**ISTIO_META_HTTP10: '"1"'** 404 Not Found 这个问题就涉及到VirtualService了,简称vs,在介绍vs之前我们先大致过一下knative...可以看到knative封装的太好了,极大的简化了用户操作,对于对集群没有高级需求的用户非常友好,同时也有利于我们快速入门,否则,如果要执行一堆命令的话,就真的可以入门到放弃了 但是我们毕竟是管理员,还是要对自己提高要求的...了解源码也是必须的,说到源码,只能感叹knative的源码要比k8s的源码封装的好太多了,其中一个原因也使得益于k8s提供的丰富的扩展机制:crd、operator、informer、webhook等。...for _, match := range http.Match { match.Authority = nil } } } 可以看到整体修改很少,修改完之后重新编译,制作镜像,修改线上Pod...knative中很多类型的属性并没有在上层暴露,导致无法直接使用ksvc进行管理,要么改源码,要么自己负责管理原本由ksvc统一管理的组件,虽然更加灵活,但是使用成本也更高,违背ksvc设计的初衷 通过此次问题排查

    1.4K20

    从一到万的运维之路,说一说VMDockerKubernetesServiceMesh

    注意从一步开始,我们已经可以使用普通的操作用户来操作k8s集群。而这两条命令,实际就是执行两个Pod,这两个Pod就赋予了容器网络功能。...k8s基本使用 先从执行一个容器开始,当然这个容器在k8s中是以Pod的形式执行的。...上面介绍的,是使用VMWare起步,到Docker,再延伸而来的习惯,是基于映像文件的使用方法。k8s的魅力远非止步于此。...k8s也支持json格式的配置文件,只是网上大多数存在的资源都已经使用了yaml,所以建议你也yaml开始,跟社区保持相同。...服务部分,单纯指令上跟前面k8s的示例没有区别,但是我们并没有定义服务类型比如NodePort。这是因为,我们使用的是Istio服务网格,虽然运行在k8s环境下,但并不需要k8s的网络代理功能。

    2.6K60

    (译)HTTP Egress 流量的监控和访问策略管理

    Istio 的主要功能就是在服务网格内部管理微服务之间的通信,除此之外,Istio 还能对 Ingress(外部进入网格) 和 Egress(网格发出到外部) 流量进行管理。...使用 Grafana 进行指标可视化:Istio Dashboard 在网格流量监控方面的作用。 基础访问控制:网格内服务的访问控制问题。 安全访问控制:如何使用黑名单和白名单配置访问策略。...预备使用 policics 命名空间中的 sleep pod 来发送请求,这里定义一个环境变量来保存 Pod 名称。... $SOURCE_POD 发送到 cnn.com 的请求: $ kubectl exec -it $SOURCE_POD -c sleep -- bash -c 'curl -sL -o /dev/null... $SOURCE_POD_IN_POLITICS 发送到 cnn.com 的请求: $ kubectl exec -it $SOURCE_POD_IN_POLITICS -n politics -c

    1.7K20

    istio 庖丁解牛(一) 组件概览

    Mesh 领域的集大成者, 提供了流控, 安全, 遥测等模型, 其功能复杂, 模块众多, 有较高的学习和使用门槛, 本文会对istio 1.1 的各组件进行分析, 希望能帮助读者了解istio各组件的职责...、以及相互的协作关系. 1. istio 组件构成 以下是istio 1.1 官方架构图: 1.png 虽然Istio 支持多个平台, 但将其与 Kubernetes 结合使用,其优势会更大, Istio.../cmd/mixs citadel istio/citadel istio_ca istio/security/cmd/istio_ca 另外还有2个命令不在上图中使用: 命令 源码入口 作用 mixc...这在Mesh Expansion特性中会用到, 即k8s和vm打通. 2.2 istio/proxy https://github.com/istio/proxy 该项目本身不会产出镜像, 它可以编译出一个...Istio Pod 概述 3.1 数据面用户Pod 数据面用户Pod注入的内容包括: initContainer istio-init: 通过配置iptables来劫持Pod中的流量, 转发给envoy

    2.2K50

    Istio 组件概览

    Istio 作为 Service Mesh 领域的集大成者, 提供了流控, 安全, 遥测等模型, 其功能复杂, 模块众多, 有较高的学习和使用门槛, 本文会对istio 1.1 的各组件进行分析, 希望能帮助读者了解...istio各组件的职责、以及相互的协作关系. 1. istio 组件构成 以下是istio 1.1 官方架构图: image.png 虽然Istio 支持多个平台, 但将其与 Kubernetes 结合使用.../cmd/mixs citadel istio/citadel istio_ca istio/security/cmd/istio_ca 另外还有2个命令不在上图中使用: 命令 源码入口 作用 mixc...这在Mesh Expansion特性中会用到, 即k8s和vm打通. 2.2 istio/proxy https://github.com/istio/proxy 该项目本身不会产出镜像, 它可以编译出一个...Istio Pod 概述 3.1 数据面用户Pod 数据面用户Pod注入的内容包括: initContainer istio-init: 通过配置iptables来劫持Pod中的流量, 转发给envoy

    1.7K21

    控制pod内container执行顺序的几种姿势

    介绍 在使用k8s的过程中在特定场景可能需要控制pod的执行顺序,接下来我们将学习各个开源组件的实现方式 istio中的实现 今天在测试istio新功能时注意到istio中添加了values.global.proxy.holdApplicationUntilProxyStarts...postStart: exec: command: - pilot-agent - wait 熟悉k8s...这里就来到了一个误区,大家可能都认为pod的初始化容器完成后,将并行启动pod的常规容器,事实上并不是。...自有的Sidecar container Kubernetes 1.18可以将容器标记为sidecar,以便它们在正常容器之前启动,而在所有其他容器终止后关闭。...目前istio并未使用该方式保证istio-proxy容器的启动顺序,可能是基于版本考虑,并且Sidecar container。

    8.1K51

    K8S 1.18版本将内置支持SideCar容器。

    一、前言 Kubernetes的目标不仅是使分布式应用程序的部署和运维变得简单可靠,还旨在能轻松地创建“云原生”应用程序,即易于创建在云环境中运行的分布式应用程序和服务,于是1.18版本开始K8S将原生支持生命周期类型为...由于Pod中的常规容器之间没有区别,因此无法控制哪个容器首先启动或最后终止,但是先正确运行Sidecar容器通常是应用程序容器正确运行的要求。 Pod启动 让我们看一个Istio服务网格示例。...三、解决方案 为了彻底解决上述痛点,1.18版本开始,K8S内置的Sidecar功能将确保边车在正常业务流程开始之前就启动并运行,即通过更改pod的启动生命周期,在init容器完成后启动sidecar...五、如何使用新功能?...Pod中,可以看出此功能将从根本上解决目前很多使用边车模式存在的问题。

    2K30

    使用 Istio CNI 支持强安全 TKE Stack 集群的服务网格流量捕获

    Kubernetes 1.11 版本开始,我们可以在集群中使用 PodSecurityPolicy[2] 资源(PSP)来限制集群中的 Pod 可以使用的默认权限或能力。...这样整个 Istio 软件的功能也就无从谈起了。此外, Kubernetes 1.21 版本开始, PSP 功能将逐步被弃用。新版集群上可能使用其他替代机制限制 Pod 权限。...使用 Istio CNI 解决权限扩散问题 上面谈到的安全风险来自于在所有需要注入 Sidecar 的业务 Pod 均需要同步注入高权限 istio-init 容器,而业务 Pod 可以由使用集群的任何人来创建和使用...这些程序稍后在新的业务 Pod 创建或销毁时会收到来自 k8s 的调用,接着它们完成 IPTABLES 规则的配置。... Pod 创建日志及 kubelet 上都可以找到这一错误信息。 更糟糕的是,即使此时卸载 Istio CNI,仍然不能恢复 Galaxy CNI 的功能。

    57420
    领券