5:TSF如何创建独立部署模式容器集群
用户可以通过在容器服务 TKE 上创建独立部署模式集群(或设置集群Kubernetes版本,设置集群Master&Etcd,设置集群规模),然后在 TSF 控制台上导入该集群使用。具体操作步骤为: 1、在容器服务 TKE 控制台上创建需要灵活配置的容器集群。 2、在腾讯微服务平台 TSF 控制台上创建集群,选择【容器集群】类型。 3、新建类型选择【导入容器服务TKE集群】,选择步骤1中创建的集群
6:集群网络和容器网络如何设置
集群网络与容器网络是集群的基本属性。通过设置集群网络和容器网络可以规划集群的网络划分。 集群网络:将为集群内主机分配在节点网络地址范围内的 IP 地址,您可以选择私有网络中的子网用于集群的节点网络。 容器网络:将为集群内容器分配在容器网络地址范围内的 IP 地址,您可以自定义三大私有网段作为容器网络, 根据您选择的集群内服务数量的上限,自动分配适当大小的 CIDR 段用于 kubernetes service,同时容器网络自动为集群内每台云主机分配一个24位的网段用于该主机分配 Pod 的 IP 地址。
7:TSF不同集群内的服务是否支持相互调用
在网络连通性的前提下,同一命名空间内的服务可以相互发现和相互调用。如果要实现跨集群的服务访问,有两个前提: 1、集群内实例网络互通 2、集群关联相同的命名空间。多个集群通过命名空间名称(而不是命名空间 ID)作为关联的 key。用户可以在命名空间一级页面中看到关联的集群信息。
举例: 有2个集群分别是 cls-a 和 cls-2,两个集群内实例网络互通(如在相同 VPC 内),并且都关联了命名空间 test-ns。要实现跨集群访问,需要确保在创建部署组 provider (cls-a集群内) 和 consumer(cls-b集群内) 时,使用相同的命名空间 test-ns。
8:TSF如何设置开发环境和测试环境
在同一个账号下,用户可以通过集群或者命名空间来划分开发环境和测试环境: 1、使用集群划分:创建两个集群并使用不同的VPC作为集群网络,通过网络实现服务之间隔离的作用。使用集群来划分的特点是不同集群不会共享底层的云服务器等资源。 2、使用命名空间来划分:创建两个非全局命名空间,不同命名空间内的服务默认不支持相互调用。
9:TSF有哪几种部署方式
1、虚拟机应用:通过程序包部署在云服务器上的应用。 2、容器应用:通过镜像部署在 Docker 容器中的应用。 3、Serverless 应用:通过程序包部署在 Serverless 方式中的应用。
10:程序包容量达到上限
默认每个租户程序包的存储容量为100GB,如果超过上限,上传程序包时会提示错误信息。此时用户需要删除仓库中历史版本的程序包后才能上传新的程序包。
11:应用和服务之间是什么关系
在 TSF 中应用是管理一组程序包、镜像、配置的抽象概念,服务表示已经注册到注册中心的程序。可以从以下维度来区分应用和服务:
概念 | 程序类型 | 主要功能 | 与部署组的关系 |
---|---|---|---|
应用 | 无特定类型 | 程序包版本管理、配置版本管理 | 部署组使用应用中的程序包和配置 |
服务 | 注册到注册中心的微服务 | 服务注册、服务限流、服务路由等服务治理功能 | 在相同命名空间下具有相同服务名的部署组都属于一个服务 |
12:如何选择容器部署组的访问方式
容器部署组的访问方式定义访问后端 Pod 的访问方式,并提供固定的虚拟访问 IP。您可以在 Service 中通过设置来访问后端的 Pod,不同访问方式的服务可提供不同网络能力。
TSF 目前提供以下三种服务访问方式: 提供公网访问:使用 Service 的 Loadbalance 模式,公网 IP 可直接访问到后端的 Pod,适用于 Web 前台类的服务。创建完成后的服务在集群外可通过负载均衡域名或 IP + 服务端口访问服务,集群内可通过服务名 + 服务端口访问服务。 仅在集群内访问:使用 Service 的 ClusterIP 模式,自动分配 Service 网段中的 IP,用于集群内访问。数据库类等服务如 MyS L 可以选择集群内访问,以保证服务网络隔离。创建完成后的服务可以通过服务名 + 服务端口访问服务。 主机端口(NodePort)访问:提供一个主机端口映射到容器的访问方式,支持 TCP、UDP、Ingress。可用于业务定制上层 LB 转发到 Node。创建完成后的服务可以通过云服务器 IP+主机端口或服务名 + 服务端口访问服务。
13:如何查看部署组生效的配置
用户可以通过 TSF 控制台查看发布到部署组上生效的配置,生效的配置是由发布到该部署组上的应用配置和全局配置合并之后的结果。 操作步骤: 1、在 TSF 控制台的左侧导航栏,单击【部署组】 2、单击目标部署组右侧操作【更多】>【查看配置】。
14:TSF所在虚拟机的修改登录密码后,是否会对TSF有影响
对影响运营端启停不可用,其他不影响。
15:tsf部署的主机如果关机后重新启动服务都会被重新拉起么
部署应用的主机包括tsf本身重启都会自动拉起。
16:TSF版本是否支持WebSocket/json呢
TSF mesh服务治理是基于HTTP/HTTP2/GRPC的,websocket只有在握手时才用到HTTP协议,真正数据传输时不一定是HTTP可能是任何TCP数据,因此支持肯定是不完整的,不过作为纯TCP流量,服务的注册发现是没问题。
17:如何启动envoy的上游主动健康检查
目前TSF mesh也是主动探测服务的健康状态,只是不是通过envoy原来的健康检测机制,原生的envoy健康检测机制还保留,只是暂时没有把这部分能力暴露到控制台可以让用户操作。
18:TSF 微服务网关相关的API文档和操作文档
https://tsf-gitbook-1257356411.cos.ap-chengdu.my cloud.com/1.12.4/usage/index.html
19:TSF概述里的服务失败率,接口失败的监控数据来源于哪
服务失败率是从调用的client类型日志里面统计出来的,trace日志内resultStatus值为fail或者状态码非2开头就算认为是失败。
20:TSF概念页的数据与实际不符
概念页显示的命名空间包括:网关命名空间和普通命名空间而命名空间列表只显示普通命名空间
21:TSF日志路径:目前最多配置条数(能添加很多配置的窗口,实际只有5条能够成功配置)
目前最多配置5条,目前限制5条生效,是产品策略、设计如此
22: TSF的概览页面显示的实例和运行服务的定义是什么
实例是指的是每个部署组下添加的实例数量总和;运行服务是当前注册上consul的应用数量总和;应用是对应租户下的tsf_resource.tsf_resource_application记录的应用数量
23: 应用无法查看调用链排查思路(可能原因)之一
根据文档,检查应用代码是否添加了正确的依赖项,https://cloud.tencent.com/document/product/649/16622
24: 应用配置能创建多少个配置,版本能创建多少个
目前没限制,但是单个value和合并后的下发配置不能超过512KB
25: sdk版本查看,引用正确sdk版本可参考官网文档
可以通过pom文件查到;根据官网文档https://cloud.tencent.com/document/product/649/20231 进行私有版本的引用参考
26: Mesh应用节点上设置net.ipv4.ip_forward=1 是否为必须?
mesh 在同网卡间内部流量转发,无需开启 ip_forward;
如在多网卡之间流量转发,需开启 ip_forward,开了才能转发。envoy就是代理转发,这个开关必须打开。Envoy:以sidecar的形式和应用程序运行与同一个pod中,通过修改iptables来代理应用程序的所有出入流量。要用iptables功能就得打开。
27: 如何导出应用配置和全局配置
导出应用配置时不能导出配置内容,设计如此。已提供API调用方法。 应用配置:https://cloud.tencent.com/document/product/649/38340 公共配置:https://cloud.tencent.com/document/product/649/38335
28: TSF应用添加日志级别,是否可以配置,如何配置
TSF无法配置应用日志级别,可以在应用程序配置里自行控制。
29: TSF有没有接口可以获取程序启动参数的?还有或许程序包、配置文件 、部署组、应用名等
部署组详情:https://cloud.tencent.com/document/product/649/36067 配置相关: 应用配置:https://cloud.tencent.com/document/product/649/38340 公共配置:https://cloud.tencent.com/document/product/649/38335
30: 请问TSF有接口可以调用获取应用服务的配置吗?
可以查询下这里的接口文档,tce中接口的调用和公有云是类似的,接口名是一样的,参考文档的就是,请求的yunapi域名可能会不一样,还有入参的地域也可能是不一样。
https://cloud.tencent.com/document/product/649/38334
31: TSF容器的环境变量在哪配置?容器启动失败的错误日志在哪?
在TSF侧配置不了环境变量,部署组环境变量不需要用户手动配置,在TSF控制台部署启动时已默认填好了;如果用户的业务应用启动需要传环境变量,需要在容器侧的deployment.yaml中自行配置
32: TSF 1.12.4 是否支持IPv6?
目前1.12.4版本暂时还不支持IPv6
33: tsf-redis故障会影响那些服务。
tsf-token(鉴权)会用到了redis,挂了的话 不影响 tsf-ratelimit也用到了,挂了会服务限流会失效。 tsf-mesh-mixs 用到redis,故障挂了会异常了。
34:TSF租户端创建的日志配置无法关联到微服务网关,怎么关联到微服务网关。
微服务网关创建后会自动关联日志配置项,如果解除绑定不能手动关联,需要重新创建微服务网关自动关联,但不创建微服务网关的情况下,也可以经过stdout配置项看日志输出。
35:tsf上我们遇到链接超时的问题, 之前是通过设置 istio 的外部链接时间来解决的,那现在如何在微服务上设置这个选项呢?
istio的yaml是动态配置,但是TSF框架配置不支持动态配置,所以不能设置超时时间,建议前端应用给后端不断发请求,保持心跳(keeplive),保持TCP长连接就不会断掉。
35:TSF 1.12.4 各C++模块按模块的依赖库、版本号清单,以及查看依赖库及版本号的方法
Make编译的可以找到所有Makefile,到Makefile里看依赖的各个lib的版本号 非Make编译的,像Bazel编译的可以到BUILD文件里去查看(可能依赖层级比较多)
36:tce哪个版本开始支持:TSF权限控制:控制用户 集群、程序包上传、部署、应用生产、发版等细分操作权限
从TCE360 可以细化 集群 命名空间 应用的权限!
37:程序包上传是否可以限定包的上传方式、路径等
目前只能在租户端上传
38:tsf日志检索日志配置项关联的部署组只有20个?
产品BUG,1.12.4之前是20个,1.12.4修复后没有上限
39:目前tce环境是否支持服务治理api接口调用
TCE环境可以通过云图查看相关接口,如果云图上没有接口信息,那就不支持或交付时没有配置。
40:程序包上传时 包大小限制时多少?
目前大部分版本程序包最大为256M,在上传界面有明显提示。
41:现在在tsf上我们遇到链接超时的问题, 之前是通过设置 istio 的外部链接时间来解决的,那现在如何在微服务上设置这个选项呢?
TSF界面上不能设置这个参数,微服务是在程序配置里设置超时时间,如果有mesh服务,是需要到istio里设置。
42:TSF的组件监控能如果组件异常了能告警出来么?
目前TSF自身组件还不支持异常告警,只能通过界面查看,TSF里的告警设置只针对客户业务日志和服务指标告警。
43: TSF组件tsf- ratelimit异常,目前已恢复。怎么查看异常日志?
TCE版 在tsf- ratelimit pod /var/log/tsf-oss/tsf-ratelimit/目录下查看
44:tsf 服务之间的访问,请求的源ip是什么ip?能获取到具体的pod ip吗?
目前微服务网关不支持记录源IP
45:为何微服务停止,在dashboard页面还会有请求量?
云监控是监控外部或者内部到这台机器的流量,服务治理里是服务之间调用,服务都停了,服务之间不能调用肯定是没日志的。但外部或者内部可能还有请求到这台机器上,然后云监控会有监控这个请求,会有数据