K8s Istio

概念

  • Istio:开源的服务网格

    核心功能包括:流量管理、安全、可观察性

  • 服务网格:

自动注入Sidecar

请注意,区别于手动注入,自动注入发生在 Pod 层面。您将看不到 Deployment 本身有任何更改。取而代之,需要检查单独的 Pod(使用 kubectl describe)来查询被注入的代理。

1
2
3
kubectl label namespace exxk-lab istio-injection=enabled --overwrite #为exxk-lab命名空间添加标签就会开启自动注入,该功能开启只对新部署的pod生效,旧的需要重启
kubectl get namespace -L istio-injection #查看那些空间开启了自动注入
kubectl label namespace exxk-lab istio-injection- #删除istio-injection标签,禁用命名空间的注入

问题

  1. 自动注入未生效

    检查集群->容器足->kube-apiserver*->进入容器控制台->执行kube-apiserver -h | grep enable-admission-plugins

    查看NamespaceLifecycle,LimitRanger是否启用

    1
    2
    #未启用执行下面启用命令,未实验
    kube-apiserver --enable-admission-plugins=NamespaceLifecycle,LimitRanger ...