检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
虚拟机服务访问容器服务 启动ASM-PROXY后,虚拟机服务可以访问容器内的服务,如下图所示。 验证流程如下: 部署容器服务:在CCE集群中部署容器服务tomcat。 容器服务加入网格:将tomcat服务加入网格,确保服务诊断状态为正常。 访问容器服务:编辑虚拟机的/etc/ho
容器服务访问虚拟机服务 启动ASM-PROXY后,容器内的服务可以访问虚拟机上的服务,如下图所示。 验证流程如下: 部署虚拟机服务:在虚拟机中部署httptest应用。 部署容器服务:在CCE集群中部署容器服务tomcat。 添加虚拟机服务到网格:不同于容器服务有自动注册能力,当
Sidecar未就绪导致Pod启动失败 问题背景 加入网格的服务有时可能遇到Pod启动失败,且一直重启。排查原因发现业务容器与外部通信时流量会经过istio-proxy容器,但业务容器比istio-proxy容器先启动,在istio-proxy容器没启动成功时,业务容器已经启动,与外部通信将会失败,Pod一直重启。
参数 说明 申请 容器使用的最小CPU需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配CPU总量 ≥ 容器CPU申请数时,才允许将容器调度到该节点。 限制 容器能使用的CPU最大值。 内存配额参数说明: 参数 说明 申请 容器使用的最小内存需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配内存总量
将应用迁移到云原生架构,不断容器化的过程中,一般会经历三个阶段,如下图所示。 阶段一:所有应用都部署在虚拟机上。 阶段二:应用既部署在虚拟机上也部署在容器中,正在从虚拟机向容器迁移,并且使用Kubernetes管理容器。 阶段三:所有应用都部署在容器中,使用Kubernetes管理容器,并且使用Istio管理应用间的通信。
Istio Sidecar。 等待所有的 Init 容器成功执行完毕。 Istio Sidecar 跟随 Pod 的其它容器一起启动。 由于 initContainer 在 Sidecar 启动之前执行,initContainer 发出的请求会被重定向到尚未启动的 Sidecar 上,这会导致
uration) Istio-proxy容器终止等待时间,Istio-ingressgateway场景下建议值是300秒。 配置该参数会触发工作负载滚动升级,即Pod会立即发生重启。老Pod删除时按旧的配置值(5s)生效。 父主题: Pod优雅删除
所有Pod是否都注入了sidecar 问题描述 Service管理的所有Pod都必须存在istio-proxy容器,否则报此异常。 修复指导 登录ASM控制台,选择服务所在网格。单击左侧导航中的“网格配置”,选择“sidecar管理”页签,检查服务所在命名空间是否已注入sidecar。
requests: cpu: "1" memory: 512Mi 方法一:调整网格中的所有服务 一次配置对所有加入网格的服务的istio-proxy容器资源占用进行调整。 执行以下命令修改ConfigMap。 kubectl edit cm istio-sidecar-injector
设置fsgroup,导致业务容器挂载文件属组被修改 问题描述 业务pod注入sidecar时设置fsgroup为1337,导致业务容器挂载文件属组被改成1337。 原因分析 因为k8s 版本bug: https://github.com/kubernetes/kubernetes/issues/57923
为了保证虚拟机与CCE集群的Pod互通,准备的虚拟机需要与CCE集群处于同一VPC内。 虚拟机需放通安全组,入方向需添加到<cluster-name>-cce-control安全组的规则,否则ping不通Pod IP。 获取根证书 通过kubectl访问CCE集群。 登录云容器引擎控制台
创建集群。 登录云容器引擎CCE控制台。 选择左侧导航中的“资源管理 > 集群管理”,单击“CCE集群”右侧的“购买”按钮。 创建集群的详细步骤请参见购买CCE集群。 在“服务选型”页面设置如下参数,其余参数均采用默认值。 集群名称:用户自行输入,此处设置为“cce-asm”。 虚
all -- docker0 any anywhere anywhere 卸载容器 在虚拟机上执行以下命令,获取asm-proxy容器ID。 docker ps | grep asm-proxy 回显第一列为asm-proxy容器的ID。 46afed024f46
根据标签查找Service关联的Pod。 kubectl get pod -n {namespace} -l app=ratings,release=istio-bookinfo {namespace}和Service的namespace一致。 根据Pod名称,找到其关联的工作负载。
所有Pod是否都配置了app和version标签 问题描述 Service关联的所有Pod都必须配置app和version标签。app标签在流量监控中用于流量的跟踪,version标签在灰度发布中用于区分不同版本。如果存在未配置app或version标签的Pod,则报此异常。 修复指导
Pod刚刚启动后,为什么不能立即看到流量监控数据? 请确保集群已开通APM。 流量监控对采集到的数据进行了聚合处理,需积累一分钟才能看到数据。 父主题: 流量监控
一键创建体验应用为什么启动很慢? 体验应用包含productpage、details、ratings和reviews 4个服务,需要创建所有相关的工作负载和Istio相关的资源(DestinationRule、VirtualService、Gateway)等,因此创建时间较长。 父主题:
配置该参数会触发工作负载滚动升级,即Pod会立即发生重启。老Pod删除时按旧的配置值(30s)生效。 针对注入了Sidecar的业务负载,需要取Istio-proxy容器终止排出时间和业务容器优雅退出时间中的较大值。 父主题: Pod优雅删除
Service在所有集群的配置是否相同 问题描述 如果网格管理了多个集群,其他集群的同名Service和当前集群的Service被视为同一个服务,spec.selector配置、spec.ports配置必须和当前Service相同。 仅在网格管理的集群数量大于1时才可能出现此异常。
验证方式 由于流量拦截配置最终会在容器内iptables中生效,执行下述指令查看配置是否生效: 登录到配置流量拦截策略工作负载所在节点,docker ps找到对应的pause容器,查看容器id; 查看容器进程docker inspect <CONTAINER_ID> | grep –i pid;