背景
当前服务网格是单控制面多数据面的架构,如下所示:
相同命名空间下的流量,可以识别到7层的流量信息,不同命名空间下的流量,当前需要手动配置 sidecars.networking.istio.io
资源才能识别7层流量信息,默认是4层流量信息。
问题
服务网格产品的控制器运行在kubernetes中,那么有哪些组件以及如何确定运行状态?
方法
进入kubernetes集群后台,或者使用kubeconfig文件,使用kubectl命令获取信息
# kubectl get po -n servicemesh
NAME READY STATUS RESTARTS AGE
cert-manager-cainjector-5fb6f8944-t9xjp 1/1 Running 0 41h9m
cert-manager-67d4c88cf9-n298m 1/1 Running 0 41h9m
cert-manager-webhook-6cb88dd6b7-vrqfc 1/1 Running 0 41h9m
install-istio-all-crd-vw4m2 0/1 Completed 0 41h9m
install-cert-g224n 0/1 Completed 0 41h9m
gateway-api-admission-server-55bc5d7d76-sxp2j 1/1 Running 0 41h9m
kiali-6bd999cd9b-hjddm 1/1 Running 0 41h9m
istiod-65dcf97b99-rkgfd 1/1 Running 0 41h9m
grafana-7d5b57f4d4-gj6x7 1/1 Running 0 41h9m
cert-manager-istio-csr-79f468f957-bsdw9 1/1 Running 0 41h9m
registryhub-64569c6f5d-c7jkl 1/1 Running 0 41h9m
skywalking-ui-5c445d588c-t5trd 1/1 Running 0 41h9m
dubbo-controller-9846fbbc7-6zr7v 1/1 Running 0 41h9m
skywalking-oap-584b768f48-2mgkf 1/1 Running 1 41h9m
主要pod的作用描述如下:
cert-manager-*
:包括多个控制器,主要作用提供istio tls证书,包括客户端和CA等install-*
: 主要是job有关pod,主要作用安装CRD,以及配置预装一些CR,如 envoyfilter,telemetry等用于istio监控相关配置gateway-api-admission-server
:校验gw-api资源合法性的webhookkiali
:istio管理的web ui开源工具,方便可视化istiod
:核心istio控制器,包括pilot-discoveryregistryhub, dubbo-controller
:多注册中心控制器skywalking-*
:skywalking控制器,依赖elasticsearch服务,当配置错误 elasticsearch服务信息时,会crash