istio实现自动sidecar自动注入(k8s1.13.3+istio1.1.1)
一、自动注入的前提条件
-
自动注入功能需要kubernetes 1.9或更高版本;
-
kubernetes环境需支持MutatingAdmissionWebhook;
二、在namespace中设置自动注入,这样所有在该namespace的创建的pod都会自动注入sidecar代理
以default命名空间为例:
kubectl label namespace default istio-injection=enabled
在default里面创建一个deployment
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: nginx-app spec: replicas: 1 template: metadata: annotations: sidecar.istio.io/inject: "true" labels: app: nginx-app spec: containers: - name: nginx-app image: nginx imagePullPolicy: IfNotPresent ports: - containerPort: 80
[root@master test-yaml]# kubectl get po NAME READY STATUS RESTARTS AGE nfs-provisioner-6d58b69bf7-k7pq5 1/1 Running 3 10d nginx-app-576db66b4d-6vb8m 2/2 Running 0 11s
以上可知nginx的pod里面有两个容器,一个是nginx本身,另一个就是sidecar代理
kubectl describe po nginx-app-576db66b4d-6vb8m
如果不想让上面的nginx自动注入:只要:
sidecar.istio.io/inject: "true"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架