linux怎么查看本机内存大小
260
2022-10-29
第二章 九析带你轻松完爆服务网格 - istio 初探
系列文章:总目录索引:九析带你轻松完爆 istio 服务网格系列教程
目录
1 前言
2 istio 初探
2.1 手动注入 sidecar
2.2 自动注入 sidecar
1 前言
你可以从下面截图中获取免费的、更生动的视频资料,在 b 站搜索“九析”:
2 istio 初探
上节九析带你轻松完爆了 istio 的安装。但是我相信安装成功的小伙伴依然云里雾里,因为看着一大坨 pod 在那里 running 着,似乎并没有产生任何作用。这节,九析就带你“莫畏浮云遮望眼,守得云开见月明”。为了预期效果,我们不妨先建立一个 deployment,内容如下:
apiVersion: apps/v1kind: Deploymentmetadata: name: nginx labels: app: nginxspec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.14-alpine ports: - containerPort: 80
创建 deployment,当然为了让你能更深刻地记住哥,把哥印在灵魂深处,你需要首先创建一个命名空间:
kubectl create ns jiuxikubectl apply -f nginx-deployment.yaml -n jiuxi
命令执行成功后,查询 nginx pod 状态:
kubectl get pods -n jiuxi
下面到了激动人心的时刻了,因为 istio 即将闪亮登场。
2.1 手动注入 sidecar
执行如下语句:
kube-inject -f nginx-deployment.yaml | kubectl apply -n jiuxi -f -
此时你会发现一个奇怪的现象,nginx-deployment.yaml 并没修改,但是 ready 状态却变成了 2/2。根据上面的解释可知,现在 pod 内有两个容器,且这两个容器都运行成功并处于就绪状态。为什么多了一个容器呢?
查看 pod 的详细信息:
kubectl get pod -n jiuxi nginx-xxxx -o yaml # xxxx 根据自己实际情况填写
从上图可知。此时 nginx pod 内部一共有 3 个容器,一个初始化容器 istio-init 已经运行成功并结束了,一个就是 nginx 本尊,另外一个就是本文的主角 istio-proxy 了,它就是 sidecar,作用跟鸡你太美的经纪人的作用差不多,负责跟外部打交道用的。
此时此刻,你已经为 pod 手工织入了 istio。但是这样似乎有点不够爽。因为每建立一个 pod 都撸这么一管,感觉有点累,有没有批量或者更自然的方式呢?
2.2 命名空间注入 sidecar
现在我们删除掉刚才创建的 nginx:
kubectl delete deployments.apps nginx -n jiuxi
执行如下命令在命名空间内实现自动注入 sidecar:
kubectl label namespaces jiuxi istio-injection=enabledkubectl get ns jiuxi --show-labels # 查看 label 是否成功创建
再次根据 nginx-deployment.yaml 文件创建 nginx deployment:
kubectl apply -f nginx-deployment.yaml -n jiuxi
创建成功后查看 pod 信息,发现已经自动织入了 sidecar。
自此,本节九析带你轻松完爆了 istio 的手动和自动织入功能。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~