Istio 注入 Sidecar 的几种方式

2023年 5月 28日 38.8k 0

Istio 注入 Sidecar 的模板在 istio-sidecar-injector ConfigMap 中。通过 annotations 可以对 Sidecar 的各种参数进行自定义配置,比如 CPU 使用、proxyImage 等。下面主要整理的是 Sidecar 的注入方式。

1. 给命名空间添加标签 -> 整个命名空间生效

  • 注入标签
1
kubectl label namespace default istio-injection=enabled --overwrite

重启应用之后,会自动注入 Sidecar 容器。此时,访问流量将通过 envoy 转发至服务,查看响应头可验证。

  • 清理标签
1
kubectl label namespace default istio-injection-

2. 给 Pod 添加标签 -> 单个负载生效

  • 注入标签
1
kubectl patch deployments blog -p '{"spec":{"template":{"metadata":{"labels":{"sidecar.istio.io/inject":"true"}}}}}' --type merge

Pod 会自动重启。

  • 清理标签
1
kubectl patch deployments blog -p '{"spec":{"template":{"metadata":{"labels":{"sidecar.istio.io/inject":""}}}}}' --type merge

sidecar.istio.io/inject 为 false 含义是拒绝注入,因此这里需要设置为空。

3. istioctl kube-inject 注入 -> 指定的负载生效

  • dry-run 仅查看
1
istioctl kube-inject -f deployment.yaml -o deployment-injected.yaml

或者

1
kubectl get deployment blog -o yaml | istioctl kube-inject -f -
  • 新建负载注入
1
istioctl kube-inject -f deployment.yaml | kubectl apply -f -
  • 已存在的负载注入
1
kubectl get deployment blog -o yaml | istioctl kube-inject -f - | kubectl apply -f -

相关文章

KubeSphere 部署向量数据库 Milvus 实战指南
探索 Kubernetes 持久化存储之 Longhorn 初窥门径
征服 Docker 镜像访问限制!KubeSphere v3.4.1 成功部署全攻略
那些年在 Terraform 上吃到的糖和踩过的坑
无需 Kubernetes 测试 Kubernetes 网络实现
Kubernetes v1.31 中的移除和主要变更

发布评论